TP2 1 PDF
TP2 1 PDF
TP2 1 PDF
TP2
1. Communication Série : Affichage d’un message sur la console
Montage : insérer uniquement la carte Arduino
Programme :
void setup()
{Serial.begin(9600); } Initialiser la communication a un débit de 9600
void loop()
{ Serial.println("hello isetZG") Ecrire un message Texte sur la console
}
Exécution :
Pour afficher le message il faut cliquer sur « moniteur série » en bas de la zone de code
p. 1
ATELIER SYSTEMES EMBARQUES TI
Carte Arduino, plaque a essai, LED, Résistance 250 Ohm, Interrupteur à glissière
Programme :
void setup()
{
pinMode(4,OUTPUT); Pin 4 en mode Sortie
pinMode(8,INPUT); Pin 8 en Mode Entrée (lecture de l’état de
} l’interrupteur)
void loop()
{ Test sur l’état de l’interrupteur
if (digitalRead(8)==HIGH)
digitalWrite(4,HIGH);
else
digitalWrite(4,LOW);
}
p. 2
ATELIER SYSTEMES EMBARQUES TI
Programme :
void setup()
{
pinMode(3, OUTPUT);
}
void loop()
{
tone(3,1000); Activer le buzzer sur la Pin 3 avec une fréquence 1000
delay(500); pendant 500ms
noTone(3); Arrêt de la tonalité pendant 500ms
delay(500);
}
p. 3
ATELIER SYSTEMES EMBARQUES TI
Carte Arduino, Pavé numérique 4x4 (Pin 9 de la carte correspond à la Pin 1 du clavier et la Pin 2 de la
carte Correspond à la Pin 8 du clavier)
p. 4
ATELIER SYSTEMES EMBARQUES TI
void setup(){
Serial.begin(9600);
}
void loop(){
char key = Clavier.getKey(); Lecture de la touche tapée
Programme 2 : Lecture d’une chaine de caractère qui termine par « # » et affichage sur Console
void setup(){
Serial.begin(9600);
txt.reserve(20); Réserve 20 caractères à la chaine de caractère
}
void loop(){
char key = Clavier.getKey();
if (key != NO_KEY){
Serial.println(key);
if (key!='#') Si le caractère lu est <> # alors je l’ajoute à la
txt=txt+key; variable txt si non alors j’affiche la chaine de
else caractère txt et j’efface son contenu.
{Serial.println(txt);
txt="";
}
}
}
p. 5
ATELIER SYSTEMES EMBARQUES TI
Programme :
void loop()
{
pinMode(4, OUTPUT);
digitalWrite(4, LOW); Initialisation de la Pin 4 en bas pendant 2µs,
delayMicroseconds(2); ensuite en haut pendant 10µs
digitalWrite(4, HIGH);
delayMicroseconds(10);
digitalWrite(4, LOW); Remettre la Pin 4 en bas
pinMode(4, INPUT); Configurer en entrée pour lire la valeur de la
distance en pouce
Distance=0.01723 *pulseIn(4,HIGH); Lire la distance et la convertir en Cm
Serial.println(Distance);
}
p. 6
ATELIER SYSTEMES EMBARQUES TI
Puisque la partie initialisation et lecture se répète chaque fois alors on utilise une fonction qui
permet de faire tout le travail ainsi le programme devient :
long Distance=0;
long MesureDistance(int Pin) Création fonction d’initialisation et
{ lecture de la distance
pinMode(Pin, OUTPUT); // Clear the trigger
digitalWrite(Pin, LOW);
delayMicroseconds(2);
digitalWrite(Pin, HIGH);
delayMicroseconds(10);
digitalWrite(Pin, LOW);
pinMode(Pin, INPUT);
return pulseIn(4,HIGH);
}
void setup()
{
Serial.begin(9600);
}
void loop()
{
Distance=0.01723 * MesureDistance(4); Appel de la fonction et conversion en CM
Serial.println(Distance);
}
Exécution :
Afficher le moniteur série, cliquer sur le capteur avec la souris déplacer le cercle bleu dans la zone de
mesure de distance
p. 7
ATELIER SYSTEMES EMBARQUES TI
EXERCICES
Exercice 1 : Feu de croisement avec Mode jour/nuit
Mode Jour :
- Si la distance est <=70cm alors une lampe rouge s’allume avec un signal sonore
- Si la distance est entre 71 et 150 Cm une lampe orangée s’allume
- Si la distance est entre 151 et 250 une lampe verte s’allume
- Si la distance est >250 aucune lampe ne s’allume
p. 8