Menu con lcd control temperatura/higrómetro

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");
}

Hola,

La manera que a mi más me gusta y que uso, es creando una máquina de estados.
Yo uso esta librería que me hice para ésto... SECUduino/FSM Library at master · IgorReal/SECUduino · GitHub
La máquina de estados se puede hacer de varias formas... a gusto de consumidor!!

Saludos

Igor

Gracias por la informacion pero no me funciona ese codigo

Que codigo no funciona? Es una libreria (hay que copiarla dentro de la carpeta de las librerias, etc) y hay algunos ejemplos para ver como usarla.
Yo estoy usandola para un proyecto que manejo un lcd grafico (bueno, hice esa libreria especificamente para el tema de los menus de dicho proyecto).

La copie en la libreria y abri el ejemplo y no me funciona al compilarlo
De todos modos podrias copiarlo en el foro y explicar un poco el codigo asi aprendo un poco jajaja gracias

http://arduino.cc/forum/index.php/topic,75826.0.html

Gracias por la informacion :wink:

@Igor R

Justo estoy buscando una manera de hacer multiples menus para LCD y he visto que has recibido buenos comentarios de las personas en el foro.

La instalare y la pruebo, gracias!!!!

Si no entiendo algo, espero no te moleste que pregunte.

:sunglasses:

-Alex.

Yo te recomiendo phi menu y sería conveniente que no respondas viejos mensajes. Ya que si miras la última respueta fue de Jul 03, 2012, 10:12 pm

OK gracias @Surbyte.... La instalo y la pruebo!!!

En que parte del foro debo poner preguntas relacionadas?

Proyectos? O software?

Yo creo que software, pero ya lo hiciste