Radar de recul avec TZT affichage Radar de recul 0.36 et HC SR04 piloter par arduino
Description :
Ce projet consiste à concevoir un radar de recul électronique utilisant un capteur à ultrasons HC-SR04, un afficheur TZT 0.36″ et une carte Arduino comme unité de contrôle.
Le système permet de mesurer la distance entre le HC-SR04 et un obstacle, puis d’afficher cette distance en temps réel sur l’écran numérique.
Prérequis :
- 1 x Carte Arduino Uno
- 1 x TZT affichage Radar de recul 0.36
- 7 x Résistances 330Ω
- 1 x HC-SR04 capteur à Ultrason
- Fils de connexion
- 1 x Breadboard
Version IDE :
- Arduino IDE 2.3.5
Vidéo de démonstration :
Schéma de câblage :


Code :
// La broche numérique 9 est reliée à trig HC-SR04. On lui donne le nom trigPin.
int trigPin = 13;
// La broche numérique 8 est reliée à echo HC-SR04. On lui donne le nom echoPin.
int echoPin = 12;
// Déclaration variable duration qui va servir à stocker une valeur au format long.
long duration;
// Déclaration variable distance qui va servir à stocker une valeur au format float.
float distance;
// Déclaration variable distancemap qui va servir à stocker une valeur au format int.
int distancemap;
void setup() {
// Déclaration des sorties
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
//Boucle for pour éteindre toutes les sorties entre 2 et 8.
for (int t = 2; t < 9; t++) {
digitalWrite(t, HIGH);
}
// Définit trigPin comme sortie.
pinMode(trigPin, OUTPUT);
// Définit echoPin comme entrée.
pinMode(echoPin, INPUT);
}
void loop() {
// Debut de la mesure avec un signal de 10 µS applique sur trigPin //
digitalWrite(trigPin, LOW); // On efface l'etat logique de trigPin
delayMicroseconds(2);
// 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;
//Contraindre la distance entre 4 et 12 cm
distance = constrain(distance, 4, 16);
//La fonction suivante va remapper la distance de 4 à 12 en 2 à 8
distancemap = map(distance, 4, 16, 2, 8);
//Boucle for pour éteindre toutes les sorties entre 2 et 8.
for (int t = 2; t < 9; t++) {
digitalWrite(t, HIGH);
}
//Boucle for pour allumer les Leds ciblées.
for (int t = 8; t >= distancemap; t--) {
digitalWrite(t, LOW);
}
delay(100);
}
