|

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

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);

}

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *