Utlilizando o Display LCD com Arduino

WP_20140418_10_32_53_Pro

Um módulo muito comum nesses kits do Arduino é o display LCD, mas seu uso não é tão simples. Nesse tutorial você vai aprender a utilizá-lo e, ao final do post,  a montar um joguinho onde um participante insere uma palavra ou frase no terminal pelo PC e o outro participante deve adivinhar a palavra inserida a partir da palavra bagunçada aleatoriamente que aparece no LCD .

Lista de Componentes:

Arduino(Uno, Mega, Nano… não importa o modelo).

Display LCD 16×2.

Resistor de 1KΩ.

Potenciômetro de 10KΩ.

Jumpers.

1 – Montagem.

A montagem é simples, você pode ver na figura baixo.

O potenciômetro de 10KΩ é muito importante, e não pode ser dispensado, você pode montar todo o projeto e não ver os caracteres se ele não estiver presente ou mal conectado, pois sua função é regular o contraste do LCD.

O resistor de 1KΩ é usado para diminuir a corrente no LED de iluminação background do LCD, alguns LCDs não possuem esse background e os pinos A e K.

Entendendo como a biblioteca funciona.

A biblioteca usa o LCD em modo de 4 bits, o que quer dizer que são necessários apenas quatro fios para enviar os caracteres(8 bits) ao LCD de D4 a D7.  Se você estudou barramentos em microprocessadores, sabe que para se pegar um dado de 8 bits por um barramento de 4 bits são necessários dois acessos(Tá bom, é meio lógico), porém essa diferença de velocidade entre quando se usa 8 bits e 4 bits é imperceptível para nossos olhos.

Os Pinos RS e ENABLE, selecionam se o LCD vai receber um comando(setar o cursor, limpar) ou caractere(a, b , #…) e se vai estar ativo ou inativo respectivamente.

A biblioteca se encarrega de toda essa parte de baixo nível, deixando mais fácil a utilização do LCD, além de nos deixar quatro pinos livres do Arduino para outras aplicações.

2 – Código

O primeiro código está nos exemplos da biblioteca LiquidCrystal que já vem no software Arduino, então você não precisa baixá-la, use-o para testar se sua montagem está correta, depois, caso queira, edite-o ao seu gosto.

 

O segundo código, também é dos exemplos da biblioteca LiquidCrystal,  e escreve no LCD o que o usuário digitar no terminar serial do Arduino.

Para abrir o terminal serial clique no ícone da lupa na IDE do Arduino.Clique no ícone da lupa para abrir o terminal serial do Arduino.

Screen Shot 04-17-14 at 08.20 PM
Clique no ícone da lupa na IDE do Arduino para abrir o terminal serial .

 

WP_20140418_11_03_15_Pro
Abra o terminal serial e digite algo para ver no LCD

 

3 – Bônus.

Usando o mesmo circuito e mudando adicionando apenas um botão e um resistor de 10KΩ, você pode criar um dispositivo capaz de bagunçar uma cadeia de caracteres inseridos pelo computador. Afinal! Quem não precisa hoje de um dispositivo que bagunce strings? Uma possibilidade seria usá-lo para uma espécie de jogo onde alguém insere a frase ou palavra pelo PC e dá uma dica talvez, e outro alguém tenta adivinhar qual palavra foi bagunçada.

A montagem é quase a mesma, como disse, basta apenas adicionar um resistor e um push button.

Screen Shot 04-17-14 at 05.36 PM
A mesma ligação, apenas adicione o botão e o resistor.

 

A variável  dificultlevel pode ser aumentada ou decrescida de acordo com a dificuldade que você queira, quando maior o valor mais trocas haverão; quando seu valor é zero não há trocas de lugares, fazendo o mesmo que o código anterior.

Já ouviu aquela história sobre uma universidade inglesa que pesquisou que não importa em que ordem as letras de uma palavra estão desde que a primeira e a última estejam  no lugar certo?… blá blá blá… e que isso se dá ao fato de nosso cérebro ler a palavra como um todo?

 

 As nsobaelus são nuvnes de peoria, hdgnoeriio e pslama. São canstnementote  rgeõies de fraãomço ealetsr, cmoo a noeslbua da Áigua . Etsa nbouelsa froma uma das mias bleas e foasmas ftoos da NSAA, “Os Prliaes da Caçrião” .

E ai? deu pra ler? Não sei  se é um bom exemplo por que eu que fiz, esse trecho foi tirado da página da Wikipédia sobre nebulosas. Ah sim! A variável activeryeasymode serve pra isso, quando seu valor é ‘1’(um), faz com que as primeira e última letras não sejam trocadas, se quiser tentar no hard mesmo mude-a para ‘0’(zero).

Pequeno exemplo:

 

Funciona com frases também:

 

Qualquer dúvida, não seja tímido, deixe um comentário. Ainda espero o dia em que descobrirei que não estou falando só.

Por enquanto é isso galera, ainda tenho planos para mais posts com LCD, não temos atualizado muito o site porque nosso semestre na facul  tá muito corrido. Mas não se preocupem quando tiver um tempinho vou postar mais tutoriais,então fiquem ligados no Dragão!

Robson Couto

Estudante de engenharia elétrica. Gosto de dedicar meu tempo a aprender sobre computadores, eletrônica, programação e engenharia reversa. Documento meus projetos no Dragão quando possível.

7 thoughts on “Utlilizando o Display LCD com Arduino

  1. Todas as ligações estão OK, mas não consigo escrever no display, ele simplesmente liga e fica la sem sinal nenhum…Estou usando sensor de luz e sensor de temperatura, todos funcionando 100%, e substitui a conexão 11, pela 10(a 11 ja esta sendo usada), qual será o problema?

    1. Olá ELLEN CAPELO, se você escrever no setup() { } e não tiver alteração dentro do loop(), essa mensagem vai ficar fixa no display.. Caso queira com alguma condição, tem que colocar dentro do loop() { } depois da condição que deseja.

      Será que ajudei ou atrapalhei ????? Abraços

Leave a Reply

Your email address will not be published. Required fields are marked *