#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
Adafruit_SSD1306 display(128, 64, &Wire, -1);
int lRojo=11;
int lVerde=10;
int lAzul=9;
int color=3;
int boton=12;
void setup() {
pinMode(lRojo,OUTPUT);
pinMode(lVerde,OUTPUT);
pinMode(lAzul,OUTPUT);
pinMode(boton, INPUT_PULLUP);
Serial.begin(115200);
// SSD1306_SWITCHCAPVCC = generate display voltage from 3.3V internally
if(!display.begin(SSD1306_SWITCHCAPVCC, 0x3C)) {
Serial.println(F("SSD1306 allocation failed"));
for(;;); // Don't proceed, loop forever
}
}
void loop() {
digitalWrite(lRojo,HIGH);
digitalWrite(lVerde,HIGH);
digitalWrite(lAzul,HIGH);
String colorTexto;
if (digitalRead(12)==0){
color=color+1;
}
if (color%3==0) {
colorTexto="Rojo";
digitalWrite(lRojo,LOW);
} else if (color%3 ==1) {
colorTexto="Verde";
digitalWrite(lVerde,LOW);
} else {
colorTexto="Azul";
digitalWrite(lAzul,LOW);
}
int valor = map(analogRead(A3),0,1024,0,255);
// Clear the buffer
display.clearDisplay();
display.clearDisplay();
display.setCursor(8, 10);
display.setTextSize(4); // Draw 2X-scale text
display.setTextColor(1);
display.print(colorTexto);
display.display();
delay(500);
}