Introduction
Dans cet article, nous allons vous guider à travers la création d’un détecteur de vitesse de voiture avec Arduino. Imaginez pouvoir surveiller la vitesse des véhicules sans intervention humaine. Grâce à l’utilisation de capteurs infrarouges et d’une carte Arduino, vous serez en mesure de mesurer et d’afficher automatiquement la vitesse des voitures en mouvement. Ce projet passionnant vous permettra de comprendre le fonctionnement des capteurs infrarouges et de créer votre propre système de détection de vitesse. Préparez-vous à explorer le monde de l’automatisation et à promouvoir la sécurité routière avec ce projet fascinant.
Principe du projet
Le projet repose sur l’utilisation de capteurs infrarouges (IR) pour détecter la vitesse d’une voiture. Dans notre cas, nous utilisons deux capteurs infrarouges de type réfléchissant que nous plaçons à une distance de 7,5 cm l’un de l’autre. Lorsqu’une voiture atteint le premier capteur, celui-ci est activé. À partir de ce moment, un chronomètre est lancé et continue à compter jusqu’à ce que la voiture atteigne le deuxième capteur.
En supposant que la distance entre les deux capteurs soit de 7,5 cm, nous pouvons calculer la vitesse à laquelle la voiture a parcouru cette distance en connaissant le temps de trajet. Toutes les calculs et la collecte de données sont effectués par l’Arduino, et le résultat final est affiché sur un écran LCD 16×2.
Composants nécessaires
- Arduino UNO
- 2 capteurs infrarouges (IR)
- Écran LCD 16×2 avec module I2C
- Breadboard
- Fils de connexion
- Alimentation électrique
Comprendre le capteur infrarouge (IR)
Les capteurs infrarouges sont les principaux composants de ce projet. Dans notre cas, nous utilisons des capteurs infrarouges numériques qui se composent d’un émetteur infrarouge (LED IR), d’un récepteur infrarouge (photodiode), d’un circuit intégré comparateur et de quelques composants de support. L’émetteur et le récepteur infrarouges sont placés côte à côte pour former un capteur infrarouge de type réfléchissant.
Dans ce type de capteur, l’émetteur infrarouge émet continuellement des radiations infrarouges. Si aucun objet ne se trouve devant le capteur, aucune de ces radiations infrarouges ne se reflète vers le récepteur infrarouge. Cependant, si un objet se trouve devant le capteur, une partie des radiations infrarouges touche l’objet et se réfléchit. Cette radiation réfléchie atteint le récepteur infrarouge, ce qui signifie que le capteur a détecté l’objet.
Certains capteurs IR produisent une sortie analogique en fonction de la quantité de radiation réfléchie, tandis que d’autres produisent une sortie numérique (0 ou 1) pour indiquer la présence ou l’absence d’un objet.
Montage du circuit
Avant de téléverser le code sur l’Arduino, vous devez connecter correctement les composants comme indiqué ci-dessous :
- Connectez l’émetteur infrarouge du premier capteur IR à la broche A0 de l’Arduino.
- Connectez le récepteur infrarouge du premier capteur IR à la broche A3 de l’Arduino.
- Connectez l’émetteur infrarouge du deuxième capteur IR à la broche 9 de l’Arduino.
- Connectez le récepteur infrarouge du deuxième capteur IR à la broche 10 de l’Arduino.
- Connectez l’écran LCD 16×2 avec le module I2C à l’Arduino en utilisant les broches SDA (Données) et SCL (Horloge).
- Alimentez l’Arduino à l’aide d’une alimentation externe ou par le port USB de votre ordinateur.
Code Arduino
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2); // Adresse I2C de l'écran LCD
int sen1 = A0;
int sen2 = A3;
int ledPin = 9;
unsigned long t1 = 0;
unsigned long t2 = 0;
float velocity;
float velocity_real;
float timeFirst;
float timeScnd;
float diff;
float speedConst = 7.5; // en cm
void setup() {
Serial.begin(9600);
pinMode(sen1, INPUT);
pinMode(sen2, INPUT);
pinMode(ledPin, OUTPUT);
lcd.begin(16, 2); // Initialisation de l'écran LCD
lcd.backlight();
lcd.print("Car Speed Detector");
lcd.setCursor(0, 1);
lcd.print("by Your Name");
delay(2000);
lcd.clear();
}
void loop() {
if (analogRead(sen1) < 500 && analogRead(sen2) > 500) {
timeFirst = millis();
digitalWrite(ledPin, LOW);
delay(30);
}
if (analogRead(sen2) > 500 && analogRead(sen1) < 500) {
timeScnd = millis();
diff = timeScnd - timeFirst;
velocity = speedConst / diff;
velocity_real = (velocity * 360) / 100; // conversion de millisecondes en heures et de centimètres en kilomètres
delay(30);
digitalWrite(ledPin, HIGH);
lcd.setCursor(0, 0);
lcd.print("Vitesse :");
lcd.setCursor(0, 1);
lcd.print(velocity_real);
lcd.print(" km/h");
Serial.print("La vitesse est de : ");
Serial.print(velocity_real);
Serial.println(" km/h");
delay(500);
digitalWrite(ledPin, LOW);
lcd.clear();
delay(500);
}
}
Téléversez le code sur votre Arduino à l’aide de l’environnement Arduino IDE. Assurez-vous d’avoir sélectionné la carte Arduino UNO et le bon port série avant de téléverser.
Fonctionnement du code
Le code commence par inclure les bibliothèques nécessaires pour la communication avec l’écran LCD via I2C. Ensuite, les broches utilisées par les capteurs IR, la broche de la LED et les variables nécessaires sont déclarées. La vitesse de déplacement est calculée en mesurant la différence de temps entre la détection du premier capteur IR et la détection du deuxième capteur IR. Cette vitesse est ensuite convertie en kilomètres par heure (km/h) et affichée sur l’écran LCD et la console série.
L’écran LCD est également initialisé dans la fonction setup()
. Le texte d’introduction est affiché pendant quelques secondes, puis effacé avant de passer à la boucle principale loop()
. Lorsque la voiture est détectée par les capteurs IR, la vitesse est calculée et affichée sur l’écran LCD.
Conclusion
Félicitations ! Vous avez maintenant construit votre propre détecteur de vitesse de voiture à l’aide d’Arduino. Ce projet utilise des capteurs infrarouges pour détecter la vitesse d’une voiture et affiche les résultats sur un écran LCD. Vous pouvez l’installer à un endroit fixe, comme près d’une route, pour surveiller la vitesse des véhicules. N’hésitez pas à personnaliser le projet en ajoutant des fonctionnalités supplémentaires, telles que des alarmes sonores pour les excès de vitesse. Amusez-vous bien et conduisez en toute sécurité !
Pour plus d’article : https://www.moussasoft.com/tutoriels-electroniques
Twitter: Moussa Lhoussaine (@Moussasoft_com) / Twitter
Arduino speed detector | Arduino Project Hub
Vidéo tutoriel