Controlando um LCD 16×2 com Arduino

Controlando um LCD 16×2 com Arduino

Neste post você vai encontrar alguns testes básicos com o display LCD 16×2, um display muito comum com controlador HD44780, que se adapta aos mais diversos projetos, podendo ser usado com vários modelos de placas e microcontroladores como Arduino, Raspberry, PIC e etc.

Display LCD 16x2

Esse display LCD tem 16 colunas e 2 linhas, com backlight (luz de fundo) azul e letras na cor branca. Para conexão, são 16 pinos, dos quais usamos 12 para uma conexão básica, já incluindo as conexões de alimentação (pinos 1 e 2), backlight (pinos 15 e 16) e contraste (pino 3).

Pinagem LCD 16x2

Conexão display LCD 16×2 com Arduino

Na conexão do display ao Arduino Uno vamos utilizar apenas 4 pinos de dados (pinos digitais 2, 3, 4 e 5), e 2 pinos de controle (pinos digitais 11 e 12).

Para o ajuste do contraste, usamos um potenciômetro de 100K, mas você pode testar com outros valores como 10K ou 50K, por exemplo.

Ligacao LCD HD44780

Se preferir, você também pode utilizar um potenciômetro para regular a luz de fundo, nos pinos 15 e 16 do display. Outra opção é usar um resistor em um desses pinos.

Programa de controle LCD

O controle desse display pode ser feito utilizando-se a biblioteca LiquidCrystal, já embutida na IDE do Arduino.

No início do programa (linha 8), definimos os pinos que serão utilizados pelo displays, nesse formato:

LiquidCrystal lcd(<pino RS>, <pino enable>, <pino D4>, <pino D5>, <pino D6>, <pino D7>)

No setup, inicializamos o display definindo o número de colunas e linhas com o comando lcd.begin(16,2).

//Programa: Teste de Display LCD 16 x 2
//Autor: FILIPEFLOP

//Carrega a biblioteca LiquidCrystal
#include <LiquidCrystal.h>

//Define os pinos que serão utilizados para ligação ao display
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup()
{
  //Define o número de colunas e linhas do LCD
  lcd.begin(16, 2);
}

void loop()
{
  //Limpa a tela
  lcd.clear();
  //Posiciona o cursor na coluna 3, linha 0;
  lcd.setCursor(3, 0);
  //Envia o texto entre aspas para o LCD
  lcd.print("FILIPEFLOP");
  lcd.setCursor(3, 1);
  lcd.print(" LCD 16x2");
  delay(5000);
  
  //Rolagem para a esquerda
  for (int posicao = 0; posicao < 3; posicao++)
  {
    lcd.scrollDisplayLeft();
    delay(300);
  }
  
  //Rolagem para a direita
  for (int posicao = 0; posicao < 6; posicao++)
  {
    lcd.scrollDisplayRight();
    delay(300);
  }
}

O programa acima posiciona o texto na posição desejada utilizando o comando lcd.setCursor(), e imprime a string na tela usando lcd.print(“Texto”). Depois de 5 segundos, são utilizados os comandos scrollDisplayLeft() e scrollDisplayRight() para “mover” os caracteres para a esquerda e para a direita, respectivamente.

Circuito Arduino e LCD 16x2

Gostou ? Ajude-nos a melhorar o blog atribuindo uma nota a este tutorial (estrelas no final do artigo), comente e visite nossa loja FILIPEFLOP !

8
Controlando um LCD 16×2 com Arduino
132 votos, 4.77 classificação média (95% pontuação)

Formado em Ciência da Computação pela Universidade de Mogi das Cruzes, atualmente responsável pelo departamento técnico da FILIPEFLOP.

Compartilhe este Post

108 Comentários

  1. maciel - 25 de abril de 2017

    gostaria de saber se tem como gravar em uma memoria de tv ex. uma foto minha para que toda vez que a tv for ligada aparecer a minha foto ao inves de apareçer o logo da empresa fabricante da tv . isto er possivel ? vcs fazem ? e quanto custaria ?

  2. Ruah - 16 de março de 2017

    Gostaria de saber como mostrar no display um determinado dado”; seria a pontuação de um joguinho. Ja tenho a variavel, só não sei com “dispar” shusuh

  3. Leandro - 12 de fevereiro de 2017

    Opa, funcionou aqui, bem bacana e simples o tutorial, no meu caso como eu estou sem o potenciômetro, liguei o Pino 3 V0 no Gnd da arduino, funcionou de boa pra testar, só não acionou o backlight naturalmente ^^.

  4. Geraldo - 31 de janeiro de 2017

    Não esta aparecendo o nome no LCD como faço?

  5. Geraldo - 31 de janeiro de 2017

    montei todo certo porém não consigo carregar o nome para o LCD o programa ta carregando mais o nome não fica passando

  6. Daniel Viana - 22 de novembro de 2016

    Boa tarde, é possível utilizar o display sem o potenciômetro?

  7. Luigi - 2 de outubro de 2016

    Olá,

    Fiz a montagem e deu certo.
    Porém, é normal o pino do meio do potenciometro esquentar?

  8. Wagner Almeida - 28 de setembro de 2016

    100% das pessoas que tem problemas, acredito eu, não faz a soldagem dos contatos do LCD, daí esse problema na pinagem em relaçã ao contato… eu preferi vazar os pinos nos contatos do LCD e apoiando na placa… péssima idéia, não há 100% de certeza em relação ao contato. Uma solução é deixa-los apenas encostados nos furos do LCD e após, passar uma fita isolante forçando os pinos a ficarem inclinados em relação ao eixo dos furos. Após é claro, dar o carregamento.

  9. Wagner Almeida - 28 de setembro de 2016

    Olá! quanto aos caracteres malucos que aparecem, experimentem dar uma leve forçada nos pinos, ajeitando o contato de todos no display… e após, dê um carregamento novamente no programa. Funcionou… o problema ao que vi, é que se houver um único contato fora do local, o display não recebe as informações do carregamento e assim que vc sana o problema do contato, aparecem esses pontos malucos… ou seja, terá que recarregar novamente

  10. Leonardo José - 21 de setembro de 2016

    Olá
    quando ligo o meu arduino o s pinos vazios ficam com 5V e,acredito eu, que por isso aparecem mensagens bem loucas na tela com interrogações e números aleatórios.

    Alguém pode me ajudar a fazer com que os vazios fiquem zero sem colocar um gnd neles ?

    Obrigado

  11. Leandro Luis - 16 de agosto de 2016

    boa tarde, tenho uma duvida. se eu quiser mudar a pinagem no arduino é obrigatório se quir essa sequência?

    LiquidCrystal lcd(, , , , , ) // pinagem display

    posso mudar essa pinagem?

  12. adno - 1 de agosto de 2016

    Boa noite amigos, montei um projeto com lcd16x2 e modulo rele para acionar uma lampada, mas toda vez q a lampada é acionada o lcd fica doido, aparece vários caracteres estranhos e não normaliza mais a não ser que eu reset o Arduíno. Alguém já passou por isso ou sabe como resolver isso?

  13. Eder Fernandes - 1 de agosto de 2016

    #include

    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

    void setup() {
    lcd.begin(16, 2);
    }

    void loop() {
    lcd.print(“Hello world”);
    }

  14. Eder Fernandes - 1 de agosto de 2016

    Os dados aparecem na tela mas fica tudo maluco os quadrados ligados.

  15. Eder Fernandes - 1 de agosto de 2016

    Tentei milhares de vezes sem sucesso.
    Já conferi milhares de vezes todas as conexões e as soldas do LCD.
    Estou usando um lcd 16×2 (1602H).
    Alguma luz amigos ? Tem salvação ? rsrs

    Obrigado.

    Pino 1 LCD: GND
    Pino 2 LCD: 5V
    Pino 3 LCD: Pino central do potenciometro.
    Pino 4 LCD: Porta 12 Arduino
    Pino 5 LCD: GND
    Pino 6 LCD: Porta 11 Arduino
    Pinos 7, 8, 9, 10 LCD: Vazios
    Pino 11 LCD: Porta 5 Arduino
    Pino 12 LCD: Porta 4 Arduino
    Pino 13 LCD: Porta 3 Arduino
    Pino 14 LCD: Porta 2 Arduino
    Pino 15 LCD: 5V
    Pino 16 LCD: GND

    • Tales Almeida Santos - 17 de agosto de 2016

      Verifica se vc ta ligando os pinos certos pq no lcd que eu peguei ele inicia no 16,15,1,….14 entao ao inves de a ligação ser GND, 5v, porta é GND,5v, GND,5V e ai sim segue a sequencia

    • RUBEN MARIO NAZZETTA . - 6 de outubro de 2016

      Eder, uma vez peguei um display xingling que a pinagem estava exatamente ao contrário (pino 1 era o 16 o 2 o 15 e assim por diante) passei uma semana até encontrar o problema e pior, o controlador era um Pic onde vc tem de fazer tudo “na mão”.
      Verifica.

      Abs.

    • Danilo Perdigão - 17 de novembro de 2016

      Tem que usar o lcd.setCursor( , ); senão o arduino vai ficar escrevendo um na frente do outro

  16. Fabricio - 30 de julho de 2016

    Para quem não tem um potenciômetro na mão na hora de testar, liga o V0 no GND. Dá para testar o LCD direitinho.

  17. Jefrey - 24 de junho de 2016

    Para quem estiver com o problema de ver apenas quadrados pretos na tela, a dica é: reveja as soldas dos pinos.

  18. Djony - 21 de junho de 2016

    Boa tarde, excelente tutorial, gosto muito desse blog pela didática que oferece. Será que poderia me dar uma ajuda? Tenho um LCD de 40×4 faço funcionar com o arduino, porém só tenho problemas na 2º e 4º linha, pois os textos não inicia na coluna 1, mas lá depois da metade (coluna 25+ou-), lembro que vi algo para corrigir isso, faz muito tempo e não sei onde encontrei. Já tentei o lcd.setCursor (0,1), mas não adianta.

    #include

    LiquidCrystal lcd1(12, 11, 10, 9, 8, 7); //RS, EN, D4, D5, D6, D7
    LiquidCrystal lcd2(12, 13, 5, 4, 3, 2); //RS, EN2, D4, D5, D6, D7

    void setup() {
    lcd1.begin(40, 2);
    lcd2.begin(40, 2);
    lcd.setCursor(0,0);
    lcd.print(“Linha 01″);
    lcd.setCursor(0,1);
    lcd.print(“Linha 02″);
    lcd2.setCursor(0,0);
    lcd2.print(“Linha 03″);
    lcd2.setCursor(0,1);
    lcd2.print(“Linha 04″);
    }

    void loop() {

    }

  19. Joadson Silvino - 16 de junho de 2016

    Bom dia,eu fiz a ligação deu certo carregei o pro arduino apareceu FILIPEFLOP porem quando carrego outro texto,o display ainda fica do msm jeito não muda nada o que poderia ser ?

  20. Duann - 22 de maio de 2016

    Me tira um duvida, aqui quando plugo o positivo no ponteciometro, tudo desliga como se fechasse curto. o que pode ser?

    • Adilson Thomsen - 23 de maio de 2016

      Bom dia,

      Por favor verifique se a pinagem do display que você está usando é a mesma do display usado no post. Verifique também se o circuito foi montado corretamente e se possível utilize algum outro potenciômetro.

      Abraço!

      Adilson – Equipe FILIPEFLOP

      • vitor hugo - 3 de junho de 2016

        Boa noite, segui o mesmo procedimento do post, apareceu a tela inicial em azul, em seguida fiz o upload do programa e carregou normalmente mas não apareceu nada no display,apenas quando vario o potenciômetro aparece os quadrados brancos na primeira linha e as vezes aparece umas sequencias meias loucas, o que pode ser, alguém me ajude por favor!

  21. Alailson Andrade - 21 de abril de 2016

    fiz umas alterações para usar com i2c, também usando caracteres especiais.

  22. Sergio - 12 de abril de 2016

    Fiz umas modificações na configuração mas funcionou certinho.

  23. Jonas Rezende - 4 de abril de 2016

    Segui o post, mas, infelizmente, não funciona.
    Então, desmontei e fiz testes individualmente, somente:
    I. O Ponteciometro, funcionou;
    II. O LCD , funcionou; então
    III. Troquei o local da fiação na protoboard, liguei diretamente, indiretamente. Ou seja, stressei a protoboard. E o resultado foi positivo para os itens I e II.

    Assim sendo, marquei uma range da protoboard que tenho certeza de não haver problema, com canetinha. Portanto, quando, voltei a montar de acordo com o post, nada acontece.

    Dessa forma, estou certo de que os meus componentes funcionam.

  24. Jonathan - 20 de março de 2016

    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?

  25. Jose carlos - 13 de março de 2016

    Nao funcionou no meu tentei mudar alguns carateres mas mesmo assim nao funciona nem a pau.

  26. Bruna - 23 de janeiro de 2016

    comprei esse lcd do site e nem sinal de vida….e conectei td certo..n tem nem como ter queimado

  27. diego - 20 de dezembro de 2015

    Kra montei igual está ai, mas n funcionou, 2 erros q notei, os caracteres estão desconfigurados no lcd e eu n está setando la posição que quero

  28. bruno henrique - 18 de outubro de 2015

    queria saber como fazer a ligaçao no arduino mega

  29. Had - 14 de outubro de 2015

    O meu LCD sempre queima, como faço pra ajeitar?

  30. Had - 14 de outubro de 2015

    Gostaria de saber em qual simulador os testes são executados?
    Grata!

  31. Nilton Baldini Junior - 29 de setembro de 2015

    Boa noite Galera!
    Estou com um projeto e adquiri uma shield ethernet e uma shield lcd 16×2. Porém com a shield lcd conectada não consigo fazer a ethernet realizar a conexão com o banco de dados, sem a shield conecta normalmente….
    Estou usando a sequencia de pinos para a Shield LCD LiquidCrystal lcd(8, 9, 4, 5, 6, 7); e o visor funciona…. fora essa sequencia o visor não funciona e a ethernet também não….
    Alguém ja passou por isso ou tem alguma solução?

    Obrigado!!

  32. Arthur - 11 de setembro de 2015

    Boa noite,

    Gostaria de saber qual o software que vocês usam para fazer a simulação do circuito como mostra o exemplo do display LCD ? Pois estou procurando alguns bons simuladores de arduino porem não encontro alem de softwares pagos.

    Att,

    Arthur

  33. Patrick Leite Dias - 1 de setembro de 2015

    Boa Tarde

    Meu Lcd e 16×2 so que ele tem o controle das portas igual a este
    http://produto.mercadolivre.com.br/MLB-678116002-display-lcd-16×2-azul-serial-com-2-pinos-arduino-raspberry-_JM

    como fica a programação ?

    obrigado

  34. Adalberto - 2 de agosto de 2015

    Olá, parabéns pelo site, muito bom o conteúdo!

    Estou fazendo um projeto de Termômetro IP com LM35. A ideia é monitorar a temperatura via browser e ao mesmo tempo exibi-la no display usando um Arduino Pro Mini.

    Tenho uma dúvida: posso alterar a pinagem do LCD? Meu problema é que estou com um shield ethernet ENC28J60 e ele usa alguns dos pinos do LCD (o 2 e o 12).
    Alterei a sequência do LCD, no lugar do 12 coloquei o 8 e no lugar do 2 o 7 (de 12, 11, 5, 4, 3, 2 para 8, 11, 5, 4, 3, 7) mas não funcionou legal, aparece um monte de ??????? no display (no caso um display 8×2).
    Há uma solução?
    Muito obrigado!

  35. Daniel - 8 de julho de 2015

    Olá, gostaria de trocar os potenciômetros por resistores, onde ligo e quais valores
    eu devo usar?
    Ótimo site e tutoriais, parabéns.

    • FILIPEFLOP - 9 de julho de 2015

      Bom dia Daniel,

      Se você estiver usando um potenciômetro, pode ajustar o contraste e então medir a resistência do potenciômetro, trocando então por um resistor de valor equivalente.

      De qualquer forma, você pode fazer alguns testes com resistores de 4,7K ou 1 K, e ir ajustando esse valor conforme o contraste que você precisa. Ligue esse resistor ao GND.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  36. Frederico Luiz - 8 de junho de 2015

    Boa tarde!

    Eu gostaria de saber qual o máximo de displays que eu consigo controlar usando o arduino. Normalmente eu sei que seria 1 com o uno e 2 com o mega. Queria saber se posso controlar 5 ou 10 por exemplo, usando apenas um arduino com algum outro hardware, ou apenas outro hardware como por exemplo o raspberry.

  37. Gustavo Miranda - 16 de abril de 2015

    Olá, Boa Tarde.

    Estou com a ideia de um projeto que utiliza o display LCD Shield com Teclado para Arduino, disponivel aqui no site. Porém, me deparei com um problema, os tutorias que encontrei, inclusive esse, ensinam somente a utilização do display sem o shield. E o display que adquiri vem diretamente soldado com o shield.
    Gostaria de saber, se por ventura, se existe um tutorial mais fácil, com a utilização do display fundido com o keyboard shield, pois sou iniciante na utilização do arduino

  38. Gilmar - 2 de outubro de 2014

    o lcd 16×2 e compativel com arduino due ?

  39. Marcel - 6 de julho de 2014

    Bom Dia.

    Comprei um display desses com vocês, mas não liga nem por reza, já segui todos os passos que você ensinou aqui e também tentei seguir os passos do Arduino & Cia, para ligar ele em 8bits, mas nenhum funciona, o display só fica azul, mas não aparece nada escrito.

  40. Cesar - 23 de maio de 2014

    quando conecto o lcd ((1602zfa), até aparece o texto mas fica difícil de ler, a luz de fundo fica fraca. se mudo a regulagem do potenciometro o texto desaparece. usando um potenciometro de 10k ou 100k o resultado é o mesmo. qual pode ser o problema? obrigado

    • FILIPEFLOP - 24 de maio de 2014

      Boa tarde Cesar,

      O potenciômetro apenas regula o contraste. A luz de fundo é controlada pelos pinos 15 e 16. Tente retirar o resistor que está no circuito e veja se melhora.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  41. Funcionamento de um Teclado Matricial Membrana 4x4 | FILIPEFLOP - 14 de março de 2014

    […] A partir daí você vai trabalhar esta informação e pode, por exemplo, enviar este caractere ao display conforme nosso post específico: Controlando um LCD 16×2. […]

  42. Gil - 6 de setembro de 2013

    Estou utilizando display 20×4 e arduino mega 2560, estou com duvida nas pinagens eu utilizei (21,22,31,32,33,34) e ñ alterei mais nada do programa confirei todos os pinos como estar no seu blog mais ñ aparece mensagens nenhuma só acende o display, enquanto vc utilizou os pinos (8, 9, 4, 5, 6, 7) e se for possível explique cada pino desses
    #include

    // Inicializa a biblioteca com os números dos pinos da interface
    LiquidCrystal lcd(22, 21, 34, 33, 32, 31); // Cria um LCD objeto com estes pinos

    void setup() {
    lcd.begin(16, 2); // Seta o display 16 colunas por 2 linhas
    }

    void loop() {
    basicPrintDemo();
    displayOnOffDemo();
    setCursorDemo();
    scrollLeftDemo();
    }

    void basicPrintDemo() {
    lcd.clear(); // Limpa Display
    lcd.print(“FilipeFlop”); // Escreve algum texto
    delay(2000);
    }

    void displayOnOffDemo() {
    lcd.clear();
    lcd.print(“Display On/Off”);
    for(int x=0; x < 3; x++) { // Loop 3 vezes
    lcd.noDisplay(); // Desliga Display
    delay(1000);
    lcd.display(); // Liga Display
    delay(1000);
    }
    }

    void setCursorDemo() {
    lcd.clear();
    lcd.print("SetCursor Demo");
    delay(1000);
    lcd.clear();
    lcd.setCursor(5,0); // Cursor coluna 5 linha 0
    lcd.print("5,0");
    delay(2000);
    lcd.setCursor(10,1); // Cursor coluna 10 linha 1
    lcd.print("10,1");
    delay(2000);
    lcd.setCursor(3,1); // Cursor coluna 3 linha 1
    lcd.print("3,1");
    delay(2000);
    }

    void scrollLeftDemo() {
    lcd.clear();
    lcd.print("Scroll Left Demo");
    delay(1000);
    lcd.clear();
    lcd.setCursor(7,0);
    lcd.print("Filipe");
    lcd.setCursor(9,1);
    lcd.print("Flop");
    delay(1000);
    for(int x=0; x<16; x++) {
    lcd.scrollDisplayLeft(); // Scroll o Display para a esquerda 16 vezes
    delay(250);
    }
    }

  43. Gil - 6 de setembro de 2013

    Estou utilizando display 20×4 e arduino mega 2560, estou com duvida nas pinagens eu utilizei (21,22,31,32,33,34) e ñ alterei mais nada do programa confirei todos os pinos como estar no seu blog mais ñ aparece mensagens nenhuma só acende o display, enquanto vc utilizou os pinos (8, 9, 4, 5, 6, 7) e se for possível explique cada pino desses
    #include

    // Inicializa a biblioteca com os números dos pinos da interface
    LiquidCrystal lcd(22, 21, 34, 33, 32, 31); // Cria um LCD objeto com estes pinos

    void setup() {
    lcd.begin(16, 2); // Seta o display 16 colunas por 2 linhas
    }

    void loop() {
    basicPrintDemo();
    displayOnOffDemo();
    setCursorDemo();
    scrollLeftDemo();
    }

    void basicPrintDemo() {
    lcd.clear(); // Limpa Display
    lcd.print(“FilipeFlop”); // Escreve algum texto
    delay(2000);
    }

    void displayOnOffDemo() {
    lcd.clear();
    lcd.print(“Display On/Off”);
    for(int x=0; x < 3; x++) { // Loop 3 vezes
    lcd.noDisplay(); // Desliga Display
    delay(1000);
    lcd.display(); // Liga Display
    delay(1000);
    }
    }

    void setCursorDemo() {
    lcd.clear();
    lcd.print("SetCursor Demo");
    delay(1000);
    lcd.clear();
    lcd.setCursor(5,0); // Cursor coluna 5 linha 0
    lcd.print("5,0");
    delay(2000);
    lcd.setCursor(10,1); // Cursor coluna 10 linha 1
    lcd.print("10,1");
    delay(2000);
    lcd.setCursor(3,1); // Cursor coluna 3 linha 1
    lcd.print("3,1");
    delay(2000);
    }

    void scrollLeftDemo() {
    lcd.clear();
    lcd.print("Scroll Left Demo");
    delay(1000);
    lcd.clear();
    lcd.setCursor(7,0);
    lcd.print("Filipe");
    lcd.setCursor(9,1);
    lcd.print("Flop");
    delay(1000);
    for(int x=0; x<16; x++) {
    lcd.scrollDisplayLeft(); // Scroll o Display para a esquerda 16 vezes
    delay(250);
    }
    }

  44. LUIZ - 13 de agosto de 2013

    BOA TARDE – ONDE EU ENCONTRO A BIBLIOTECA DO DISPLAY – LiquidCrystal.h

  45. LUIZ - 13 de agosto de 2013

    BOA TARDE – ONDE EU ENCONTRO A BIBLIOTECA DO DISPLAY – LiquidCrystal.h

  46. Fernando - 16 de fevereiro de 2013

    Como eu faço para usar as portas do arduino usando o Shield LCD ? Pois parece que os pinos não estão disponíveis nesse shield

  47. Fernando - 16 de fevereiro de 2013

    Como eu faço para usar as portas do arduino usando o Shield LCD ? Pois parece que os pinos não estão disponíveis nesse shield

  48. DEIVIS - 26 de agosto de 2012

    estou com o mesmo problema postado pelo MOISÉS SAMPAIO… Verifiquei toda a instalação, troquei o LCD e mesmo assim continua com o mesmo problema: O LCD liga, fica com a luz de fundo acesa, utilizei um potenciómetro de 10K quando giro o potenciómetro vejo que há mudanças no LCD (fica na primeira linha os quadradinhos tudo bem acessos) e qdo giro no sentido contrário os quadradinhos somem… Porém as mensagens não são printadas no display…
    Alguma luz!?!?!?

    MOISÉS SAMPAIO, vc conseguiu resolver o problema!? Se sim, me envie a solução.

    Agradeço pelas ajudas!!!

  49. DEIVIS - 26 de agosto de 2012

    estou com o mesmo problema postado pelo MOISÉS SAMPAIO… Verifiquei toda a instalação, troquei o LCD e mesmo assim continua com o mesmo problema: O LCD liga, fica com a luz de fundo acesa, utilizei um potenciómetro de 10K quando giro o potenciómetro vejo que há mudanças no LCD (fica na primeira linha os quadradinhos tudo bem acessos) e qdo giro no sentido contrário os quadradinhos somem… Porém as mensagens não são printadas no display…
    Alguma luz!?!?!?

    MOISÉS SAMPAIO, vc conseguiu resolver o problema!? Se sim, me envie a solução.

    Agradeço pelas ajudas!!!

  50. Patrício - 25 de agosto de 2012

    Uma pequena experiência que eu fiz:

  51. Patrício - 25 de agosto de 2012

    Uma pequena experiência que eu fiz:

  52. Moisés Sampaio - 24 de julho de 2012

    Estou com um problema: fiz a compilação do código e em seguida o upload. Percebi que o arduino recebeu o comando mas não acontece nada com o display, o mesmo fica ligado direto mas não aparece nada. O que pode estar errado?

    • FilipeFlop - 25 de julho de 2012

      Olá Moisés. Isto pode acontecer devido a inúmeras causas. Confira primeiro as ligações entre o seu Arduino e LCD, pode estar acontecendo algum problema de mal contato no seu protoboard. Se possível substitua o LCD para verificar se este apresenta algum problema.
      Se após estas tentativas o problema persistir peço que descreva mais detalhadamente o teu problema.
      Abraço!

  53. Moisés Sampaio - 24 de julho de 2012

    Estou com um problema: fiz a compilação do código e em seguida o upload. Percebi que o arduino recebeu o comando mas não acontece nada com o display, o mesmo fica ligado direto mas não aparece nada. O que pode estar errado?

    • FilipeFlop - 25 de julho de 2012

      Olá Moisés. Isto pode acontecer devido a inúmeras causas. Confira primeiro as ligações entre o seu Arduino e LCD, pode estar acontecendo algum problema de mal contato no seu protoboard. Se possível substitua o LCD para verificar se este apresenta algum problema.
      Se após estas tentativas o problema persistir peço que descreva mais detalhadamente o teu problema.
      Abraço!

    • Marcel - 6 de julho de 2014

      Moisés, Boa Tarde, estava com o mesmo problema, resolvi acrescerntando o pino RW na GND, Trocando o resistor de 10k por um de 3k (ou dois de 1,5k em série) e ao invés de ligar esse resistor em 5v ligue ele em GND.

  54. Funcionamento de um Teclado Matricial Membrana 4×4 | FilipeFlop - 22 de maio de 2012

    […] A partir daí você vai trabalhar esta informação e pode, por exemplo, enviar este caractere ao display conforme nosso post específico: Controlando um LCD 16×2. […]

  55. Funcionamento de um Teclado Matricial Membrana 4×4 | FilipeFlop - 22 de maio de 2012

    […] A partir daí você vai trabalhar esta informação e pode, por exemplo, enviar este caractere ao display conforme nosso post específico: Controlando um LCD 16×2. […]

Deixe uma resposta