Como conectar o Display LCD TFT 3.5″ no Raspberry Pi 81

Com o Display LCD TFT Touch 3.5″ você pode ter muito mais mobilidade no seu projeto com Raspberry Pi, já que ele reúne em uma mesma placa as funções de teclado, mouse e display. Neste post, vamos mostrar como conectar e configurar esse display touch em um Raspberry Pi 3.

Display LCD TFT Raspberry Pi

Esse display funciona como se fosse um shield para Raspberry, encaixado diretamente na GPIO e ocupando os pinos de 1 a 26,  deixando os outros pinos livres para utilização pelo usuário.

Display - Detalhe encaixe

O procedimento de configuração a seguir foi testado em uma instalação do Raspbian feita à partir do Noobs versão 1.4.1.

Configurações iniciais e atualização do Raspbian

Antes de configurar o display, vamos atualizar o Raspbian. Certifique-se de que o Raspberry está conectado à internet e execute os comandos à seguir:

sudo apt-get update
sudo apt-get upgrade

Após a atualização, reinicie o Raspbian:

sudo reboot

Habilitando os drivers do display TFT

Para habilitar os drivers do displays, vamos editar o arquivo config.txt:

sudo nano /boot/config.txt

Na tela de edição, adicione a linha abaixo no final do arquivo, tomando o cuidado de não deixar nenhum espaço entre os caracteres:

dtoverlay=piscreen,speed=16000000,rotate=90

Tela Config.txt

Reinicie o Raspbian:

sudo reboot

Calibração e configuração da interface gráfica

Vamos agora preparar o Raspbian para carregar a interface gráfica e também para executar o software de calibração do display.

Execute o seguinte comando para editar o arquivo 99-fbturbo.conf:

sudo nano /usr/share/X11/xorg.conf.d/99-fbturbo.conf

Na tela de edição, procure pela linha contendo Option “fbdev” “/dev/fb0”, e adicione o símbolo # no início da linha para comentá-la, ficando assim:

#Option “fbdev” “/dev/fb0”

Salve o arquivo e em seguida execute o seguinte comando:

sudo apt-get install libtool libx11-dev xinput autoconf libx11-dev libxi-dev x11proto-input-dev -y

Os comandos abaixo efetuam o download e instalação do xinput_calibrator, utilizado para calibração do display:

git clone https://github.com/tias/xinput_calibrator
cd xinput_calibrator/
 ./autogen.sh
make
sudo make install

Vamos agora fazer o download e setup do script de calibração:

cd ~
wget http://ozzmaker.com/piscreen/xinput_calibrator_pointercal.sh
sudo cp ~/xinput_calibrator_pointercal.sh /etc/X11/Xsession.d/xinput_calibrator_pointercal.sh

Modifique o arquivo autostart para que o script de calibração seja executado na inicialização:

sudo nano /etc/xdg/lxsession/LXDE-pi/autostart

No final do arquivo, adicione a seguinte linha:

sudo /bin/sh /etc/X11/Xsession.d/xinput_calibrator_pointercal.sh

Nesse ponto você já pode testar o display executando o comando abaixo:

FRAMEBUFFER=/dev/fb1 startx

No próximo passo, vamos inserir esse comando na inicialização do Raspbian para que a parte gráfica do Raspbian seja carregada já no display TFT.

Carregando a interface gráfica diretamente no display LCD TFT

Para fazer com que a interface gráfica do Raspbian seja mostrada automaticamente no display TFT quando você ligar o Raspberry, vamos editar dois arquivos. O primeiro é o inittab:

sudo nano /etc/inittab

procure pela seguinte linha:

1:2345:respawn:/sbin/getty –noclear 38400 tty1

comente essa linha com o caractere #:

#1:2345:respawn:/sbin/getty 115200 tty1

Logo abaixo, adicione:

1:2345:respawn:/bin/login -f pi tty1 /dev/tty1 2>&1

O arquivo inittab ficará assim:

Tela Inittab

O segundo arquivo que vamos editar é o rc.local:

sudo nano /etc/rc.local

Adicione a linha abaixo na parte final do arquivo, logo acima do comando exit, como na imagem:

su -l pi -c “env FRAMEBUFFER=/dev/fb1 startx &”

Tela rc.local

Reinicie o Raspbian com o comando sudo reboot

Após alguns segundos, o Raspbian será carregado e na primeira utilização você terá a tela de calibração abaixo. Quando solicitado,  toque nas extremidades do display, nos círculos marcados em vermelho. De preferência, faça isso com a caneta que acompanha o display:

Tela Calibração

Terminada a calibração, a interface gráfica do Raspbian será carregada já no display TFT. Provavelmente você vai querer utilizá-lo com um teclado virtual. Para isso, instale o Matchbox:

sudo apt-get install matchbox-keyboard

Após a instalação, utilize o teclado acessando o Menu -> Acessórios -> Keyboard

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

Posts Relacionados

Deixe uma resposta

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

81 Comentários

  1. Olá, adquiri um display desses na Filipeflop e estou tentando configurar o mesmo no meu PI, porém nào consigo fazer a alteraçào da linha no inittab, pois o arquivo nào existe mais. Como posso fazer?

    Obrigado!

    1. Bom dia Guilherme,

      Estranho. Você está usando o Raspbian ?

      Abraço

      Adilson – Equipe FILIPEFLOP

      1. Bom dia!

        Sim! Instalei o Raspian através do Noobs, e fiz uma atualização. Em algumas pesquisas pela web achei comentários falando que não existia mais o Inittab no Raspbian Jessie, que é a versão que eu atualizei. Tentei realizar outras tentativas, mas sem sucesso.

        Abraço!

        1. Estou com o mesmo problema

          1. Eu ainda não encontrei a solução.

        2. Guilherme, resolvi o problema instalando o raspberry novamente.
          Estava com problema no reconhecimento do modulo WIFI e tambem resolveu.

  2. Olá!
    Para mim não funcionou, fiz passo a passo como explicado, mas a tela não funciona! Deve ser porque o meu Raspberry PI é o Model B+ 512MB!
    Minha tela usa o Vídeo controller ILI9341
    Seguindo as instruções deste site “http://hardware-libre.fr/2015/07/review-guide-waveshare-sainsmart-3-2-inch-rpi-lcd/ ” consegui fazer a tela funcionar mas não consigo rotacionar a tela e o touch fica invertido e também não consigo corrigir isso!
    Ficaria muito grato por qualquer ajuda!
    Obrigado!

  3. Bom dia FilipeFlop.

    Gostaria de saber se esse display é compatível com a primeira versão do Raspberry Pi model B?

  4. Legal Rogério! Reinstalaste a mesma versão do Raspbian ( a Jessie )?

    1. Guilherme, reinstalei a Wheezy (05-05-2015). Não tentei com a Jessie.

  5. Valeu Rogério! Vou seguir esse mesmo caminho até que tenhamos uma solução para a versão Jessie!

  6. Boa noite. Tem como ligar esse display em um arduino mega?

    1. Bom dia Francisco,

      Esse display é indicado para uso com o Raspberry Pi.

      Abraço

      Adilson – Equipe FILIPEFLOP

  7. Bom dia Adilson,
    Fiz todas configurações, funcionou perfeitamente.
    Um dúvida, caso eu queira usar com monitor hdmi novamente é só plugar que funciona? ou terei que fazer alguma configuração já que fiz para funcionar para display?
    att

    1. Boa tarde Pedro,

      Se não me engano, basta você tirar o shield que a saída de video volta para o HDMI. De qualquer forma, você pode tirar a linha do arquivo inittab.

      Abraço!

      Adilson – Equipe FILIPEFLOP

  8. Boa tarde, muito bom o site. Estou estudando a viabilidade de comunicação entre dois raspberry usando xbee. Queria saber se é possível conectar o Display LCD TFT Touch 3.5″ em um raspberry juntamente com o xbee? sendo que o display serviria para entrada de dados. Muito Obrigado

  9. Boa tarde,

    Acabei de instalar na versão Jessie e não encontrei o arquivo inittab também. O display funciona apenas quando executo o comando “sudo FRAMEBUFFER=/dev/fb1 startx” e não inicializa junto com a Rasp. Vi que pode ocorrer de não ter mesmo o arquivo inittab. Qual seria a solução para que ele inicialize junto com a Rasp?

    Obrigada,
    Gabrielle

    1. Boa tarde,

      Sim, na versão Jessie o inittab não existe mais. Estamos verificando a solução desse problema e providenciando a atualização do post.

      Abraço.

      Adilson – Equipe FILIPEFLOP

      1. Quando vai ficar pronta essa atualização do post?

      2. Aguardando tb essa atualização 🙁

  10. Após realizar todos os passos, no meu rasp tbm não apareceu nada no inittab e ao reinicar solicitou usuario e senha. Tentei colocar a padrao “pi” e “raspberry” mas não foi
    Tem mais alguma padrao??

  11. Ola!
    Tenho que finalizar um progeto e optei pela raspberry. Meu problema, como todos aqui, è a configuraçao do LCD. Fiz como vc falou e como ja foi comentado, o meu LCD funziona somente se eu der o comando “sudo FRAMEBUFFER=/dev/fb1 startx” ….vcs ja encontraram uma soluçao ao problema? obrigado

  12. Depois de muiiito sofrimento e tentativas direi como consegui que o tal TFT funcionasse:
    Tudo que esta neste tutorial funciona, aparte 2 itens que modifiquei e funcionou.
    1- O arquivo que para todos nos aparece em branco “inittab” eu fiz uma coisa simple: Copiei e colei dentro dele todo o texto que consegui encontrar no file de instalaçao do driver.
    2- Para o reboot direto do TFT eu encontrei a solucao. Para poder funcionar sem ter que todas as vezs entrar com o comando: su -l pi -c “env FRAMEBUFFER=/dev/fb1 startx &” se entra na tela de ediçao e muda assim:

    sudo nano /usr/share/X11/xorg.conf.d/99-fbturbo.conf

    Alterar o “fbdev” “/dev/fb0″ para “fbdev” “/dev/fb1″ dando assim o comando pra iniciar no 1 e nao no 0.

    Pessoal eu fiz isso e esta funcionando. A unica coisa que agora me falta è reinstalar o script de calibração pois analizando o mesmo vi que falta uma pasta para poder salvar a regulagem, e pronto.

    Aproveito pra pediar ajuda de alguem que saiba como fazer pra colocar um botao para acionar uma maquina fotografica feita com o rasp B3. Alguma sugestao? Obrigado. PS.: Se me autorizarem eu coloco o site italiano onde encontrei ajuda.

    #Option “fbdev” “/dev/fb0″

    1. Qual é o sit italiano??

  13. Esto comando apt-get install sysvinit-core irá trazer o inittab devolta

    1. Poderia atualizar o post com essa informação

  14. sobre o aquivo inittab eu fiz uma gambiarra só editar o arquivo vc faz sudo nano ~/.profile ,,,dentro do arquivo na ultima linha vc insere sudo FRAMEBUFFER=/dev/fb1 startx ….
    assim ele inicia com aquele comando de teste e deu certo .

  15. Tem um jeito bem mais fácil e simples.
    Testado e verificado por mim.
    É só baixar o driver da Kedei, descompactar no Raspbian e executar o arquivo “LCD_show_vx” onde “x” é a versão do seu LCD, que está marcada atrás dele.
    Assim a imagem passa do HDMI para o LCD. E pra voltar para o HDMI, basta executar o arquivo “LCD_hdmi” que está na mesma pasta.

    1. sabe me dizer se funciona no lcd 3.2 tbm??

      1. Verifique no site da Kedei se tem o driver pra este de 3.2. Se tiver funciona sim.

    2. Rodrigo, consegue explicar um passo a passo como você fez?

    3. Rodrigo, sua dica foi a melhor e mais simples que achei, baixei o driver do site da Kedei com o nome de “LCD_show_v6_1_2” e descompactei no Raspbian dentro dessa pasta executei o arquivo “./LCD35_v” ele copia tudo o que se precisa para as pastas do Raspbian e inicializa ele já no LCD, ficou muito fácil, para voltar para o HDMI executei o arquivo “./LCD_hdmi” e pronto o Raspbian volta para o HDMI, ficou show.
      Obrigado mais uma vez.

      1. Que bom que deu certo!!

      2. poderia fazer o teste e complementar o post com essa informação

      3. Sempre é necessário reiniciar para que volte para o hdmi ou é só executar e conectar o HDMI?

  16. Esse tutorial não faz o display funcionar.
    Tenho um raspberry 3, e o display adquirido pela loja FilipeFlop é a versão 1.0.
    No site da Kedei não há apenas o drive para essa versão. A imagem disponível também não funciona bem.
    Isso é decepcionante porque o display foi bastante caro.

  17. Bom dia.
    Realizei o procedimento conforme orientado e ao testar apareceu a mensagem abaixo:
    Como proceder?

    GDBus.Error.log.freedesktop.PolicyKit1.Error.Failed:
    An autentication agent already exists for the given subject.

    Não apareceu a tela de calibracão.

    Aguardo retorno, por favor.

    Obrigado.
    Antônio Carlos

    Antônio Carlos da Costa
    1. Boa tarde Antonio,

      Não aparece nada na tela ?

      Grato.

      Adilson – Equipe FILIPEFLOP

      1. Bom dia Adilson.

        Obrigado pelo rápido retorno.
        Segui as instruções do blog à risca,
        Quando dei o comando para testar:

        “Nesse ponto você já pode testar o display executando o comando abaixo:

        FRAMEBUFFER=/dev/fb1 startx””

        Apareceu no display LCD a tela do Raspian com a mensagem:
        GDBus.Error.log.freedesktop.PolicyKit1.Error.Failed:
        An autentication agent already exists for the given subject.

        Obrigado.

        Antonio Carlos

        Antonio CArlos da costa
  18. Post com problemas nessa parte:

    procure pela seguinte linha:
    1:2345:respawn:/sbin/getty –noclear 38400 tty1
    comente essa linha com o caractere #:
    #1:2345:respawn:/sbin/getty 115200 tty1

    Não é a mesma linha :/

  19. Olá. Tentei o tutorial, mas tive o mesmo resultado dos demais. No link http://www.waveshare.com/wiki/3.5inch_RPi_LCD_(A)#LCD_display_switch_to_HDMI_display, encontrei a resposta e consegui conectar a tela de 3,5 no Raspbian e no Ubuntu Mate.

    raimundo correia lima júnior
    1. Caro Raimundo Corrêa. Segui o tutorial indicado por você e funcionou perfeitamente. Sugiro a todos que experimentaram a frustração de não ter funcionado até então.
      Você fez um excelente trabalho e ajudou muito.
      Parabéns e obrigado.
      Abraços.

      Antonio CArlos da Costa
  20. Olá. Saberia informar se o módulo utiliza efetivamente todos os 26 pinos que ocupa? Se sim, saberia informar quais são utilizados? Estou criando um projeto que necessita do máximo de portas GPIO possível…
    Um abraço!

  21. Boa tarde. Gostaria de saber. Tenho um raspberry pi 3 e uso como central de jogos com retropie. Eu consigo utilizar esse tutorial e utilizar a tela ao invés da tv?

    1. Boa tarde Rogério,

      Não testei essa tela com o Retropie, mas pelo que eu utilizei você pode substituir a TV pela tela tranquilamente, você só terá algumas diferenças em termos de resolução, claro.

      Abraço!

      Adilson – Equipe FILIPEFLOP

      1. Então acredito que consiga utilizar sim. Obrigado pelo retorno

      2. Adilson, pelo que vi, cheguei ao mesmo impasse que os colegas. O Jessie não tem INITTAB, como excelentemente vc descreveu acima. Será que vc pode dar uma atualizada nesta página? Todas as suas instruções deram certo, exceto pela falta desta INITTAB. Deve haver uma maneira de instalar esse TFT de 3.5. Aguardaremos com entusiasmo sua ajuda. Carlos

    2. Amigo, da sim, mas tive muita dificuldade. o retropie não trás os drivers nem mesmo as dependências. Tive que colocar na unha. Mesmo assim não acertei a resolução. Caso consiga… da o caminho ai.

  22. É possível utilizar a tela com o operacional WIN?

  23. Estou com o mesmo problema a tela so fica branca nao da video nada nada. o que fazer???

  24. amigo e possivel conectar este display em um paspberry pi 0? ou um orange pi? onde encontro pra compra um raspberry pi 0 ?

  25. Carissimo, existe como aumentar o tempo para entrar em modo espera? Obrigado

    Jose Carlos Oliveira
  26. Olá prezados, adquiri um display pra raspberry, porém quando chego no momento de adicionar o dtoverlay=piscreen,speed=16000000,rotate=90 no config.txt não sei mais o que fazer, na verdade nem sei que tecla apertar, sei que é ignorante de minha parte mas será que alguém poderia me ajudar?

    1. Estou com o mesmo problema
      Vc já descobriu a resposta?

      1. A resposta é não comprar esse display. É caro e não há o suporte necessário. Estou acompanhando este post desde março e não encontrei solução. Acho que seria mais honesto da parte da loja deixar de vender esse produto, que em geral só traz frustração.

        1. Esse display é genérico, creio que os artigos em inglês serão melhores e mais completos, mas lcd nenhum terá suporte, se quiser um que espeta e liga recomendo aquele que vai direto na placa do raspberry 7″

        2. Concordo com voce Michelly, esse display é horrível até consegui fazer funcionar mas com um kernel compilado sabe Deus por quem. pois os oficiais nem pensar em funcionar.

          1. Amigo disponibiliza o link do kernel aqui por favor? Tô que nem um louco tentando fazer esse bixo pegar

          2. Amigo,boa tarde. Você poderia disponibilizar por favor o link do kernel? Tentei de todo modo fazer funcionar mas nao consegui

          3. Pessoal, eu não me lembro mais onde peguei o kernel, mas vou tentar disponibilizar, assim que estiver pronto eu ponho o link aqui.
            Vou tentar fazer o mais rápido possível,pois eu sei da ansiedade que é, rsrsrs, apesar que a decepção vai ser grande, esse lcd é muito ruim.

            Paulo Da Silva
    2. se voce abril o txt e conseguiu colar a linha aperta o shift + x e fecha o arquivo e continua o tutorial digitando o comando para reiniciar…

  27. Amigo me diz uma coisa eu percebi que esse display tem entrada hdmi e os display que não tem hdmi como faço para funcionar ele? onde arrumo os drivers ?

  28. Olá! Eu tenho essa mesma tela de 3,5″. Gostaria de saber se podem me ajudar a configurar ela direto no Retropie. Tem como?

  29. Estou vendendo a minha tela LCD de 3,5″… Só comprei por curiosidade e não utilizo ela.
    Só foi usada para testar o funcionamento.
    Quem quiser adquirir, entre em contato. Faço preço bom.
    [email protected]

  30. Boa noite. Gostaria de saber como executar um determinado vídeo ao pressionar um botão conectado no GPIO.
    A ideia é ter um circuito com alguns botões e, ao pressionar algum deles, um vídeo correspondente será executado.

    Desde já, obrigado

  31. Meu display funcionou, mas o eixo x esta invertido. Como resolver?

    1. Também estou com esse problema 🙁

      Otávio Rocha Faria
    2. Pessoal, não é por mal, mas ninguém pesquisa, SEMPRE querem tudo de graça… Impressionante…
      Alguém além de mim LEU o manual da adrafruit? Não, claro que não…

      Mas está ai na mão….

      No arquivo /etc/X11/xorg.conf.d/99-calibration.conf troque os dados da calibração do eixo X, exemplo:

      Option “Calibration” “119 3736 3850 174”

      Troque por:

      Option “Calibration” “3736 119 174 3850”

      É apenas inverter os números dos eixos… ok

      Pode tentar também comentar o linha Option “SwapAxes” “1” com a # na frente:

      Section “InputClass”
      Identifier “calibration”
      MatchProduct “stmpe-ts”
      Option “Calibration” “172 3763 3769 164”
      Option “SwapAxes” “1”
      EndSection

      Funciona perfeitamente…
      Abraço…

  32. Como voce achou /etc/inittab, no raspibian instalado via noobs nessa versão não existe inittab

    1. Me ha ocurrido lo mismo! el archivo no existía, pero llené todos los datos del archivo (Lo creé desde cero) y al final del proceso veo que al reiniciar me funciona el táctil pero no me muestra nada en la pantalla….

      Fabián González Bastías
    2. A minha pergunta também é a mesma aqui. Não encontrei o inittab, daí a tela não está funcionando. Acredito que este seja o único passo que está faltando.

    3. Option “fbdev” “/dev/fb1″ galera tem que mudar de 0 para 1, desse jeito. awe funciona

      Otávio Rocha Faria
    4. Na parte do inittab eu só copiei do dele, e mudei o Option “fbdev” “/dev/fb0″ para Option “fbdev” “/dev/fb1″ e funcionou

      Otávio Rocha Faria
  33. Vou comprar esta tela. Sabe me informar se é compatível com minha Rasp? (Raspberry Pi 3 Model B)

  34. Os pinos que sobraram não são suficientes para utilizar os meus sensores. Como posso expandir os pinos? Obrigada.

  35. Olá, gostaria de saber os procedimentos para conectar este lcd em um raspberry pi zero w! Não tenho tanto conhecimento e não sei se isto é possível, poderia me informar

    Luan Roberto Estrada Martins
  36. Tem de efetua o dowload dos drives. A estrutura do rasbperry mudou: exemplo : o arquivo inittab. Não tem. Eu fiz assim e funcionou.
    1 passo: efetue o dowload do drive:http://www.waveshare.com/w/upload/0/00/LCD-show-170703.tar.gz(fontehttp://www.waveshare.com/wiki/3.5inch_RPi_LCD_(A)).
    2 passor: extraia o arquivo .
    3 localize a pasta extraida(LCD-show)
    4passo: recorte a pasta LCD-show e cole na pasta(homer/nome_do_usuario)
    5_abra o terminal e digite: cd LCD-show/
    6 digite : sudo ./LCD35-show

    7Apos todo este processo , siga os passos de Feliflop para configura.

  37. Tentei algumas vezes mas não consegui fazer funcionar com este tutorial. Atrás do meu display encontrei a seguinte descrição: 3.5 inch RPi LCD V3.0.
    Depois de procurar na internet achei um tutorial até mais simples do que o acima.
    Funcionou direitinho, inclusive, para mim, não ouve siquer a necessidade de calibrar o display.
    Está em inglês mas nem precisa de tradução. Se precisar use o Google.

    http://www.waveshare.com/wiki/3.5inch_RPi_LCD_(A)

Trackbacks and Pingbacks

  1. […] esse teste vamos usar o display touch 3.5″ (que você aprendeu a instalar no post Como conectar o display LCD TFT 3.5″ no Raspberry Pi), mais o led e o sensor IR. Temos então a seguinte lista de […]

  2. […] Veja o post completo: Como conectar o display 3.5″ no Raspberry Pi […]