![]() |
Dernière révision : mars 2025 |
![]() |
![]() |
![]() |
![]() |
![]() | ![]() |
Sommaire Introduction L’électronique et l’informatique ont profondément modifié notre société. C’est certainement la révolution industrielle la plus rapide de l’histoire de l’humanité. Aujourd'hui, les systèmes embarqués sont omniprésents dans notre vie quotidienne et nous emmènent vers un monde de plus en plus connecté, avec ses avantages et ses inconvénients... L’auteur ne pourra en aucun cas être tenu responsable des dommages qui résulteraient de l’utilisation des informations publiées sur ce site, sous licence Creative Commons BY-NC-SA. Toute reproduction ou modification d'un document, même partielle, est autorisée à condition que son origine et le nom de l'auteur soient clairement indiqués (BY), qu'il soit utilisé à des fins non commerciales (NC), que son mode de diffusion soit identique au document initial (SA), et que cela ne porte pas atteinte à l’auteur. Ce document présente un projet utilisant une carte Arduino, en espérant toujours être le plus clair et précis possible. Malgré tout le soin apporté à la rédaction, l'auteur vous remercie de bien vouloir le contacter si vous relevez la moindre erreur ou omission, et vous souhaite une agréable lecture. Objectif Mesurer une distance (2 à 400 cm) avec un module ultrasons (40 kHz) HC-SR04, afficher cette distance sur 4 afficheurs 7 segments (module TM1637). Niveau ![]() Matériel utilisé
Programme (sketch) // mesurer une distance (2 à 400 cm) avec un module ultrasons (40 kHz) HC-SR04, // afficher cette distance sur 4 afficheurs 7 segments (module TM1637) #include <TM1637Display.h> #define CLK 2 #define DIO 3 #define trigger 4 #define echo 5 #define timeout 23256 // vitesse du son = 344 m/s -> 23256 µs pour parcourir 8 m TM1637Display aff7seg(CLK,DIO); void delayMilliseconds(unsigned temps) { unsigned i=0; while (i<temps) { yield(); delayMicroseconds(1000); i++; } } void setup() { pinMode(trigger,OUTPUT); pinMode(echo,INPUT); aff7seg.setBrightness(3); // 0 à 7 aff7seg.clear(); } void loop() { unsigned long mesure,distance; digitalWrite(trigger,HIGH); delayMicroseconds(10); digitalWrite(trigger,LOW); mesure=pulseIn(echo,HIGH,timeout); // mesurer le temps (µs) d'une impulsion haute (du front montant au front descendant) // distance A/R (cm) / mesure (µs) = 34400 (cm) / 1000000 (µS) // distance A/R (cm) = 34400 (cm) x mesure (µs) / 1000000 (µs) // distance A/R (cm) = 344 (cm) x mesure (µs) / 10000 (µs) // distance (cm) = 344 (cm) x mesure (µs) / 20000 (µs) distance=(344*mesure)/20000; aff7seg.showNumberDec(distance); delayMilliseconds(1000); } |
Haut de page |
![]() |
![]() |
![]() |