Go Down

Topic: LCD não inicia, precisa de reset (Read 683 times) previous topic - next topic

Porcao

Alguém já teve esse problema? E conseguiu solucionar?
Desde que começei a brincar com o arduino e LCD eu tenho esse problema, sempre que ligo a anergia da placa o controlador inica e funciona perfeitamente mas o display exibe apenas retangulos pretos. Depois de um reset ele "acorda" e passa a funcionar normalmente.
As vezes apenas a primeira linha fica com os retangulos e em rarissimas vezes ele inicia corretamente.
Alguma ideia do que pode ser feito?
Ele está ligado diretamente no arduino, 4 fios de dados e um pot para o contraste.
Valeu.,
Artur Porcão

Porcao

Estou aqui tentando todas as alternativas.
Fiquei pensando se a inicialização do display não é mais lenta que a do atmega. Sendo assim decidi editar o arquivo LiquidCrystal.cpp e estou incluindo alguns delays no método contrutor. Mas até agora nada de funcionar. Testei com os 3 displays que tenho aqui e todos reagem da mesma forma.
Ainda estou na duvida se as funções de tempo (delay) são executadas na criação do objeto, sabem de alguma coisa?
[]s
Artur Porcão

Porcao

Bom. Continuei hoje com min ha luta. Liguei o display no arduino usando o cristal (maximo clock) e nada. Na minha placa com o socilador interno e nada. Sempre os mesmos erros. Editei o cpp e inclui delays e umas outras coisas e nada. Testei agora com 4 displays diferentes e a mesma coisa. As vezes fica em branco, as vezes com a primeira linha toda preta, e as vezes cheiod e caracteres estranhos. E sem fazer nada de diferente em codigo ou fiação ele começa a funcionar. Nao consegui definir um padrao para os erros para ter o que buscar.
Achei a dica de usar um cap ligado no pino E e o terra. Mas nao ajudou.
Bom, pelo visto só é aqui que isso acontece, então o problema deve ser aqui. O fogo é que estou usando a biblioteca do Arduino e um Severino nos testes. Se funciona para os outros deveria funcionar aqui também.
Vou continaur com minha luta, e assim que achar a solução eu posto aqui, pode ser que apareça outro com o mesmo problema.
[]s
Artur Porcão

Porcao

Consegui!!!
Bastou usar essa lib aqui: http://www.slashdev.ca/arduino-lcd-library/
Só teve uma manha que eu demorei um tempo para me ligar. Tem que criar o objeto indicando que o display tem 2 linhas:
Lcd lcd = Lcd(16, FUNCTION_4BIT|FUNCTION_2LINE);
Artur Porcão

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy