LCD 16x2 com Arduino

Controlando um LCD 16×2 com Arduino 126

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. Então anota tudo que você vai aprender a controlar um display LCD 16×2 com Arduino.

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).

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? Deixe seu comentário logo abaixo. Em caso de dúvidas, caso queira trocar uma ideia, ou até mesmo dividir seu projeto, acesse nosso Fórum!

Posts Relacionados

Deixe uma resposta

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

126 Comentários

  1. Muito bom cara!

    1. Estamos felizes que tenha gostado Nilton, em breve novos posts virão. Compartilhe!

  2. Muito bom cara!

    1. Estamos felizes que tenha gostado Nilton, em breve novos posts virão. Compartilhe!

  3. 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?

    1. 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!

    2. 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.

  4. 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?

    1. 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!

  5. 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!!!

    1. Olá DEIVIS. Sinto muito pela demora mas iremos verificar o problema nesta semana. Caso tenha encontrado a solução neste tempo peço que entre em contato conosco detalhando o problema.
      Até breve!

      1. [RESOLVIDO]: Bem, após inúmeras tentativas e erros, acabei achando um possível problema, no pino RW eu estava deixando vazio, quando na verdade esse pino deveria estar conectado ao GND. Bastou conecta-lo ao GND e passou a funcionar perfeitamente!
        Agradeço pelo interesse em tentar ajudar.

        1. Legal Deivis! Já colocamos uma nota neste Post caso outros usuários encontrem o mesmo problema.
          Um Abraço!

  6. 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!!!

    1. Olá DEIVIS. Sinto muito pela demora mas iremos verificar o problema nesta semana. Caso tenha encontrado a solução neste tempo peço que entre em contato conosco detalhando o problema.
      Até breve!

      1. [RESOLVIDO]: Bem, após inúmeras tentativas e erros, acabei achando um possível problema, no pino RW eu estava deixando vazio, quando na verdade esse pino deveria estar conectado ao GND. Bastou conecta-lo ao GND e passou a funcionar perfeitamente!
        Agradeço pelo interesse em tentar ajudar.

        1. Legal Deivis! Já colocamos uma nota neste Post caso outros usuários encontrem o mesmo problema.
          Um Abraço!

  7. 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

    1. O Shield LCD foi feito especificamente para funcionar com o Arduino. Verifique em quais pinos o Shield está conectando o LCD ao Arduino e altere se necessário o código para casar estes pinos conforme o esquemático deste post.
      Um abraço!

    2. Para quem usa o Shield LCD a configuração dos pinos fica assim no sketch:
      LiquidCrystal lcd( 8, 9, 4, 5, 6, 7 );

      1. Correto ebraz. Já fizemos a alteração.
        Muito obrigado pela cooperação. Abraço!

  8. 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

    1. O Shield LCD foi feito especificamente para funcionar com o Arduino. Verifique em quais pinos o Shield está conectando o LCD ao Arduino e altere se necessário o código para casar estes pinos conforme o esquemático deste post.
      Um abraço!

    2. Para quem usa o Shield LCD a configuração dos pinos fica assim no sketch:
      LiquidCrystal lcd( 8, 9, 4, 5, 6, 7 );

      1. Correto ebraz. Já fizemos a alteração.
        Muito obrigado pela cooperação. Abraço!

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

    1. Olá Luiz.
      Na própria IDE do Arduino já tem. Acesse Sketch > Import Library > LiquidCrystal.h
      Abraço!

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

    1. Olá Luiz.
      Na própria IDE do Arduino já tem. Acesse Sketch > Import Library > LiquidCrystal.h
      Abraço!

  11. 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);
    }
    }

    1. Gil, na void setup()
      Em “Lcd.begin(16, 2)” vc deve mudar o valor de (16, 2) para (20, 4), conforme o seu LCD.

  12. 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);
    }
    }

  13. 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

    1. 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

      1. tirando o resistor e mesmo desligando os pinos 15 e 16 não ocorre alteração, a aparência é que a luz de fundo está desligada.
        obrigado

  14. 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.

    1. Boa noite Marcel,

      A princípio parece ser algum problema no ajuste do contraste do display. Você está utilizando algum potenciômetro ?

      Abraço.

      Adilson – Equipe FILIPEFLOP

      1. eu estou com esse mesmo problema, ja liguei de varias maneiras , liguei ate fora do protoboard so que o problema persiste e eu nao sei mais o que fazer

        1. Bom dia Antonio,

          Você utilizou este circuito do post ?

          Adilson – Equipe FILIPEFLOP

  15. o lcd 16×2 e compativel com arduino due ?

    1. Boa tarde Gilmar,

      O Arduino Due trabalha com nível de sinal de 3.3v. É mais seguro usar um conversor.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  16. 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

    1. Boa noite Gustavo,

      Por favor dê uma olhada neste artigo, provavelmente tem o que você precisa: http://www.arduinoecia.com.br/2013/08/shield-lcd-16×2-com-keypad.html

      Abraço.

      Adilson – Equipe FILIPEFLOP

  17. 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.

    1. Boa tarde Frederico,

      Uma boa opção é utilizar o módulo I2C, com ele, você consegue ligar vários displays ao Arduino utilizando interface I2C.

      https://www.filipeflop.com/pd-179dbc-modulo-serial-i2c-para-display-lcd-arduino.html

      Abraço.

      Adilson – Equipe FILIPEFLOP

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

    1. 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

  19. 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!

    1. Olá, consegui resolver alterando para LiquidCrystal lcd(8, 6, 5, 4, 3, 7);
      De qualquer forma, muito obrigado!

    2. Boa tarde Adalberto,

      É possível sim. Eu fiz a alteração utilizando os pinos que você colocou (8,11,5,4,3,7), e funcionou sem problemas em um display 8×2. Veja se não há alguma conexão incorreta.

      Abraço

      Adilson – Equipe FILIPEFLOP

  20. 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

    1. Bom dia Patrick,

      Por favor dê uma olhada neste link: http://www.arduinoecia.com.br/2014/12/modulo-i2c-display-16×2-arduino.html

      Abraço

      Adilson – Equipe FILIPEFLOP

  21. 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

    1. Bom dia Arthur,

      Os circuitos são montados e testados para garantir que funcionem conforme está explicado no post.

      Abraço!

      Adilson – Equipe FILIPEFLOP

  22. 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!!

    Nilton Baldini Junior
  23. Gostaria de saber em qual simulador os testes são executados?
    Grata!

    1. Bom dia,

      Montamos todos os circuitos para garantir que funcionem de acordo com o tutorial.

      Abraço

      Adilson – Equipe FILIPEFLOP

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

  25. queria saber como fazer a ligaçao no arduino mega

    1. a msm coisa! tu pode escolher em quais pinos ligar!

  26. 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

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

    1. Aconteceu comigo também. O problema estava no potenciômetro do contrate.

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

  29. 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. Bom dia Jonathan,

      Com o exemplo do post ele funciona ?

      Abraço

      Adilson – Equipe FILIPEFLOP

  30. 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.

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

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

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

    1. 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

      1. 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!

        1. Boa tarde Victor,

          Por favor reveja as conexões e a solda dos pinos. Me parece algum tipo de mau contato.

          Abraço!

          Adilson – Equipe FILIPEFLOP

  34. 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 ?

    1. Tenta dar lcd.Clear(); antes de escrever o novo texto

  35. 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() {

    }

    1. Essas rigas:
      lcd.setCursor(0,0);
      lcd.print(“Linha 01″);
      lcd.setCursor(0,1);
      lcd.print(“Linha 02″);

      não deveriam ter o “lcd1” no lugar do “lcd”?

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

  37. 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.

  38. 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

    1. 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

      Tales Almeida Santos
    2. 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.

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

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

  40. #include

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

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

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

  41. 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?

  42. 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?

    1. Boa tarde Leandro,

      Pode sim, sem problemas.

      Abraço!

      Adilson – Equipe FILIPEFLOP

  43. 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

  44. 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

  45. 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.

  46. Olá,

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

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

    1. Boa tarde Daniel,

      Sim, você pode utilizar um resistor, por exemplo, no lugar do potenciômetro.

      Abraço!

      Adilson – Equipe FILIPEFLOP

      1. Você tem algum exemplo de código e montagem de como proceder. Comprei o kit de vocês mas não comprei o potenciômetro.

        1. Olá, fiz o teste com um resistor de 560Ohm ao GND e o contraste ficou excelente. Tente fazer um teste com este valor de resistor.

    2. Você pode usar um pino PWM sem a necessidade de ter um potenciometro a mão.
      Escolha o pino (neste caso foi escolhido o pino 5) e use o código:

      void setup() {
      // lcd.begin(16, 2);
      pinMode(5,OUTPUT);
      analogWrite(5,96); //escolha o valor que ajusta o constraste cfe desejado, neste exemplo 96
      }

  48. 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

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

  50. 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 ^^.

  51. 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

    1. ja consegui ushsuhs

      parte do código :

      ” lcd.setCursor(9, 1); //Posiciona o cursor
      lcd.print(rodada_atual); //Escreve no LCD os pontos

  52. 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 ?

  53. Posso ligar os pinos 4(RS) e 6(E) do LCD nos pinos 6 e 7 do Arduino em vez dos pinos 12 e 11 como mostrado no esquema de ligação(tabela)?

    1. Se fizer a alteração no software tambem, não tem problema nenhum.

  54. meu sensor de temperatura esta funcionando corretamente mais a parte da umidade so fica em 1%, sera que ta queimado a parte responsável pela leitura da umidade?

  55. Olá, estou iniciando no mundo do arduino, e queria pedir ajuda em um projeto de tcc. Conectei um arduino uno à um esp8266 – 01, porém gostaria de mostrar os resultados do monitor serial em um display 16×2. Poderia alguém me dar um auxílio???? Grato desde já…

  56. Posso fazer um medidor de carga de bateria com este display? Se possível envie o código ok? Obrigado.

  57. Olá, estou com um problema na compilação da biblioteca LCD 16×2. Usei o mesmo algoritmo fornecido na página, mas aparece o seguinte erro na última chave do segundo ‘for’:

    exit status 1
    stray ‘\302’ in program

    Alguém consegue me ajudar? Obrigada!

  58. Boa tarde, estou com problemas na ligação do meu display de lcd.
    Giro o potenciômetro de contraste mas não aparece nenhum das letras escritas, ja verifiquei minhas ligações do meu protoboard, mas sem sucesso o que poderia ser ?
    Troquei o potenciõom
    São problemas semelhantes ao do Moises.

    1. Qual a versão devo usar da biblioteca LiquidCrystal do arduino?
      Tem alguma diferença ?

  59. Interesting and informative. But will you write about this one more? I can’t quite remember what he was selling.
    hunter boots sale http://www.huntersale.online

  60. keep at it man, your almost there , thanks for the read!
    Victoria’s Secret online http://www.victoriassecretonline.store

  61. Boa noite,

    Estou fazendo teste já joguei o programa na placa e liguei todos os fios certos mas não está aparecendo nada no meu display. O que estou fazendo de errado?

    Grato,

  62. Estou tendo alguns problemas com o meu projeto de TCC, poderia ter alguma forma de conatato com vocês?

  63. Muito legal! Estou interessado em projetos de arduino com rádiofrequencia…teriam algum projeto para nos mostrar? abracos!

  64. olá boa tarde, estou com um probleminha, pois é para o meu tcc. Eu retirei o potenciometro e gostaria de saber
    qual resistor seria melhor colocar no lugar, e também gostaria de saber onde , ou seja , qual o lugar que devo colocar o resistor no lugar do potenciometro.

  65. Acho que seria legal acrescentar mais um esquema (e código correspondente) , com o brilho do display também controlado pelo Arduino, ligado numa saída pwm . . .

  66. Para conectar o Display LCD 16×2 no Arduino DUE. O método é diferente do UNO?

  67. Adilson realizei o procedimento no display de LCD de 16X2 e funcionou perfeitamente! Vocês estão de Parabéns!

  68. boa tarde estou com um display 16×1, nao deu certo , oque faço?

Trackbacks and Pingbacks

  1. […] 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. […]

  2. […] 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. […]

  3. […] 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. […]