#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
const uint8_t pulsador5 = 34;
const uint8_t pulsador7 = 35;
const uint8_t pulsador12 = 32;
const uint8_t pulsador15 = 33;
uint8_t di[]={pulsador5,pulsador7,pulsador12,pulsador15};
const uint8_t led1 = 5;
const uint8_t led2 = 17;
const uint8_t led3 = 16;
const uint8_t led4 = 4;
const uint8_t led5 = 2;
uint8_t led[]={led1,led2,led3,led4,led5};
int numeroDecimal1 = 9;
int numeroDecimal2 = 18;
int numeroDecimal3 = 19;
int numeroDecimal4 = 1;
void setup() {
lcd.init();
lcd.backlight();
lcd.setCursor(0, 0);
lcd.print("Nro decimal:");
lcd.setCursor(0, 1);
lcd.print("Nro binario:");
lcd.setCursor(0, 2);
lcd.print("Letra:");
pinMode(pulsador5, INPUT);
pinMode(pulsador7, INPUT);
pinMode(pulsador12, INPUT);
pinMode(pulsador15, INPUT);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
Serial.begin(115200);
}
void loop() {
if(digitalRead(pulsador5)== 1){
lcd.setCursor(14, 0);
lcd.print(numeroDecimal1);
lcd.setCursor(14, 1);
lcd.print(numeroDecimal1, BIN);
lcd.setCursor(14,2);
lcd.print("I");
for (int i = 0; i < 5; i++) {
digitalWrite(led[i], bitRead(numeroDecimal1, i));
}
}
if(digitalRead(pulsador7)== 1){
lcd.setCursor(14, 0);
lcd.print(numeroDecimal2);
lcd.setCursor(14, 1);
lcd.print(numeroDecimal2, BIN);
lcd.setCursor(14,2);
lcd.print("S");
for (int i = 0; i < 5; i++) {
digitalWrite(led[i], bitRead(numeroDecimal2, i));
}
}
if(digitalRead(pulsador12)== 1){
lcd.setCursor(14, 0);
lcd.print(numeroDecimal3);
lcd.setCursor(14, 1);
lcd.print(numeroDecimal3, BIN);
lcd.setCursor(14,2);
lcd.print("R");
for (int i = 0; i < 5; i++) {
digitalWrite(led[i], bitRead(numeroDecimal3, i));
}
}
if(digitalRead(pulsador12)== 0 && digitalRead(pulsador7)== 0 && digitalRead(pulsador5)== 0 && digitalRead(pulsador15)== 0){
lcd.setCursor(14, 0);
lcd.print(" ");
lcd.setCursor(14, 1);
lcd.print(" ");
lcd.setCursor(14,2);
lcd.print(" ");
for (int i = 0; i < 5; i++) {
digitalWrite(led[i], 0);
}
}
if(digitalRead(pulsador15)== 1){
lcd.setCursor(14, 0);
lcd.print(numeroDecimal4);
lcd.setCursor(14, 1);
lcd.print(numeroDecimal4, BIN);
lcd.setCursor(14,2);
lcd.print("A");
for (int i = 0; i < 5; i++) {
digitalWrite(led[i], bitRead(numeroDecimal4, i));
}
}
}