quarta-feira, 15 de janeiro de 2014

Arduino - Menu em LCD 16x2 ( Parte 3 )



2 comentários:

  1. Saudações, primeiramente parabéns pelo post, esse exemplo de menu lcd ficou bem prático e melhor de entender. Estou montando um menu e copiei o código do seu post e fiz umas alterações.
    Fiz 2 case um como se fosse uma tela de apresentação escrito "Arduino", na outra tela que usei o nome"Numero de pulsos" quero poder alterar esse numero através dos botões, navego entre os menus pelos botões 1 e 2 e quando aperto o 3 nesse caso com o 1 e 2 conseguir alterar, diminuir e aumentar o numero de pulsos e clicando novamente no botão 3 sair. Vou postar o código que estou montando, sou leigo em programação e se puder me dar alguma ajuda, dicas algo do tipo ficarei muito grato. Obrigado.

    #include
    int contador=0;
    int pulsos=0;
    const int botao = 5;
    const int botao2 = 6;
    const int botao3 = 7;
    boolean troca = false ;
    boolean troca1 = false ;
    boolean troca2 = false ;
    LiquidCrystal lcd(13, 12, 11, 10, 9, 8);

    void setup() {
    lcd.begin(16, 2);
    pinMode(botao, INPUT);
    pinMode(botao2, INPUT);
    pinMode(botao3, INPUT);
    digitalWrite(botao, HIGH);
    digitalWrite(botao2, HIGH);
    digitalWrite(botao3, HIGH);
    }

    void loop() {
    int estado =0;
    int estado2 =0;
    int estado3 =0;
    //faz a leitura do estado dos botoes
    estado = digitalRead(botao);
    estado2 = digitalRead(botao2);
    estado3 = digitalRead(botao3);
    //controle da sequencia do menu
    if (estado == HIGH) {
    delay(100);
    contador=contador+1;
    }
    if (estado2 == HIGH) {
    delay(100);
    contador=contador-1;
    }
    if (contador<0){
    contador=3;
    }
    switch(contador){
    case 0:
    lcd.setCursor(0, 0);
    lcd.print("Numero de pulsos: ");
    if (digitalRead(botao3)==HIGH)
    if (estado == HIGH) {
    delay(100);
    pulsos=pulsos+1;
    }
    if (estado2 == HIGH) {
    delay(100);
    pulsos=pulsos-1;
    lcd.setCursor(0, 1);
    lcd.print(pulsos);
    }
    break;
    case 1:
    lcd.setCursor(0, 0);
    lcd.print("Arduino ");
    break;
    default:
    contador=0;
    pulsos=0;
    }
    }

    ResponderExcluir
  2. ola, preciso de uma ajuda para alterar uma parte do código que não estou a conseguir
    minha ideia é no menu "BG" criar a opção OFF, 25%, 50%, 75% e 100% para ser a placa a regular a intensidade do lcd
    ja alterei as ligações mas nao estou a conseguir adicionar mais opções, pode me ajudar

    obrigado

    ResponderExcluir