/* ######################################
* ## 1ST4 - Ch. Lauverjat ##
* ## Test du capteur ultrason ##
* ######################################
*/
// Bibliothèque de l'afficheur 7 segments
#include <TM1637Display.h>
// Déclaration des broches
#define pinTrig 2 // Capteur ultrason HC-SR04
#define pinEcho 3 // Capteur ultrason HC-SR04
#define pinClK 4 // Afficheur 7 segments TM1637
#define pinDio 5 // Afficheur 7 segments TM1637
// Déclaration de l'afficheur
TM1637Display display(pinClK, pinDio);
void setup() {
Serial.begin(115200); // Initialisation liaison série
pinMode(pinTrig, OUTPUT); // Broche Trig en sortie
pinMode(pinEcho, INPUT); // Broche Echo en entrée
display.setBrightness(0x0f); // Luminosité afficheur
display.clear(); // Effacer afficheur
}
void loop() {
// Mesure de distance
digitalWrite(pinTrig, LOW); // La broche TRIG doit être à LOW au repos
delayMicroseconds(2); // par sécurité...
digitalWrite(pinTrig, HIGH); // Signal TRIG
delayMicroseconds(10); // pendant 10 µs
digitalWrite(pinTrig, LOW); // Fin du signal
long mesure = pulseIn(pinEcho, HIGH); // On mesure le temps de l’ECHO
Serial.print("Duree : "); // Affichage du résultat
Serial.print(mesure); // sur le moniteur Série
Serial.print(" microsecondes");
float distance = mesure * 344.0 * 100 / 1000000 / 2;
Serial.print(" - Distance : ");
Serial.print(distance); // sur le moniteur Série
Serial.println(" cm");
// Indication de la mesure sur l'afficheur 7 segments
display.showNumberDecEx(distance*100,0b11100000,false);
delay(100); // Une mesure toutes les 0,1 seconde (environ)
}