La pantalla OLED de 0,91 pulgadas es una pantalla gráfica compacta con una resolución de 128×32 píxeles que permite dibujar y mostrar texto para crear una interfaz gráfica. Entre todas las pantallas disponibles para el Arduino, la pantalla OLED es cada vez más popular en el mercado. Como son más finos y no requieren retroiluminación, son fáciles de insertar en proyectos miniaturizados.
Material
- Ordenador
- Arduino UNO
- Cable USB A Macho/B Macho
- OLED de 0,91in
Principio de funcionamiento
La pantalla OLED de 0,91in es una pantalla monocromática accionada por el circuito integrado SSD1306 y se comunica mediante I2C.
Esquema
La pantalla OLED tiene 4 pines para permitir la gestión de la pantalla. Se alimenta del microcontrolador y se conecta al bus I2C.
- GND Conectar a tierra del microcontrolador
- VCC Pin de alimentación. Normalmente se conecta al pin de 3V o 5V del microcontrolador.
- SCL Reloj de comunicación I2C
- Datos SDA de la conexión I2C.
Código
Una vez que su pantalla OLED esté correctamente conectada, puede modificar el siguiente código para obtener la funcionalidad deseada. En el siguiente ejemplo, simplemente mostraremos un contador.Para gestionar la pantalla OLED, las librerías utilizadas son Adafruit_GFX.h y Adafruit_SSD1306.h cuyas funciones a conocer son las siguientes:
- Adafruit_SSD1306 display = Adafruit_SSD1306(128, 32, &Wire); para configurar la pantalla según el tipo
- display.begin(SSD1306_SWITCHCAPVCC, 0x3C); para inicializar la pantalla
- display.setTextSize() para establecer el tamaño del texto
- display.clearDisplay(); para borrar lo que se muestra en la pantalla
- display.display(); para refrescar la pantalla
- display.setCursor() para fijar el cursor
- display.print() y display.println() para mostrar texto
Existen otras funciones más específicas para dibujar rectángulos, líneas o mostrar imágenes.
#include <SPI.h> #include <Wire.h> #include <Adafruit_GFX.h> #include <Adafruit_SSD1306.h> Adafruit_SSD1306 display = Adafruit_SSD1306(128, 32, &Wire); byte compteur; void setup() { Serial.begin(9600); Serial.println("OLED intialized"); display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // Address 0x3C for 128x32 display.display(); delay(1000); // Clear the buffer. display.clearDisplay(); display.display(); // text display tests display.setTextSize(1); display.setTextColor(WHITE); } void loop() { for (compteur = 0 ; compteur < 25 ; compteur++) { display.clearDisplay(); display.setCursor(0, 0); display.println("test compteur"); display.print("compteur: "); display.println(compteur); display.display(); delay(1000); } }
Resultado
Observa bien dónde se colocan las cadenas mostradas y juega con los parámetros de entrada de las funciones para comparar sus efectos. Esto le permitirá tener una mejor comprensión de la biblioteca y de las funcionalidades del módulo Oled.
Aplicaciones
- Hacer un reloj con un module RTC
- Creación de un menú interactivo con un codificador rotatorio
Fuentes
Retrouvez nos tutoriels et d’autres exemples dans notre générateur automatique de code
La Programmerie