Un système de détection d'obstacles est une technologie conçue pour identifier et localiser des objets ou des obstacles dans un environnement donné. Ces systèmes sont couramment utilisés dans divers domaines tels que l'automobile, la robotique, la surveillance, les drones, etc.
Le système de détection d'obstacles basé sur le HC-SR04, écran SSD1306 et Arduino UNO fonctionne en utilisant un capteur ultrasonique pour mesurer la distance entre le capteur et un obstacle, puis en affichant cette distance sur un écran SSD1306. Voici le principe de fonctionnement étape par étape :
1- Capteur Ultrasonique HC-SR04 :
Le HC-SR04 utilise des ondes ultrasoniques pour mesurer la distance. Il a deux transducteurs, l'un pour émettre les ondes ultrasoniques (trigPin), et l'autre pour recevoir les ondes réfléchies (echoPin).
Lorsque vous activez le trigPin, le capteur émet une impulsion ultrasonique.
2- Emission et Réception des Ondes Ultrasoniques :
L'impulsion ultrasonique se propage dans l'air et rebondit sur un obstacle.
Le capteur ultrasonique mesure le temps écoulé entre l'émission et la réception de l'onde ultrasonique réfléchie.
3- Calcul de la Distance :
La durée mesurée est convertie en distance en utilisant la formule de la vitesse du son dans l'air (environ 343 m/s à 20°C).
La formule utilisée dans le code (distance = duration * 0.034 / 2) est basée sur le fait que la durée est en microsecondes, et la division par 2 est nécessaire car la distance aller-retour doit être considérée.
4- Détection d'Obstacles :
Une condition est utilisée pour vérifier si la distance mesurée est inférieure à une valeur seuil (4 cm dans notre système).
Si la distance est inférieure à cette valeur, le système affiche "Obstacle détecté" sur l'écran SSD1306, la LED est allumée pour signaler visuellement la présence de l'obstacle, et le buzzer émet un son d'avertissement..
Arduino UNO :
La carte Arduino UNO est l'une des cartes de développement les plus populaires et largement utilisées dans le domaine de l'électronique et de la programmation. Elle est basée sur un microcontrôleur ATmega328P et offre un ensemble de broches d'entrée/sortie numériques et analogiques ainsi que diverses fonctionnalités pour créer des projets électroniques interactifs.
La carte Arduino servira de cerveau pour contrôler et interagir avec les différents composants.
Capteur HC-SR04 :
Le capteur ultrason HC-SR04 est un dispositif électronique utilisé pour mesurer la distance entre le capteur et un objet en utilisant des ondes ultrasonores.
Afficheur SSD1306 :
Le SSD1306 est un contrôleur de pilote d'écran qui est couramment utilisé pour les écrans OLED. Il permet de gérer l'affichage des pixels sur des écrans OLED monochromes.
Il est utilisé pour afficher la distance entre le capteur ultrason HC-SR04 et un objet détecté.
Buzzer
Un buzzer est un composant électronique qui produit un son lorsqu'il est alimenté en courant électrique. Il est souvent utilisé pour émettre des signaux sonores dans divers dispositifs électroniques.
L'intégration d'un buzzer dans un système de détection d'obstacles permet d'ajouter un avertissement sonore lorsqu'un obstacle est détecté.
LED
L'utilisation d'une LED dans un système de détection d'obstacles peut fournir un indicateur visuel lorsque le capteur détecte la proximité d'un objet.
Résistance
Lorsque vous utilisez une LED dans un circuit, il est généralement nécessaire d'ajouter une résistance en série avec la LED pour limiter le courant qui la traverse. Cela protège la LED et évite qu'elle ne soit endommagée en raison d'un courant excessif.
Fils de connexion :
Pour établir les connexions physiques entre la carte Arduino UNO, le capteur HC-SR04 et l'afficheur SSD1306. Assurez-vous d'avoir des fils de bonne qualité pour des connexions stables.
Plaque d'essai (Breadboard) :
On utilise le plaque d'essai pour faciliter le câblage des différents composants.
Détail des connexions :
Pour le Capteur HC-SR04 :
Connecter la broche VCC du capteur HC-SR04 à la broche 3.3V de la carte Arduino UNO.
Connecter la broche GND du capteur HC-SR04 à la broche GND de la carte Arduino UNO.
Connecter la broche Trig du capteur HC-SR04 à la broche numérique N°2 de la carte Arduino UNO.
Connecter la broche Echo du capteur HC-SR04 à la broche numérique N°3 de la carte Arduino UNO.
Pour l'afficheur SSD1306 :
Connecter la broche VCC de l'afficheur à 5V de la carte Arduino UNO
Connecter la broche GND de l'afficheur à GND de la carte Arduino UNO
Connecter la broche SDA de l'afficheur à la broche analogique A4 de la carte Arduino UNO
Connecter la broche SCL de l'afficheur à la broche analogique A5 de la carte Arduino UNO
Pour le buzzer
Connecter la borne (+) du buzzer à la broche numérique N°4 de la carte Arduino UNO.
Connecter la borne (-) du buzzer à la broche GND de la carte Arduino UNO.
Pour la LED
Connectez une résistance en série avec la LED: La résistance est connectée entre la broche numérique N°5 et la borne positive (anode) de la LED.
Connectez la borne négative (cathode) de chaque LED à la masse (GND) de la carte Arduino UNO.
1- Importer la bibliothèque Adafruit_SSD1306 dédiée à l'écran SSD1306
2- Importer la bibliothèque Ultrasonic dédiées au capteur ultrason HC-SR04
3- Écrire ce programme:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
#include "Ultrasonic.h" #include <Adafruit_SSD1306.h> //OLED define #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels // Declaration for an SSD1306 display connected to I2C (SDA, SCL pins) Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); Ultrasonic ultrasonic(2, 3); // Trig et Echo int buzzer_pin = 4; int redled_pin = 5; void setup() { Serial.begin(9600); pinMode(buzzer_pin, OUTPUT); pinMode(redled_pin, OUTPUT); //For OLED I2C if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { // Address 0x3D for 128x64 Serial.println(F("SSD1306 allocation failed")); for(;;); } display.display(); //Display logo delay(1000); display.clearDisplay(); } void loop () { display.clearDisplay(); int distance = ultrasonic.Ranging(CM); Serial.print("distance= "); Serial.print(distance); Serial.println(" cm"); // Si le capteur HC-SR04 detecte un obstacle if (distance < 4) { // sonner le buzzer digitalWrite(buzzer_pin, HIGH); // allumer LED rouge digitalWrite(redled_pin, HIGH); display.setTextSize(2); display.setTextColor(WHITE); // afficher un message d'alerte sur l'afficheur SSD1306 display.setCursor(0, 0); display.print("Attention!"); display.setCursor(0, 28); display.print("Obstacle detected"); display.display(); } else { // effacer l'afficheur SSD1306 display.clearDisplay(); display.display(); // arreter le buzzer digitalWrite(buzzer_pin, LOW); // eteindre LED rouge digitalWrite(redled_pin, LOW); } delay(100); } |
Ce code mesure la distance avec le capteur ultrasonique, affiche "obstacle detecte" sur l'écran SSD1306, allume la LED et active le buzzer si un obstacle est détecté à moins de 4 cm.
I've been exploring for a bit for any high quality articles or weblog posts on this kind of area . Exploring in Yahoo I eventually stumbled upon this web site. Reading this information So i'm satisfied to show that I have an incredibly just right uncanny feeling I discovered just what I needed. I such a lot indubitably will make sure to don?t put out of your mind this site and provides it a glance on a continuing basis.
Greetings from California! I'm bored to death at work so I decided to browse your site on my iphone during lunch break. I love the knowledge you provide here and can't wait to take a look when I get home. I'm amazed at how fast your blog loaded on my cell phone .. I'm not even using WIFI, just 3G .. Anyways, great site!
La robotique éducative joue un rôle important dans l'éducation des enfants et des jeunes en les aidant à acquérir des compétences en science et technologie.
Dans ce cadre notre site web représente une excellente ressource pour les parents, les enseignants et les enfants qui souhaitent découvrir la robotique.
Zaouiet Kontech-Jemmel-Monastir-Tunisie
+216 92 886 231
medaliprof@gmail.com
Site robotique réalisé par Mohamed Ali-Prof Info