Arduino UNO R4 - Sensor ultrasónico - OLED

En esta guía, aprenderemos a medir la distancia utilizando un sensor ultrasónico y a mostrarla en una pantalla OLED.

Arduino UNO R4 Sensor ultrasónico OLED

Acerca de OLED y sensor ultrasónico

Aprende sobre OLED y sensor ultrasónico (disposición de pines, funciones, programación) en estos tutoriales:

Diagrama de Cableado

Diagrama de cableado del sensor ultrasónico OLED para Arduino UNO R4

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Uno R4 y otros componentes.

Código de Arduino UNO R4 - Sensor ultrasónico - OLED

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/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(); }

Pasos R\u00e1pidos

Siga estas instrucciones paso a paso:

  • Si es la primera vez que usas el Arduino Uno R4 WiFi/Minima, consulta el tutorial sobre configurar el entorno para Arduino Uno R4 WiFi/Minima en el IDE de Arduino.
  • Conecta la placa Arduino Uno R4 al sensor ultrasónico y al display OLED según el diagrama proporcionado.
  • Conecta la placa Arduino Uno R4 a tu ordenador utilizando un cable USB.
  • Abre el IDE de Arduino en tu ordenador.
  • Selecciona la placa Arduino Uno R4 adecuada (p. ej., Arduino Uno R4 WiFi) y el puerto COM.
  • Haz clic en el icono Libraries ubicado en el lado izquierdo del IDE de Arduino.
  • Escribe “SSD1306” en la caja de búsqueda y busca la biblioteca SSD1306 creada por Adafruit.
  • Presiona el botón Install para agregar la biblioteca.
Biblioteca OLED para Arduino UNO R4
  • Será necesario instalar dependencias de bibliotecas adicionales.
  • Haga clic en el botón Instalar todo para instalar todas las bibliotecas requeridas.
Librería de sensores Adafruit GFX para Arduino UNO R4
  • Copia el código y ábrelo en Arduino IDE
  • Presiona el botón Subir en Arduino IDE para enviar el código al Arduino UNO R4
  • Mueve tu mano frente al sensor
  • Verifica el resultado en OLED y monitor serial

※ Nota:

El código centra el texto tanto horizontal como verticalmente en la pantalla OLED. Para más detalles, consulta la guía sobre cómo centrar el texto en OLED en Cómo centrar vertical y horizontalmente el texto en OLED.

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!