// inclure le code de la bibliothèque: #include <LiquidCrystal.h>
// initialiser la bibliothèque avec les numéros des broches de l'interface LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
// La broche numérique 9 est reliée à trig HC-SR04. On lui donne le nom trigPin. int trigPin = 9; // La broche numérique 8 est reliée à echo HC-SR04. On lui donne le nom echoPin. int echoPin = 8; // Déclaration variable duration qui va servir à stocker une valeur au format float. float duration; // Déclaration variable distance qui va servir à stocker une valeur au format float. float distance;
void setup() { // Définit trigPin comme sortie. pinMode(trigPin, OUTPUT); // Définit echoPin comme entrée. pinMode(echoPin, INPUT); // configurez le nombre de colonnes et de lignes de l'écran LCD : lcd.begin(16, 2); // Imprime un message sur l'écran LCD. lcd.print ("Distance :"); }
void loop() { // Met la broche numérique trigPin sur ON digitalWrite(trigPin, HIGH); // On attend 10 millisecondes delayMicroseconds(10); // Met la broche numérique trigPin sur OFF digitalWrite(trigPin, LOW); // On lit le temps d'impulsion sur echoPin et on stock la valeur dans la variable duration duration = pulseIn(echoPin, HIGH); // On calcule la distance par rapport à la durée de l'impulsion // Puis on stocke la valeur dans la variable distance distance = duration * 0.034 / 2; // Si distance <= 50 cm on exécute les actions entre {} if (distance <= 50) { // placer le curseur sur la colonne 0, ligne 1 // (note : la ligne 0 est la première ligne, puisque le comptage commence par 0): lcd.setCursor(0, 1); // Imprime des espaces pour effacer ancienne valeur. lcd.print(" "); // placer le curseur sur la colonne 0, ligne 1 // (note : la ligne 0 est la première ligne, puisque le comptage commence par 0): lcd.setCursor(0, 1); // Imprime la distance qui est stockée dans distance lcd.print (distance); // Imprime un message lcd.print (" cm"); } // Sinon on exécute les actions entre {} else { // ETC ... lcd.setCursor(0, 1); lcd.print("Hors portee"); } // Attend 500 millisecondes. delay(500); }