#include <Wire.h> //Librería requerida para comunicación I2C
#include <Adafruit_GFX.h> //Librería para manejo de pantallas
#include <Adafruit_SSD1306.h> //Librería específica para esta pantalla
#define ANCHO 128
#define ALTO 64
#define OLED_RESET 4
Adafruit_SSD1306 oled(ANCHO, ALTO, &Wire, OLED_RESET);
void setup() {
Wire.begin();
oled.begin(SSD1306_SWITCHCAPVCC, 0x3c); //0x3C es la dirección I2C de la pantalla
}
void loop() {
// Contador de segundos
/*
oled.clearDisplay();
oled.setTextColor(WHITE); //Aunque la pantalla es bicolor, se maneja como monocromática
oled.setCursor(0, 0);
oled.setTextSize(1);
oled.print("Hola, han pasado: ");
oled.setCursor(10, 30);
oled.setTextSize(2);
oled.print(millis() / 1000);
oled.print(" seg.");
oled.display();
*/
//Autoajuste de textos largos
/*
oled.clearDisplay();
oled.setTextColor(WHITE); //Aunque la pantalla es bicolor, se maneja como monocromática
oled.setCursor(0, 0);
oled.setTextSize(1);
oled.print("Texto en amarillo ocupa 2 lineas, 16 px");
oled.setCursor(0, 16);
oled.print("Hola, este texto ya esta en la zona de color Cian y entran 6 lineas en total, mucha informacion en poco espacio !");
oled.display();
*/
//Dibujar figuras geométricas.
// Circulos concéntricos
/*
oled.clearDisplay();
for (int i = 1; i < oled.height() / 2; i++) {
if (i % 3 == 0)
oled.drawCircle(oled.width() / 2, oled.height() / 2, i, WHITE);
oled.display();
delay(50);
}
*/
//Rectángulo y texto
oled.clearDisplay();
oled.drawRect(20,20, 88, 44, WHITE);
oled.setCursor(29, 34);
oled.setTextSize(2);
oled.setTextColor(WHITE);
oled.print("ALARMA");
oled.display();
}
Loading
ssd1306
ssd1306