#include <Arduino.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd_i2c(0x27, 16, 2);
#define PinADC 34
#define Resolucion 3.3/4095
int rADC = 0;
int voltaje = 0;
int i=0;
#define pinin1 18
#define pinout 2
#define pinin2 19
#define pinin3 15
void setup() {
Serial.begin(9600);
analogReadResolution(12);
analogSetPinAttenuation(PinADC, ADC_11db);
lcd_i2c.init();
lcd_i2c.backlight();
pinMode(pinin1, INPUT_PULLDOWN);
pinMode(pinout, OUTPUT);
}
void loop() {
if(digitalRead(pinin1))
i=1;
else
if(digitalRead(pinin2))
i=2;
else
if(digitalRead(pinin3))
i=3;
else
switch(i)
{
case 1:
lcd_i2c.init();
if(digitalRead(pinin1))
{digitalWrite(pinout, HIGH);}
else
{digitalWrite(pinout, LOW);}
break;
case 2:
rADC = analogRead(PinADC);
lcd_i2c.init();
lcd_i2c.setCursor(0,0);
lcd_i2c.print("Valor: ");
lcd_i2c.print(rADC);
lcd_i2c.setCursor(0,1);
lcd_i2c.print("Voltaje: ");
lcd_i2c.println(rADC*Resolucion,2);
break;
case 3:
lcd_i2c.init();
lcd_i2c.setCursor(0,0);
lcd_i2c.print("GORDO");
break;
}
}