#include #include #include // Definición de ancho y alto de la pantalla #define SCREEN_WIDTH 128 #define SCREEN_HEIGHT 64 #define OLED_RESET -1 // Reset pin # (or -1 if sharing Arduino reset pin) #define SCREEN_ADDRESS 0x3C // Dirección I2C estándar para la pantalla OLED Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET); // Valores iniciales de absorbancia float absorbancia[] = {1, 2, 3, 4, 5, 6}; // Valores iniciales void setup() { display.begin(SSD1306_SWITCHCAPVCC, SCREEN_ADDRESS); // Inicializar la pantalla OLED display.clearDisplay(); // Limpiar el buffer display.display(); // Actualizar pantalla inicial } void loop() { // Actualizar y mostrar los datos en la pantalla mostrarAbsorbancia(); delay(1000); // Actualizar cada 2 segundos } // Función para mostrar los datos en la pantalla void mostrarAbsorbancia() { display.clearDisplay(); // Limpiar la pantalla // Mostrar título y línea separadora display.setTextSize(1); display.setTextColor(SSD1306_WHITE); display.setCursor(10, 0); // Posición para el título display.println(F("Absorbancia (nm)")); display.drawLine(0, 10, SCREEN_WIDTH, 10, SSD1306_WHITE); // Línea horizontal // Mostrar cada valor con su columna for (int i = 0; i < 6; i++) { display.setCursor(0, 15 + (i * 10)); // Posición vertical ajustada para cada fila display.print(F("- Columna ")); display.print(i + 1); display.print(F(": ")); display.println(absorbancia[i], 4); // Mostrar valor con 4 decimales } display.display(); // Mostrar contenido actualizado en la pantalla // Incrementar los valores secuenciales actualizarAbsorbancia(); } // Función para incrementar secuencialmente los valores de absorbancia void actualizarAbsorbancia() { for (int i = 0; i < 6; i++) { absorbancia[i] += 1; // Incrementar cada valor en 1 } }