Arduino UNO R4 - Ultrasone Sensor - OLED

In deze handleiding leren we hoe u de afstand meet met een ultrasone sensor en deze weergeeft op een OLED-scherm.

Arduino UNO R4 Ultrasone Sensor OLED

Over OLED en Ultrasone Sensor

Leer meer over OLED en Ultrasone Sensor (pinout, functies, programmering) in deze tutorials:

Bedradingsdiagram

Arduino UNO R4 Ultrasone Sensor OLED Bedradingsdiagram

This image is created using Fritzing. Click to enlarge image

Zie De beste manier om Arduino Uno R4 en andere componenten van stroom te voorzien.

Arduino UNO R4 Code - Ultrasone Sensor - OLED

/* * Deze Arduino UNO R4 code is ontwikkeld door newbiely.nl * Deze Arduino UNO R4 code wordt zonder enige beperking aan het publiek beschikbaar gesteld. * Voor volledige instructies en schema's, bezoek: * https://newbiely.nl/tutorials/arduino-uno-r4/arduino-uno-r4-ultrasonic-sensor-oled */ #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels #define TRIG_PIN 5 // The Arduino UNO R4 pin connected to Ultrasonic Sensor's TRIG pin #define ECHO_PIN 9 // The Arduino UNO R4 pin connected to Ultrasonic Sensor's ECHO pin Adafruit_SSD1306 oled(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); // create SSD1306 display object connected to I2C String tempString; 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 tempString.reserve(10); // to avoid fragmenting memory when using String } void loop() { // generate 10-microsecond pulse to TRIG pin digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(10); digitalWrite(TRIG_PIN, LOW); // measure duration of pulse from 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"); tempString = String(distance_cm, 2); // two decimal places tempString += " cm"; Serial.println(tempString); // print the temperature in Celsius to Serial Monitor oledDisplayCenter(tempString); // display temperature on OLED } void oledDisplayCenter(String text) { int16_t x1; int16_t y1; uint16_t width; uint16_t height; oled.getTextBounds(text, 0, 0, &x1, &y1, &width, &height); // display on horizontal and vertical center oled.clearDisplay(); // clear display oled.setCursor((SCREEN_WIDTH - width) / 2, (SCREEN_HEIGHT - height) / 2); oled.println(text); // text to display oled.display(); }

Snelle Stappen

Volg deze instructies stap voor stap:

  • Als dit de eerste keer is dat u de Arduino Uno R4 WiFi/Minima gebruikt, raadpleeg dan de tutorial over het instellen van de omgeving voor Arduino Uno R4 WiFi/Minima in de Arduino IDE.
  • Verbind het Arduino Uno R4 board met de ultrasone sensor en OLED display volgens het meegeleverde diagram.
  • Verbind het Arduino Uno R4 board met uw computer met behulp van een USB-kabel.
  • Start de Arduino IDE op uw computer.
  • Selecteer het juiste Arduino Uno R4 board (bijv. Arduino Uno R4 WiFi) en COM-poort.
  • Klik op het Libraries pictogram aan de linkerkant van de Arduino IDE.
  • Typ "SSD1306" in het zoekvenster en zoek naar de SSD1306 bibliotheek gemaakt door Adafruit.
  • Druk op de Install knop om de bibliotheek toe te voegen.
Arduino UNO R4 OLED bibliotheek
  • U moet aanvullende bibliotheekafhankelijkheden installeren.
  • Klik op de Install All knop om alle vereiste bibliotheken te installeren.
Arduino UNO R4 Adafruit GFX sensor bibliotheek
  • Kopieer de code en open deze in Arduino IDE
  • Druk op de Upload knop in Arduino IDE om de code naar Arduino UNO R4 te versturen
  • Zwaai met uw hand voor de sensor
  • Controleer het resultaat op OLED en Serial Monitor

※ Notiz:

De code centreert de tekst zowel horizontaal als verticaal op het OLED display. Voor meer details, zie de handleiding over het centreren van tekst op OLED bij Hoe verticaal/horizontaal centreren op OLED.

Video Tutorial

We overwegen het maken van videotutorials. Als u videotutorials belangrijk vindt, abonneer u dan op ons YouTube-kanaal om ons te motiveren de video's te maken.

Reacties

※ ONZE BERICHTEN

  • U bent welkom om de link naar deze tutorial te delen. Gebruik onze inhoud echter niet op andere websites. We hebben veel moeite en tijd gestoken in het maken van de inhoud, respecteer alstublieft ons werk!