TP2
TP2
TP2
TP 2
Arduino Uno : Généralités et GPIO
Prénom/Nom :
Groupe de TD :
Arduino UNO est une carte de développement vous permettant de développer des applications sur
micro-controleur ATMéga 328.
Voici le schéma donnant les correspondances des pins (et ports) de l’ATMéga 328 et des ports I/O de
la carte :
1) Questions préliminaires :
Présentez sous forme de tableau les correspondances entre les numéros de broches du
GPIO de la carte Arduino UNO, les ports et les numéros de pins de l’ATMéga 328.
Le Framework Arduino que l’on appelle un peu abusivement le « langage Arduino » est
une simple bibliothèque écrite en C/C++ qui va proposer un ensemble d’objet et de fonction
destinées à faciliter le développement des applications.
Utiliser ce Framework facilite les développements mais nous verrons qu’il consomme plus
de mémoire et de temps processeur et qu’il n’est donc pas indiquer pour toutes les
applications destinées à répondre le plus possible en « temps immédiat ».
Ouvrez un nouveau sketch et tapez vous-même l’exemple suivant (copy/paste est une
TRES MAUVAISE habitude).
int outPin = 13 ;
void setup() {
pinMode(outPin, OUTPUT);
}
void loop() {
digitalWrite(outPin, HIGH);
delay(1000);
digitalWrite(outPin, LOW);
delay(1000);
}
b) Manipulations
Compilez le programme.
(pour vous aider à répondre aux questions :
https://www.locoduino.org/spip.php?article92
Et recherche sur internet )
Sur quelle machine est faite la compilation ? A destination de quelle machine est faite
la compilation ? Pourquoi parle-t-on de cross-compilation ?
Pourquoi la première compilation est toujours plus longue que les compilations
suivantes ?
c) Téléversez le programme
Branchez la carte Arduino, vérifiez qu’elle est bien reconnue (IDE Arduino : outils/type
de carte) et que le port de communication est bien sélectionné (IDE Arduino :
outils/port).
Une fois le programme téléversé, décrivez ce que vous voyez. En quoi cela traduit
bien le programme que vous avez écrit ?
d) Modifiez le programme :
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
}
Téléversez observer que l’on a bien exactement la même chose entre ce programme
et le précédent.
Votre code :
void setup() {
// écrivez votre code ici
void loop() {
// écrivez votre code ici