Boa noite

   Tenho um projeto onde utilizo um display iil9341. 

   Um projeto concluído inclusive a nível de programação.
   Porém, me deparo com um problema com o display...

   Se eu desligo a alimentação, ao re-ligar vem apenas tela branca.

   Depurando através do serial vejo que todo o processamento ocorre normalmente. Porém, o display com tela branca.

   Para ele retornar a mostrar a tela normalmente, preciso ficar ligando e desligando ele até que em um determinado momento ele retorna e se eu não desligar mais, ele fica normal eternamente.

   O que já fiz :

  - Troquei fonte   ( 5v/10A)
  - Troquei processador e arduino
  - Troquei o display!!

  E nada resolve ...

   Uso as seguintes configurações :

#define TFT_DC 9
#define TFT_CS 10
#define TFT_MOSI 11
#define TFT_CLK 13

  Os pinos do display são conectados a essas portas através de resistores de 1K e já experimentei até ligando direto sem os resistores.

  Alguém já passou por esse mistério?  Será que tem algum detalhe nesse display que possa provocar isso ?

   Agradeço desde já qualquer ajuda.

  

Exibições: 885

As respostas para este tópico estão encerradas.

Respostas a este tópico

 Em tempo ...

  Criei um projeto novo onde  mando ele simplesmente printar uma frase no display e ocorre o mesmíssimo problema narrado acima ...

Boa noite CC,

anexe um arquivo com este seu sketch que simplesmente imprime uma frase no display.

RV

Boa noite Mineirin RV 

Segue em anexo o código.

Por favor retire o sketch da área de texto do tópico e faça assim:

Clique em : " Arquivos "  e depois anexe o arquivo  com o seu sketch completo;

Faz tempo que não uso um desse...  mas pelo que me recordo há versões com diferentes controladores (drivers). A biblioteca tenta identificar e aplicar algumas valores para compatibilidade. Pode ser que a leitura desse parâmetro não esteja ocorrendo da maneira que deveria e então não há de fato a compatibilidade. Ao resetar e resetar e resetar pode ser que numa dessas ele consiga ler o valor corretamente e atribuir na biblioteca.

Achei esse vídeo que mostra sobre isso:

https://youtu.be/Tj-DjKAp770

 É .. eu já tinha andado vendo sobre isso também ... tem até um código que identifica  o controlador que está sendo usado ... Mas eu baixei tudo que é Lib que tem pra esse cara mas não resolveu não ...

 Estou com o projeto todo pronto e amarrado por essa questão ...

Boa noite, qual é o tamanho do seu display?  Tem tela touch resistiva ou capacitiva? 

Estude a Biblioteca e realize teste com os exemplos: 

 Ele é o Tft 2.4 240x320 Spi Cartao Sd  com ILI9341

 Não identifiquei ele em nenhum dos links.

 Esse link aqui é exatamente ele :
https://pt.aliexpress.com/item/32832952750.html

Bom dia ,

Achei o WIKI do seu display:

2.4inch SPI Module ILI9341 SKU:MSP2402

http://www.lcdwiki.com/2.4inch_SPI_Module_ILI9341_SKU:MSP2402

Seu problema deve ser esse! Você não deve conectar o módulo diretamente no Arduino.

Use um conversor bidirecional de nível logico. 

http://www.lcdwiki.com/Run_Arduino_Demo_in_spi_model

https://www.eletrogate.com/conversor-de-nivel-logico-33-5v-bidireci...

"Quando conectamos diretamente o módulo de exibição SPI sem o módulo de conversão de nível integrado ao Arduino, descobrimos que ele não podia funcionar. Isso ocorre porque o pino do módulo SPI só pode inserir um nível alto de 3,3 V,enquanto a saída do Arduino tem um alto nível de 5V.

Para funcionar com sucesso, existem dois métodos: método de curto-circuito e método de módulo de conversão de nível externo.

O método de curto-circuito tem as vantagens de operação simples, cabeamento curto e não há necessidade de dispositivos externos.
A desvantagem é que o módulo gera uma grande quantidade de calor durante a operação.

Afetará a vida útil do módulo.

O método do módulo de conversão de nível externo é uma operação normal, e a vantagem é que o módulo gera menos calor e funciona de forma estável durante a operação, e a desvantagem é que a operação é um pouco complicada.

(Um módulo de mudança de nível externo é necessário) para aumentar o custo (um módulo de conversão de nível adicional é necessário).

Em resumo, é recomendado usar o método de módulo de mudança de nível externo."

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço