Initiation Arduino⚓
Blink
Câbler les composants, LED, Résistance, Carte Arduino en suivant le schéma de câblage ci-dessous :
A l'aide du logiciel Arduino IDE saisir le programme suivant :
1
// C++ code
2
//
3
4
5
// SETUP : EXECUTER UNE FOIS AU DEBUT
6
//
7
8
void setup()
9
{
10
pinMode(3, OUTPUT); // Broche 3 en sortie
11
}
12
13
// LOOP BOUCLE INFINIE
14
void loop()
15
{
16
digitalWrite(3, HIGH); // Broche 3 a l'etat Haut (5V)
17
delay(1000); // Wait for 1000 millisecond(s)
18
digitalWrite(3, LOW); // Broche 3 a l'etat Bas (0V)
19
delay(1000); // Wait for 1000 millisecond(s)
Paramétrer le logiciel en indiquant le type de la carte : Arduino UNO.
Brancher la carte en USB et sélectionner le bon port COM de l'arduino.
Compiler et téléverser votre programme
Que constate-t-on ? Que signifie Blink ?
Changer le programme pour que LED clignote toute les 200ms
Ajouter une seconde LED au montage, et mettre à jour le programme pour qu'elles clignotent en même temps.
Pour aller plus loin : Avertisseur de recul
Câbler le montage suivant : Capteur de distance à ultrasons et le buzzer :
1
// Broche Echo du HC-SR04 sur D7
2
// Broche Trigger du HC-SR04 sur D8
3
// Definition des variables
4
int MesureMaxi = 300; // Distance maxi a mesurer
5
int MesureMini = 3; // Distance mini a mesurer
6
long Duree;
7
long Distance=300;
8
void setup() {
9
pinMode(11, OUTPUT);
10
11
pinMode(Broche_Trigger, OUTPUT); // Broche Trigger en sortie //
12
pinMode(Broche_Echo, INPUT); // Broche Echo en entree //
13
Serial.begin(115200);
14
}
15
void loop() {
16
tone (11, 200); // allume le buzzer actif arduino
17
delay(100);
18
noTone(11);
19
delay(Distance*3);
20
// Debut de la mesure avec un signal de 10 μS applique sur TRIG //
21
digitalWrite(Broche_Trigger, LOW); // On efface l'etat logique de TRIG //
22
delayMicroseconds(2);
23
digitalWrite(Broche_Trigger, HIGH); // On met la broche TRIG a "1" pendant 10μS //
24
delayMicroseconds(10);
25
digitalWrite(Broche_Trigger, LOW); // On remet la broche TRIG a "0" //
26
// On mesure combien de temps le niveau logique haut est actif sur ECHO //
27
Duree = pulseIn(Broche_Echo, HIGH);
28
// Calcul de la distance grace au temps mesure //
29
Distance = Duree * 0.034 / 2; // *** voir explications apres l'exemple de code *** //
30
// Verification si valeur mesuree dans la plage //
31
if (Distance >= MesureMaxi || Distance <= MesureMini) {
32
// Si la distance est hors plage, on affiche un message d'erreur //
33
Serial.println("Distance de mesure en dehors de la plage (3 cm à 3 m)");
34
} else {
35
// Affichage dans le moniteur serie de la distance mesuree //
36
Serial.print("Distance mesuree :");
37
Serial.print(Distance);
38
Serial.println("cm");
39
}
40
}