LusoRobótica - Robótica em Português

Sistemas específicos => Arduino / AVR => Tópico iniciado por: brunomartins em 01 de Maio de 2009, 20:50

Título: LCD 16x2 e Arduino
Enviado por: brunomartins em 01 de Maio de 2009, 20:50
Pessoal, alguém poderia me ajudar a programar um lcd para o arduino?

Já consigo mostrar no arduino mas preciso fazer um menu para o LCD, onde o usuário pode escolher  opção para poder setar a programação.


Segue em abaixo a programação que eu ja fiz.


Código: [Seleccione]
#include <LiquidCrystal.h>

int pinDiminui = 7;               
int pinAumenta = 6;             
int pinSeta = 8;
int val = 0;                   
int t = 0;
int tempmax, tempmin = 0;
LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);


void setup() {
  lcd.clear();
  pinMode(pinDiminui, INPUT);     
  pinMode(pinAumenta, INPUT);     
  pinMode(pinSeta, INPUT);
  Serial.begin(9600);
  lcd.print("Boa noite");
  delay (2000);
 // int t = 0;
}

//int t = 0;

void loop()
{
  val == LOW;
    lcd.clear();
    val = digitalRead(pinAumenta); 
       if (val == HIGH) {     
          t++;
          val == LOW;
          //Serial.println(t); 
          }
       val = digitalRead(pinDiminui); 
              if (val == HIGH) {           
              t--;
              val == LOW;
              //Serial.println(t); 
          }
   
    //Serial.println(t);
    lcd.print(t);
    delay(100);
}


Estou precisando implementar um menu da seguinte forma:

1 - Temperatura Maxima
2 - Temperatura Minima
3 - Visualizar Temp

Se o usuário escolher a opção 1, irá setar a temperatura maxima, irá salvar o dado em uma variavel,  o mesmo se aplica a temperatura minima. na opção 3 ele irá visualizar a temp max e min.

Desde já agradeço.

Uma duvida, na propramação acima, quando chamo a funcão salvarTemperatura, não consigo fazer a função loop parar, ele ficar chamando o loop toda hora, mesmo quando eu preciono o botão.

Alguém tem alguma idéia do erro que posso estar cometendo?