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
#define Broche_Echo 7     // Broche Echo du HC-SR04 sur D7 
2
#define Broche_Trigger 8  // 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
}