Hola que tal a todos soy nuevo en esto y busco un poco de informacion con este tema.
Necesito una manera de manejar un menu con una lcd y arduino para unsistema de control de temperatura higrometro etc.. de momento lo unico que tengo es esto y se que no es la mejor manera me podriais informar un poco gracias
int menu;
int salida;
int fotocelda;
int Temperatura;
int anal = A1;
int sonda =0;
String AnuncioMenu;
void Estado();
void Anuncio();
void Menu();
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
void setup(){
pinMode (1,INPUT);
pinMode (13,OUTPUT);
pinMode (6,OUTPUT);
lcd.begin (16,2);
digitalWrite (15,HIGH);
}
void loop(){
sonda=analogRead(anal);
sonda=(5.0*sonda*10.0)/1024.0;
menu=analogRead (0);
menu=map (menu,0,1023,0,4);
if (sonda>=31){
digitalWrite(salida,HIGH);
lcd.setCursor(5, 1);
lcd.print ("on");
}
else {
digitalWrite(salida,LOW);
lcd.setCursor(5, 1);
lcd.print ("off");
}
switch (menu){
case 0:
AnuncioMenu = "Driftwr 2000";
Menu();
Anuncio();
break;
case 1:
AnuncioMenu = "Temperatura";
Menu();
salida =9;
Temperatura = sonda;
lcd.setCursor(1,1);
lcd.print(Temperatura);
break;
case 2:
AnuncioMenu = "led";
Menu();
salida = 13;
Estado ();
break;
case 3:
AnuncioMenu = "buzzer";
Menu();
salida = 6;
Estado ();
break;
case 4:
AnuncioMenu = "Fotocelda";
Menu();
fotocelda = analogRead (2);
lcd.setCursor(0,1);
lcd.print(fotocelda);
break;
}
delay (300);
lcd.clear();
}
void Menu (){
lcd.setCursor(0,0);
lcd.print(AnuncioMenu);
}
void Estado() {
int buton = digitalRead (15);
if (buton == HIGH) {
digitalWrite(salida,HIGH);
lcd.setCursor(6, 1);
lcd.print ("on");
}
else {
digitalWrite(salida,LOW);
lcd.setCursor(6, 1);
lcd.print ("off");
}
}
void Anuncio() {
lcd.setCursor(3, 1);
lcd.print ("Puls Next");
}