Olá leitores. No artigo (e vídeo) de hoje vou ensinar a criar (menus) várias telas em display LCD 16×2 com Arduino UNO (Fritzen UM). O objetivo deste tutorial é oferecer um código básico para que você possa criar menus (diversas telas diferentes) para seus projetos com Arduino UNO.

O hardware utilizado pode ser visto no diagrama esquemático abaixo. Note que eu estou utilizando um display LCD com comunicação i2C, porém você pode utilizar qualquer outro display LCD que o código vai ficar bem parecido (poucas modificações).

 

 

diagrama esquemático - menu com lcd

 

O código para o Arduino pode ser obtido neste link (GitHub) e também está visível abaixo. Ele funciona da seguinte forma:

  • O pressionar do botão é tratado por uma função debounce e incrementa uma variável chamada “WhichScreen”,
  • Cada tela do menu está em uma função separada. A escolha em qual tela entrar é feita através do número contido na variável “WhichScreen”, dentro da função Switch.. case.
  • Existem somente seis (6) telas, então quando o botão for pressionado pela sétima (7) vez a variável “WhichScreen” é colocada para um (1) novamente, num ciclo infinito. Nada impede que sejam criadas tantas telas quanto necessário.
  • Cada tela contém apenas texto, porém QUALQUER COISA pode ser colocada nestas telas (variáveis, contadores, caracteres especiais, etc), bastando somente que isso seja programado dentro da função de cada tela.

 

Segue o vídeo com as explicações e demonstração de funcionamento:

 

 


Comprar o display LCD com i2c:

Comprar o Arduino UNO (Fritzen UM) feito por mim, Clique AQUI

Várias telas em display LCD

2 ideias sobre “Várias telas em display LCD

  • agosto 2, 2017 em 12:51 pm
    Permalink

    Posso utilizar essa mesma programaçao sem utilizar i2c ?

    Resposta
    • agosto 3, 2017 em 8:49 am
      Permalink

      Olá rodrigo. Com certeza, só o que vai mudar é a forma de inicializar o LCD e também a forma de chamar as funções dele (escrita, apagar, etc). Além é claro da pinagem.

      Resposta

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Solve : *
13 + 24 =