Arduino Nano - Capteur ultrasonique - OLED

Ce tutoriel vous explique comment utiliser un Arduino Nano pour obtenir la distance à partir d'un capteur ultrasonique et l'afficher sur un écran OLED.

Préparation du matériel

1×Official Arduino Nano
1×Alternativement: DIYables ATMEGA328P Nano Development Board
1×Câble USB A vers Mini-B
1×Écran OLED I2C SSD1306 128x64
1×Écran OLED I2C SSD1306 128x32
1×Capteur à ultrasons
1×Plaque d'essai
1×Fils de connexion
1×Optionnel: 9V Power Adapter for Arduino Nano
1×Recommandé: Carte d'extension à bornier à vis pour Arduino Nano
1×Recommandé: Carte d'extension breakout pour Arduino Nano
1×Recommandé: Répartiteur d'alimentation pour Arduino Nano

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos de l'OLED et du capteur ultrasonique

Si vous ne connaissez pas les écrans OLED et les capteurs ultrasoniques (y compris les brochages, les fonctionnalités et la programmation), les tutoriels suivants peuvent vous fournir les informations nécessaires :

Diagramme de câblage

Schéma de câblage du capteur ultrasonique OLED Arduino Nano

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Voir Comment alimenter un Arduino Nano..

Code Arduino Nano - Capteur Ultrasonique - OLED

/* * Ce code Arduino Nano a été développé par newbiely.fr * Ce code Arduino Nano est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/arduino-nano/arduino-nano-ultrasonic-sensor-oled */ #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define TRIG_PIN 12 // The Arduino Nano pin connected to TRIG pin of ultrasonic sensor #define ECHO_PIN 11 // The Arduino Nano pin connected to ECHO pin of ultrasonic sensor #define OLED_WIDTH 128 // OLED display width, in pixels #define OLED_HEIGHT 64 // OLED display height, in pixels Adafruit_SSD1306 oled(OLED_WIDTH, OLED_HEIGHT, &Wire, -1); // create SSD1306 display object connected to I2C String distance_str; void setup() { Serial.begin(9600); // initialize OLED display with address 0x3C for 128x64 if (!oled.begin(SSD1306_SWITCHCAPVCC, 0x3C)) { Serial.println(F("SSD1306 allocation failed")); while (true); } delay(2000); // wait for initializing oled.clearDisplay(); // clear display oled.setTextSize(2); // text size oled.setTextColor(WHITE); // text color oled.setCursor(0, 10); // position to display distance_str.reserve(10); // to avoid fragmenting memory when using String } void loop() { // Produce a 10-microsecond pulse to the TRIG pin. digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); // Measure the pulse duration from the ECHO pin long duration_us = pulseIn(ECHO_PIN, HIGH); // calculate the distance float distance_cm = 0.017 * duration_us; // print the value to Serial Monitor Serial.print("distance: "); Serial.print(distance_cm); Serial.println(" cm"); distance_str = String(distance_cm, 2); // two decimal places distance_str += " cm"; Serial.println(distance_str); // print the temperature in Celsius to Serial Monitor oled_display_center(distance_str); // display temperature on OLED } void oled_display_center(String text) { int16_t x1; int16_t y1; uint16_t width; uint16_t height; oled.getTextBounds(text, 0, 0, &x1, &y1, &width, &height); // center the display both horizontally and vertically oled.clearDisplay(); // clear display oled.setCursor((OLED_WIDTH - width) / 2, (OLED_HEIGHT - height) / 2); oled.println(text); // text to display oled.display(); }

Étapes rapides

  • Cliquez sur l'icône Libraries dans la barre latérale gauche de l'IDE Arduino.
  • Recherchez “SSD1306” et localisez la bibliothèque SSD1306 fournie par Adafruit.
  • Appuyez sur le bouton Install pour terminer l'installation.
Bibliothèque OLED Arduino Nano
  • Vous serez invité à installer des dépendances de bibliothèque supplémentaires.
  • Pour les installer toutes en même temps, cliquez sur le bouton Install All.
Bibliothèque de capteurs Adafruit GFX pour Arduino Nano
  • Copiez le code et ouvrez-le avec l'IDE Arduino.
  • Cliquez sur le bouton Upload de l'IDE Arduino pour compiler et téléverser le code sur l'Arduino Nano.
  • Déplacez votre main devant le capteur.
  • Vérifiez le résultat sur l'OLED et le moniteur série.

※ Note:

Ce code centrera horizontalement et verticalement le texte sur un affichage OLED. Pour plus d'informations, veuillez consulter Comment centrer verticalement/horizontalement sur OLED.

Vidéo

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !