21/06/13
Adquira estes componentes na Loja do Lab de Garagem
Olá Garagistas! Neste tutorial, vamos mostrar como montar o circuito e como utilizar o LCD com o Arduino. Faremos também um exemplo criado pelo LdG, onde escrevemos na tela do LCD:
"Ola Garagista!
LabdeGaragem 1"
Sendo o "Olá Garagista" uma saudação, "LabdeGaragem" nossa assinatura e o "1" escrito na mensagem, está representando uma contagem dos segundos passados após o início do programa. Vamos começar!
Materias Utilizados:
1. O Funcionamento
1.1) LiquidCrystal.h: A "LiquidCrystal.h" é a biblioteca que iremos utilizar para fazer o controle do LCD, utilizando o Arduino. Ela é bastante útil, pois possui funções que nos auxilia nas configurações e tratamento dos dados a serem enviados ao LCD. Na lista abaixo, estão contidas as funções que podem ser utilizadas pela biblioteca. Para mais detalhes sobre uma certa função, basta somente clicar nela que você será redireciona para o site da Arduino.cc, onde você vai encontrar o que essa função faz, e a sintaxe para se utilizar ela.
1.2) A Pinagem do LCD: Na parte traseira do LCD você encontrará a numeração dos pinos, encontrando apenas o número 1(à direita) e o número 16(à esquerda), indicando que a contagem dos pinos vai de 1 a 16 da direita, para a esquerda. Na tabela abaixo, você poderá encontrar a descrição de cada pino do LCD:
1.3) Datasheet do LCD: No Datasheet podemos encontrar informações sobre o LCD, e saber quais os pinos vamos utilizar para fazer a montagem do circuito do LCD com o Arduino! Na nossa demonstração, não utilizaremos apenas os pinos 7, 8, 9 e 10. Após consultar o Datasheet, faça a montagem do circuito.
2. A Montagem
Figura 1 - Montagem do Circuito: LCD + Arduino
3. O Sketch
-------------------------------------------------------------------------------------------------------------------------------------------------
#include <LiquidCrystal.h> //Inclui a biblioteca do LCD
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Configura os pinos do Arduino para se comunicar com o LCD
int temp; //Inicia uma variável inteira(temp), para escrever no LCD a contagem do tempo
void setup()
{
lcd.begin(16, 2); //Inicia o LCD com dimensões 16x2(Colunas x Linhas)
lcd.setCursor(0, 0); //Posiciona o cursor na primeira coluna(0) e na primeira linha(0) do LCD
lcd.print("Ola Garagista!"); //Escreve no LCD "Olá Garagista!"
lcd.setCursor(0, 1); //Posiciona o cursor na primeira coluna(0) e na segunda linha(1) do LCD
lcd.print("LabdeGaragem"); //Escreve no LCD "LabdeGaragem"
}
void loop()
{
lcd.setCursor(13, 1); //Posiciona o cursor na décima quarta coluna(13) e na segunda linha(1) do LCD
lcd.print(temp); //Escreve o valor atual da variável de contagem no LCD
delay(1000); //Aguarda 1 segundo
temp++; //Incrementa variável de contagem
if(temp == 600) //Se a variável temp chegar em 600(10 Minutos),...
{
temp = 0; //...zera a variável de contagem
}
}
-------------------------------------------------------------------------------------------------------------------------------------------------
Copie e cole o sketch, que está dentro das linhas pontilhadas na Arduino IDE, selecione a versão da sua placa Arduino, selecione a porta serial e clique em UPLOAD. Você verá que após o upload do sketch o LCD escreverá as mensagens e começará a fazer a contagem dos segundos de programa iniciado. Pronto, seu LCD está funcionando!
E é isso aí! Esperamos que tenham gostado deste tutorial! Caso tenham dúvidas sobre o tutorial, vocês podem postar aqui mesmo! Vocês também podem sugerir tutoriais, clicando aqui, podem ver nossos tutoriais anteriores clicando aqui e os projetos, clicando aqui. Até a próxima Garagistas!
Referências:
http://www.sparkfun.com/datasheets/LCD/GDM1602K.pdf
http://arduino.cc/en/Tutorial/LiquidCrystal
Comentar
quando eu faço upload aparece-me isto no fim:
avrdude: stk500_getsync(): not in sync: resp=0x30
poquê??
Preciso programar um LCD através do Arduino, mas depois que estiver com os dizeres no LCD, preciso desconectar do Arduino e colocar o LDC em um painel com fonte própria. É possível fazer isso, não perder os dizeres do LCD e utilizar o Arduino para programar outros LCDs com outros dizeres?
entao gostaria de incrementar o display com a relay board
para mostrar no display qual rele da relay board esta em on ou mesmo em off
Muito bom, gostei.
tem como configurar os pinos de controle , fazer alterações tipo pino rs do display passa a ser controlado pelo pino pd0??
Alguns dos amigos poderiam me falar se posso utilizar este mesmo conceito para o raspberry pi ?
Posso usar potenciômetros de 100 K ?
OK, lcd funcionou normalmente. Porem como faço para visualizar textos com mais de 16 caracteres na 1º linha ? existe algum comando que o texto fica passando, assim seria possível ler um texto maior....alguém poderia me ajudar ?
Prezados amigos adquiri o kit Starter Kit Avançado (com Arduino Uno REV3 Original), e comecei a fazer os projetos, no projeto LCD segui todos os passos, esta tudo funcionado, porem o LCD esta fraquinho, não acende e as letras mal da para ver, coloquei o potênciomentro no máximo porem fica da mesma forma muito fraco as letras e o LCD não acendo o que pode ser?
Augusto, eu li sim o seu post, vc respondeu que o erro do programa era a falta do "=0" na função TEMP, porém não resolveu o meu problema, por este motivo que refiz o questionamento. Ontem consegui solucionar o problema, na verdade era que o R/W (pino 5) deveria ser ligado na porta 12 e o pino 6 deveria ser ligado no pino 11, encontrei esta solução em um forum, e funcionou perfeitamente. Obrigado pela ajuda e paciencia Augusto !
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por
Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!
Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)