Skip to content

Interface com o Usuário

Estevam edited this page Jun 1, 2024 · 1 revision

Uso do LCD

Como a Interface LCD Funciona

A interface LCD é responsável por exibir informações importantes sobre o sistema, como temperatura, umidade, e nível de água. O LCD utilizado é um display de 16x2, o que significa que ele possui 16 colunas e 2 linhas para exibição de texto.

O que é Exibido

  • Temperatura e Umidade:
  • Na primeira linha do LCD, é exibida a temperatura atual medida pelo sensor DHT11.
  • Na segunda linha do LCD, é exibida a umidade relativa do ar medida pelo sensor DHT11.
  • Nível de Água:
  • Na primeira linha do LCD, é exibida a mensagem "Nível de Água:".
  • Na segunda linha do LCD, é exibido o nível de água atual em porcentagem, medido pelo sensor de nível de água.
  • Estado da Cafeteira:
  • Quando no modo de exibição de estado da cafeteira, a segunda linha do LCD mostra se a cafeteira está "Ligada" ou "Desligada".

Exemplo de Exibição

Temp: 25.0 C
Umidade: 60.0 %

Nível de Água:
75 %

Hoje tem café?
Cafe: Ligado

Interação com Botões

Como os Botões São Usados para Interagir com o Sistema

O sistema possui um botão conectado ao pino 13 do microcontrolador, que é utilizado para alternar entre as diferentes informações exibidas no LCD e para controlar o estado da cafeteira.

Funções dos Botões

  • Alternar Informações no LCD:
  • Ao pressionar o botão, o sistema alterna entre as diferentes telas de informação no LCD:
  1. Exibição de temperatura e umidade.
  2. Exibição do nível de água.
  3. Exibição do estado da cafeteira com a mensagem "Hoje tem café?".
  • Controlar a Cafeteira:
  • Quando o LCD está exibindo "Hoje tem café?", ao pressionar o botão, o estado da cafeteira é alternado entre "Ligada" e "Desligada".

Exemplo de Interação

  1. Início:
  • O sistema liga e exibe a temperatura e umidade no LCD.
  • Temp: 25.0 C
  • Umidade: 60.0 %
  1. Primeiro Pressionamento do Botão:
  • O LCD muda para exibir o nível de água.
  • Nível de Água:
  • 75 %
  1. Segundo Pressionamento do Botão:
  • O LCD muda para exibir o estado da cafeteira.
  • Hoje tem café?
  • Cafe: Desligado
  1. Terceiro Pressionamento do Botão:
  • O estado da cafeteira é alternado (Ligado/Desligado).
  • Se estava "Desligado", muda para "Ligado" e vice-versa.
  • Cafe: Ligado
  1. Quarto Pressionamento do Botão:
  • O LCD volta a exibir a temperatura e umidade.

Código Relacionado

void loop() {
  // Verifica se o botão foi pressionado
  if (digitalRead(BUTTON_PIN) == LOW) {
    // Inverte o estado do modo de exibição
    if (displayTempHum) {
      displayTempHum = false;
      displayWaterLevel = true;
    } else if (displayWaterLevel) {
      displayWaterLevel = false;
      coffeeMakerOn = !coffeeMakerOn; // Inverte o estado da cafeteira
      controlCoffeeMaker();
    } else {
      displayTempHum = true;
    }

    // Exibe com base no estado do modo de exibição
    if (displayTempHum) {
      displayTemperatureAndHumidity();
    } else if (displayWaterLevel) {
      displayWaterLevelFunc();
    } else {
      displayHelloWorld();
    }

    // Aguarda até que o botão seja liberado
    while (digitalRead(BUTTON_PIN) == LOW) {
      delay(10);
    }
  }
}
Clone this wiki locally