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×Arduino Nano
1×USB A to Mini-B USB cable
1×SSD1306 I2C OLED Display 128x64
1×Ultrasonic Sensor
1×Breadboard
1×Jumper Wires
1×(Optional) 9V Power Adapter for Arduino Nano
1×(Recommended) Screw Terminal Adapter for Arduino Nano

Or you can buy the following sensor kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
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

This image is created using Fritzing. Click to enlarge image

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 THAT:

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

※ OUR MESSAGES

  • Please feel free to share the link of this tutorial. However, Please do not use our content on any other websites. We invested a lot of effort and time to create the content, please respect our work!