Capteur de distance et OLED
Composants et fournitures
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 |
Applications et services en ligne
![]() |
|
À propos de ce projet

Comment utiliser l'écran OLED
Voici mon précédent tutoriel à ce sujet :
#includes
et#defines
, avant d'exécutersetup() :
#include //nous avons besoin de toutes ces bibliothèques désagréables pour OLED#include #include #include #define OLED_RESET 4 // il s'agit de la broche de réinitialisation, IM N'UTILISE PAS l'affichage ITAdafruit_SSD1306 (OLED_RESET);
- Dans le
setup()
fonction :
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialiser avec l'adresse I2C 0x3C (128x64) display.clearDisplay(); // efface l'affichage avant de démarrer
- Dans
boucle()
fonction :
display.setCursor(22,20); //coordonnées x,y display.setTextSize(3); //taille du texte display.setTextColor(WHITE); //si vous écrivez NOIR cela efface les choses display.println(distance); // affiche notre variable display.setCursor(85,20); //définir la taille, afficher les unités (cm/in) display.setTextSize(3) ; #ifdef CommonSenseMetricSystem//if theres#define CommonSenseMetricSystem display.println("cm"); //print "cm" dans oled #endif #ifdef ImperialNonsenseSystem//s'il y a#define ImperialNonsenseSystem display.println("in"); // affiche "in" dans oled #endif display.display(); // vous devez réellement afficher tout ce délai de données (500); // attendez !, vitesse humaine display.clearDisplay(); //effacer le noir de l'affichage
Comment utiliser la gamme à ultrasons HC-SR04
Ici vous avez la fiche technique, le module HC envoie une rafale d'impulsions puis mesure le temps que met l'écho de l'échographie pour revenir à sa place d'origine.
- Faire une impulsion pour le déclencheur HC, le HC fera une salve d'impulsion :
longue durée, distance ; //nos variables bien-aimées digitalWrite(trigPin, LOW); //PULSE ___|---|___ délaiMicrosecondes(2) ; digitalWrite(trigPin, HAUT); délaiMicrosecondes(10) ; digitalWrite(trigPin, LOW);
- PulseIn() est une fonction rarement utilisée, détecte la longueur du pas haut (__----__) ou bas (----___---)
Nous utilisons #ifdef
pour ne compiler que les parties dont nous avons besoin.
duration =pulseIn(echoPin, HIGH); // #ifdef CommonSenseMetricSystem distance =(durée/2) / 29,1 ; #endif #ifdef ImperialNonsenseSystem distance =(durée/2) / 73.914; #endif
- Et ceci pour le débogage au cas où votre Oled ne fonctionnerait pas :
Serial.println(distance);//debug
Code
- Mesure et affichage des ultrasons à distance
Mesure et affichage par ultrasons de distanceArduino
Code principal//CODE BY Javier Muñoz Sáez, 11/05/2016 questions à [email protected]#include#include #include #include #define CommonSenseMetricSystem//#define ImperialNonsenseSystem#define trigPin 13#define echoPin 12#define OLED_RESET 4Adafruit_SSD1306 display(OLED_RESET);void setup() { Serial.begin (9600); pinMode(trigPin, SORTIE); pinMode(echoPin, INPUT); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialiser avec l'adresse I2C 0x3C (128x64) display.clearDisplay();}void loop() { longue durée, distance; digitalWrite(trigPin, LOW); //PULSE ___|---|___ délaiMicrosecondes(2) ; digitalWrite(trigPin, HAUT); délaiMicrosecondes(10) ; digitalWrite(trigPin, LOW); durée =pulseIn(echoPin, HIGH); #ifdef CommonSenseMetricSystem distance =(durée/2) / 29,1 ; #endif #ifdef ImperialNonsenseSystem distance =(durée/2) / 73.914; #endif display.setCursor(22,20); //affichage oled display.setTextSize(3); display.setTextColor(BLANC); display.println(distance); display.setCursor(85,20); display.setTextSize(3); #ifdef CommonSenseMetricSystem display.println("cm"); #endif #ifdef ImperialNonsenseSystem display.println("in"); #endif display.display(); retard (500); display.clearDisplay(); Serial.println(distance);//debug }
Schémas

Processus de fabrication
- Qu'est-ce qu'un capteur de distance fonctionnant et ses applications
- Capteur Arduino - Types et applications
- Capteur de température Python et Raspberry Pi
- Capteur de température et de luminosité Raspberry Pi
- Contrôle du capteur et de l'actionneur Raspberry Pi
- Aéroponie avec Raspberry Pi et capteur d'humidité
- Comment vérifier et étalonner un capteur d'humidité
- Windows 10 IoT Core et SHT15
- Automates cellulaires basés sur Arduino et OLED