int sensor = 34;
int valorSensor = 0;
int opcionMenu=0;
int n=0;
int valorA, valorB, valorC, valorD;
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C LCD = LiquidCrystal_I2C(0x27, 16, 2);
void setup() {
Serial.begin(115200);
pinMode(2,OUTPUT);
LCD.init();
LCD.backlight();
}
void loop() {
switch(menu()){
case 1:
do{
Serial.println("=====================");
Serial.println("OPCION 1");
Serial.println("1. ajustar valor A");
Serial.println("2. ver valor actual");
Serial.println("3. salir");
Serial.print("Seleccionar opcion . . ");
do{
n = Serial.parseInt();
}while(n<1);
Serial.println(n);
if(n==1){
Serial.print("introducir valor de A ");
do{
valorA=Serial.parseInt();
}while(valorA<1);
Serial.println(valorA);
}
if(n==2){
Serial.print("valor de A= ");
Serial.println(valorA);
}
}while(n!=3);
break;
case 2:
do{
Serial.println("=====================");
Serial.println("OPCION 2");
Serial.println("1. ajustar valor B");
Serial.println("2. ver valor actual");
Serial.println("3. salir");
Serial.print("Seleccionar opcion . . ");
do{
n = Serial.parseInt();
}while(n<1);
Serial.println(n);
if(n==1){
Serial.print("introducir valor de B ");
do{
valorB=Serial.parseInt();
}while(valorB<1);
Serial.println(valorB);
}
if(n==2){
Serial.print("valor de B= ");
Serial.println(valorB);
}
}while(n!=3);
break;
case 3:
do{
Serial.println("=====================");
Serial.println("OPCION 3");
Serial.println("1. ajustar valor C");
Serial.println("2. ver valor actual");
Serial.println("3. salir");
Serial.print("Seleccionar opcion . . ");
do{
n = Serial.parseInt();
}while(n<1);
Serial.println(n);
if(n==1){
Serial.print("introducir valor de C ");
do{
valorC=Serial.parseInt();
}while(valorC<1);
Serial.println(valorC);
}
if(n==2){
Serial.print("valor de C= ");
Serial.println(valorC);
}
}while(n!=3);
break;
case 4:
do{
Serial.println("=====================");
Serial.println("OPCION 4");
Serial.println("1. ajustar valor D");
Serial.println("2. ver valor actual");
Serial.println("3. salir");
Serial.print("Seleccionar opcion . . ");
do{
n = Serial.parseInt();
}while(n<1);
Serial.println(n);
if(n==1){
Serial.print("introducir valor de D ");
do{
valorD=Serial.parseInt();
}while(valorD<1);
Serial.println(valorD);
}
if(n==2){
Serial.print("valor de D= ");
Serial.println(valorD);
}
}while(n!=3);
break;
case 5:
do{
medidaSensor();
n = Serial.parseInt();
}while(n!=5);
break;
}
}
void medidaSensor(){
valorSensor = analogRead(sensor);
Serial.println(valorSensor);
LCD.setCursor(0, 0);
LCD.print(" ");
LCD.print(valorSensor);
if(valorSensor>valorA&&valorSensor<valorB){
Serial.println("ALARMA 1");
digitalWrite(2,LOW);
LCD.setCursor(0, 1);
LCD.print("ALARMA 1");
}
if(valorSensor>valorC&&valorSensor<valorD){
Serial.println("ALARMA 2");
digitalWrite(2,LOW);
LCD.setCursor(0, 1);
LCD.print("ALARMA 2");
}
if(valorSensor<valorA){
Serial.println("NORMAL");
digitalWrite(2,LOW);
LCD.setCursor(0, 1);
LCD.print("NORMAL ");
}
}
int menu(){
Serial.println("=====================");
Serial.println("MENU");
Serial.println("1. Ajuste alarma minimo 1");
Serial.println("2. Ajuste alarma maximo 1");
Serial.println("3. Ajuste alarma minimo 2");
Serial.println("4. Ajuste alarma maximo 2");
Serial.println("5. Monitor");
Serial.print("Elegir opcion . . . ");
do{
opcionMenu=Serial.parseInt();
}while(opcionMenu<1);
Serial.println(opcionMenu);
return opcionMenu;
}