Como programar um display OLED com Arduino

Cómo programar una pantalla OLED con Arduino

Los sensores se utilizan para convertir una cantidad física, como la intensidad de la luz o la temperatura, en eléctrica. Existen varios tipos de sensores que se pueden usar fácilmente con una placa Arduino, lo cual es una ventaja.

Por ejemplo, cualquier sensor analógico o digital interactúa fácilmente con Arduino, ya que la placa ofrece entradas analógicas y digitales. Los sensores analógicos recopilan lecturas en un rango de valores y los sensores digitales leen si una señal está activa (alta o baja).

Los potenciómetros, joysticks y sensores de temperatura son ejemplos de sensores analógicos. Los sensores IR de proximidad, vibración y llama o humo son digitales. Todos estos sensores se pueden conectar directamente al Arduino, mostrando sus valores en un monitor en serie. Se pueden utilizar pantallas como LCD o LED de 7 segmentos para presentar el valor de un sensor.

OLED, o diodo orgánico emisor de luz, es otra opción de visualización y sirve como alternativa a la LCD. Cuando una pantalla LCD es pasiva, la OLED es activa (lo que significa que contiene amplificadores). También es pequeño, brillante y extremadamente liviano, por lo que se usa comúnmente en dispositivos portátiles o de bolsillo.

OLED permite muchas opciones de visualización, incluidos texto, dígitos, formas e imágenes. Aquí aprenderemos cómo mostrar el valor de un sensor, comenzando con los conceptos básicos de la pantalla y cómo conectar el OLED con una placa Arduino.

La pantalla OLED utilizada en este proyecto tiene aproximadamente 1 x 1” de dimensión (comúnmente llamada pantalla de 1 pulgada). Tiene un controlador de vídeo integrado, el SSD1306.

Las características incluyen:

1. 128×64 píxeles
2. Alto contraste
3. Protocolo de comunicación I2C
4. Doble color (azul y amarillo)
5. No se requiere luz de fondo
6. Visualización de tipo activo

Una de las ventajas de este tipo de pantallas es que sus píxeles sólo consumen energía cuando están encendidos. Esto significa que OLED consume menos energía en comparación con la mayoría de las otras pantallas.

Como se muestra en el diagrama anterior, la pantalla tiene cuatro pines. Sólo se requieren dos (los pines SDA y SCL) para la interfaz. Para este proyecto, el pin VCC recibe 5 voltios de fuente de alimentación.

La pantalla funciona con el protocolo de comunicación I2C, un bus de comunicación serie de un solo extremo, que aquí utiliza sólo dos pines: el SDA y el SCL. (Por eso se le conoce como TWI o interfaz de dos hilos).

El microcontrolador host debe utilizar el protocolo I2C para mostrar el valor, ya sea como un mensaje de texto, dígitos, una forma (como un círculo o un cuadrado) o una imagen. Incluso puede mostrar animaciones básicas. Para hacer esto con Arduino necesitarás usar la biblioteca Adafruit.

Simplemente instale estas dos bibliotecas de Adafruit:

  • Adafruit_ssd1306.h
  • Adafruit_GFX.h

Estas dos bibliotecas brindan control total de la pantalla del sensor OLED. Repasemos el diagrama del circuito a continuación.

El circuito

Conexiones de circuito
Como se muestra en el diagrama anterior, el circuito se construye utilizando tres componentes:

1. La placa Arduino NANO
2. Una pantalla OLED
3. Un potenciómetro (POT)

  • PT tiene tres terminales. Conecte los dos terminales finales a los pines +5V y GND del Arduino. El pin del medio es un control deslizante que se conecta al pin de entrada analógica A0 del Arduino.
  • El OLED tiene cuatro pines de interfaz: VCC, GND, SDA y SCL. Conecte los pines VCC y GND a los pines +5 V y GND del Arduino. Esto suministra energía a la pantalla. Luego conecte los pines SDA y SCL a los pines Arduino A4 (SDA) y A5 (SCL) para la comunicación de datos.
  • La placa Arduino requiere una fuente de alimentación USB (de una computadora). El chip regulador de voltaje integrado proporciona un suministro de 5 V al POT y a la pantalla OLED.

Operación del circuito

  • El POT recibe una fuente de alimentación de +5 V. Dependiendo de cuánto se gire su perilla, proporciona un voltaje de salida analógico de 0 a 5 V a través del terminal deslizante central.
  • Esta salida de voltaje analógico luego se alimenta al pin de entrada analógica A0 de Arduino. El Arduino lee la entrada y proporciona un número de salida digital correspondiente entre 0 y 1023. La salida digital se muestra en la pantalla OLED como "Valor POT".
  • Luego, Arduino vuelve a convertir el valor digital (entre 0 y 1023) en un voltaje analógico entre 0 y 5 V de la siguiente manera:

Valor digital Tensión analógica
1023 5V
XX × (5/1023)

  • El Arduino presenta el voltaje analógico en la pantalla como "voltaje ip".
  • En última instancia, los valores analógicos y digitales se muestran en el OLED.

Software
La placa Arduino (ATMega328) realiza las siguientes tareas, sirviendo el siguiente software:

1. Lee la entrada de voltaje analógico del POT y la convierte a un valor digital
2. Convierte el valor digital a un voltaje analógico.
3. Muestra valores analógicos y digitales en la pantalla OLED

Este programa fue escrito en lenguaje C/C++ utilizando el software Arduino IDE. Se compila y carga utilizando el mismo software.

Código

El enlace del vídeo de YouTube para este proyecto:

Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.