// Inclure le code de la bibliothèque: #include "SevSeg.h" SevSeg myDisplay; // La broche Analogique A0 est reliée à trig HC-SR04. On lui donne le nom trigPin. const int trigPin = A0; // La broche Analogique A1 est reliée à echo HC-SR04. On lui donne le nom echoPin. const int echoPin = A1; // 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 int. int distance; // Déclaration d'un tableau Affvaleurs qui va servir à stocker des valeurs au format char. char Affvaleurs[4];
void setup() { //Défini si votre afficheur à Segments est soit à cathode commune, soit à anode commune int displayType = COMMON_CATHODE; // Déclare quelles broches sont connectées aux chiffres. int digit1 = 2; int digit2 = 3; int digit3 = 4; int digit4 = 5; // Déclare quelles broches sont connectées aux segments. int segA = 6; int segB = 7; int segC = 8; int segD = 9; int segE = 10; int segF = 11; int segG = 12; int segDP = 13; // Défini la taille de l'affichage 1, 2 ou 4 chiffres. int numberOfDigits = 4; myDisplay.Begin(displayType, numberOfDigits, digit1, digit2, digit3, digit4, segA, segB, segC, segD, segE, segF, segG, segDP); // Régle l'affichage sur un niveau de luminosité de 100 % myDisplay.SetBrightness(100); // Définit trigPin comme sortie pinMode(trigPin, OUTPUT); // Définit echoPin comme entrée. pinMode(echoPin, INPUT); }
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 > 16 on exécute les actions entre {} if (distance > 16 ) { // Imprime ---- sur afficheur à Segments. myDisplay.DisplayString("----", 0); } // Sinon on exécute les actions entre {} else { //Convertie la valeur de la variable distance en chaîne de caractère et la stock dans le tableau Affvaleurs sprintf(Affvaleurs, "%04d", distance); // Imprime les valeurs du tableau Affvaleurs sur afficheur à Segments. myDisplay.DisplayString(Affvaleurs, 0); } }