Le but de ce projet est de mesurer la distance entre le capteur ultrason HC-SR04 et un objet détecté et l'afficher sur l'écran SSD1306.
Voici quelques objectifs courants pour ce projet :
Projet éducatif : En tant que projet pédagogique, le système peut être utilisé pour enseigner les concepts de base de la programmation, de l'électronique et de la mesure de distance avec des capteurs.
Automatisation et contrôle : Permettre à un système de contrôler automatiquement des dispositifs en fonction de la distance mesurée. Par exemple, activer un dispositif lorsque la distance à un objet spécifique est inférieure à une valeur prédéfinie.
Prévention des collisions : Utiliser le système pour détecter la proximité d'objets et ainsi éviter les collisions. Cela peut être appliqué à des robots, des véhicules autonomes, des drones, etc.
Systèmes d'alarme : Mettre en place un système d'alarme qui avertit lorsqu'un objet ou une personne s'approche à une distance critique. Cela peut être utile pour la sécurité périmétrique.
Surveillance de l'espace physique : Surveiller l'occupation d'un espace ou la présence de personnes dans une zone spécifique. Par exemple, dans une salle de réunion, une salle de classe ou un parking.
Stationnement intelligent : Faciliter le stationnement en guidant les conducteurs vers des espaces disponibles à l'aide d'un affichage sur l'écran SSD1306 en fonction de la distance mesurée.
Contrôle d'accès : Utiliser le système pour détecter la proximité des personnes et autoriser ou refuser l'accès en fonction de la distance mesurée.
En résumé, le but d'un système de mesure de distance avec le HC-SR04, l'écran SSD1306 et la carte Arduino UNO est souvent d'automatiser des actions ou de fournir des informations en temps réel en fonction de la distance entre le capteur et un objet ou une personne. Ces systèmes peuvent être utilisés dans divers domaines, y compris la robotique, l'automatisation industrielle, la surveillance, la sécurité, et bien d'autres.
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é.
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 55 de la carte Arduino UNO
Pour programmer la carte Arduino UNO afin de mesurer la distance entre le capteur HC-SR04 et un objet et l'afficher sur l'écran SSD1306, vous pouvez suivre ces étapes générales:
1- Importer la bibliothèques Adafruit_SSD1306 dédiées à l'écran SSD1306
2- Importer la bibliothèque Ultrasonic dédiées au capteur ultrason HC-SR04
3- Écrire ce code pour lire les données du capteur HC-SR04 et afficher la distance sur l'afficheur SSD1306
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 |
#include <Adafruit_SSD1306.h> #include <Ultrasonic.h> // initialisation du capteur HC-SR04 Ultrasonic ultrasonic(2, 3); // Trig et Echo // initialisation de l'afficheur SSD1306 #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); void setup() { Serial.begin(9600); //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(); oledDisplayHeader(); //calculer la distance entre le capteur HC-SR04 et un objet int distance = ultrasonic.Ranging(CM); // afficher la distance sur ecran SSD1306 oledDisplay(2,5,28,distance," cm"); display.display(); delay(300); } void oledDisplayHeader(){ display.setTextSize(2); display.setTextColor(WHITE); display.setCursor(0, 0); display.print("Distance"); } void oledDisplay(int size, int x,int y, float value, String unit){ int charLen=12; int xo=x+charLen*3.2; int xunit=x+charLen*3.6; int xval = x; display.setTextSize(size); display.setTextColor(WHITE); display.setCursor(x, y); display.print(value,0); display.print(unit); } |
Grâce à ce programme:
1- la carte Arduino UNO reçoit les données du capteur HC-SR04
2- Elle calcule la distance entre le capteur et l'objet détecté et l'affiche sur l'écran SSD1306
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