Cómo interactuar la pantalla OLED con Arduino Nano

Cómo interactuar la pantalla OLED con Arduino Nano

Arduino Nano es una pequeña placa de microcontrolador que usa ATMEGA328P para procesar las instrucciones. Es similar al Arduino Uno, pero es mucho más pequeño en tamaño y tiene un precio más bajo. Arduino Nano a menudo se usa en proyectos donde el espacio es una restricción, como la electrónica portátil o la robótica a pequeña escala. El Arduino Nano se puede utilizar para controlar los datos de la pantalla OLED y el sensor de procesos. Este artículo cubrirá la interfaz de una pantalla OLED con Arduino Nano.

Esta lección incluye los siguientes temas:

  • 1: Introducción a la pantalla OLED
  • 2: Módulo de pantalla OLED de cableado a Arduino Nano
  • 3: Instalación de bibliotecas requeridas
  • 4: Verifique la dirección de la pantalla OLED I2C
  • 5: Ejemplo de OLED Display Arduino IDE
  • 5.1: código
  • 5.2: salida
  • 6: Impresión de texto estático en la pantalla OLED usando Arduino Nano
  • 6.1: código
  • 6.2: salida

1: Introducción a la pantalla OLED

Una pantalla OLED I2C es una pantalla de diodo emisora ​​de luz orgánica que utiliza el protocolo del circuito interintegrado (I2C) para la comunicación. Las pantallas OLED tienen una alta relación de contraste y un mayor ángulo de visión que las hace muy adecuadas para una variedad de aplicaciones de visualización.

Una pantalla OLED I2C generalmente consiste en una pequeña pantalla OLED y un circuito de controlador que convierte las señales I2C en los voltajes y las corrientes necesarias para conducir los píxeles OLED.

LED dentro de la pantalla OLED ilumina los píxeles que nos muestran diferentes imágenes y texto. Mientras que por otro lado, la pantalla LCD usa una luz de fondo para iluminar sus píxeles. Estos píxeles El brillo se puede controlar por separado.

Ahora interactuaremos Arduino Nano con una pantalla OLED.

2: Módulo de pantalla OLED de cableado a Arduino Nano

Las pantallas OLED funcionan principalmente en dos protocolos de comunicación. Estos son I2C y SPI. Entre estos dos SPI (interfaz periférica en serie) es más rápido en comparación con I2C, pero la mayoría de las veces se prefiere la pantalla OLED I2C debido a un número menor de cables.

I2C es un protocolo de comunicación en serie de dos hilos que permite que múltiples dispositivos compartan un solo conjunto de datos y líneas de reloj, por lo que es una opción conveniente para conectar pantallas OLED a microcontroladores y otros dispositivos

El uso de I2C OLED dos pines SDA y SCL son suficientes para mostrar imágenes y texto. La imagen dada muestra a Arduino Nano con 0.Pantalla OLED de 96 pulgadas (128 × 64 píxeles).

A continuación se muestra la tabla de conexión PIN:

Como hemos interrumpido Arduino Nano con una pantalla OLED, ahora instalaremos las bibliotecas necesarias en el IDE Arduino para que podamos avanzar con formas que se muestran en la pantalla OLED.

3: Instalación de bibliotecas requeridas

Para mostrar imágenes, necesitamos instalar las bibliotecas necesarias para la pantalla OLED en Arduino IDE. Sin usar estas bibliotecas, Arduino Nano no puede mostrar gráficos en OLED.

Principalmente se utilizan dos bibliotecas de Adafruit: Biblioteca SSD1306 y GFX.

Abra el entorno integrado de Arduino (IDE) y busque en la biblioteca SSD1306. Instale la biblioteca AdaFruit SSD1306.

Otra forma de instalar va a: Sketch> incluir biblioteca> Administrar bibliotecas:

Ahora instale el Gfx Biblioteca de Adafruit:

Como hemos instalado ambas bibliotecas, ahora podemos programar fácilmente Arduino Nano con una pantalla OLED.

4: Verifique la dirección de la pantalla OLED I2C

I2C, o circuito interintegrado, es un protocolo de comunicación que permite conectarse múltiples dispositivos y comunicarse entre sí a través de una interfaz de dos hilos. Cada dispositivo I2C debe tener una dirección única, que va de 0 a 127, para garantizar que pueda identificarse y comunicarse en la línea I2C. Múltiples dispositivos que tienen la misma dirección I2C no pueden usar el mismo bus I2C.

Conecte la pantalla OLED con Arduino Nano y después de seleccionar la placa y el puerto en Arduino IDE Sube el siguiente código dado en la placa Nano para verificar la dirección I2C de la pantalla OLED.

#Include /*Incluya alambre.H Biblioteca para pantalla OLED*/
Configuración vacía ()

Cable.comenzar(); /*I2C La comunicación con OLED comienza*/
De serie.comenzar (9600); /*Tasa de baudios definida para la comunicación en serie*/
mientras (!De serie); /*Esperar la salida en serie*/
De serie.println ("\ Ni2c Scanner");

bucle vacío ()

byte err, adr; /*El error variable se define con la dirección de i2c*/
int number_of_devices;
De serie.println ("escaneo.");
número_of_devices = 0;
para (ADR = 1; ADR < 127; adr++)

Cable.beginTransmission (ADR);
err = cable.Endtransmission ();
if (err == 0)

De serie.imprimir ("dispositivo I2C en la dirección 0x");
if (ADR < 16)
De serie.imprimir ("0");
De serie.imprimir (ADR, hex);
De serie.println (" !");
Number_of_devices ++;

más if (err == 4)

De serie.imprimir ("Error desconocido en la dirección 0x");
if (ADR < 16)
De serie.imprimir ("0");
De serie.println (ADR, hex);


if (number_of_devices == 0)
De serie.println ("No i2c dispositivos adjuntos \ n");
demás
De serie.println ("hecho \ n");
retraso (5000); /*espera 5 segundos para el próximo escaneo I2C*/

Después de cargar código a Arduino Nano, la salida de la siguiente manera aparecerá en el monitor de serie. Nuestro OLED está conectado a una dirección 0x3c.


El 0x3c i2c dirección se utilizará en Arduino Nano Code para interfaciar pantallas OLED.

5: Ejemplo de OLED Display Arduino IDE

Una vez que las bibliotecas de pantalla OLED están instaladas en el IDE Arduino, podemos ver algún código de ejemplo preescritado en el IDE. Para probar la interfaz de Arduino, subiremos un código de ejemplo SSD1306 en Arduino Nano.

Ir a: Archivo> Ejemplos> Adafruit SSD1306> SSD1306_128X64_I2C

Nota: Recuerde seleccionar el tamaño correcto y el protocolo de comunicación al abrir el código de ejemplo. Aquí en nuestro caso, estamos usando I2C OLED con un tamaño de 128x64.

1: código

Se abrirá una nueva ventana IDE donde podamos ver el código de ejemplo de AdaFruit OLED. Este código mostrará diferentes patrones en OLED como estrellas, círculos, texto de desplazamiento y texto animado.

Nota: Recuerde actualizar la dirección I2C con su propia pantalla.

2: salida

Después de cargar código a Arduino Nano, podemos ver diferentes patrones en la pantalla OLED:

Ahora hemos interactuado con éxito la pantalla OLED con Arduino Nano usando el código de biblioteca preescritura. Ahora mostraremos algún texto en una pantalla OLED usando Arduino Nano.

6: Impresión de texto estático en la pantalla OLED usando Arduino Nano

La biblioteca AdaFruit GFX nos permite mostrar texto en una pantalla OLED. Ahora escribiremos un código simple para mostrar texto en OLED.

1: código

Abra Arduino IDE y cargue código a Arduino Nano Board:

#incluir
#incluir
#incluir
#define screen_width 128 /*128 Ancho de OLED en píxeles* /
#define screen_height 64 /*64 Altura de OLED en píxeles* /
AdaFruit_SSD1306 Display (Screen_Width, Screen_height, & Wire, -1); /*Pantalla OLED conectada a pines I2C (SDA, SCL)*/
setup () void
De serie.comenzar (115200); / *BAUD CARE UST COMUNICACIÓN */
si(!mostrar.begin (SSD1306_SWITCHCAPVCC, 0x3c)) /*i2c dirección en la que OLED se comunicará* /
De serie.println (f ("fallado de asignación SSD1306"));
para(;;);

retraso (2000);
mostrar.ClearDisplay (); /*Clare pantalla*/
mostrar.setTextSize (2); /*Tamaño de texto de pantalla OLED definida*/
mostrar.setTextColor (blanco); /*Color de texto de pantalla OLED*/
mostrar.setCursor (0, 10); /*Mostrar texto estático*/
mostrar.println ("Linuxhint.com "); /*cadena para representar en la pantalla OLED* /
mostrar.mostrar();

bucle void ()

Al comienzo del código primero importamos las dos bibliotecas que incluyen cable y biblioteca de Adafruit. El alambre.La biblioteca H nos permite usar el protocolo de comunicación I2C, mientras que la segunda biblioteca de AdaFruit ayuda a mostrar texto en una pantalla OLED.

Siguiente en el código se define a continuación Función de visualización:

AdaFruit_SSD1306 Display (Screen_Width, Screen_height, & Wire, -1);

Los comandos de pantalla de AdaFruit toman 4 parámetros que incluyen el Screen_width y screen_height variables. Estas dos variables tomarán el tamaño de la pantalla OLED. Estamos usando un OLED con tamaño 128x64. Y el tercer parámetro es &Cable.

El último parámetro es -1 lo que indica que la pantalla OLED no tiene un botón de reinicio externo. Si tenemos una pantalla OLED con un botón de reinicio, pasaremos este parámetro al pin GPIO. Si se presiona el botón de reinicio, el OLED mostrará texto.

Siguiente dirección I2C (0x3c) se define que tenemos usando el Arduino I2C código de escáner.

Por último, la cadena que se mostrará en la pantalla OLED se define junto con el tamaño y el color de la fuente.

Ahora observaremos la salida en la pantalla OLED.

2: salida

En la salida podemos ver una cadena "Linuxhint.comunicarse"Se muestra en una pantalla OLED con un tamaño de fuente de 2.

Hemos completado la interfaz de pantalla OLED I2C con Arduino Nano Board.

Conclusión

I2C OLED (diodo emisor de luz orgánico) es un tipo de pantalla OLED que se comunica con un microcontrolador u otro dispositivo utilizando el protocolo I2C. Este artículo cubrió el código para interactuar Arduino Nano con pantalla OLED I2C usando el Arduino IDE. Usando el método dado, cualquier pantalla OLED se puede interconectar con Arduino Nano Board.