Senhores,

Comprei um desses kits para iniciantes com arduino uno e lcd JHD 162A usei todos os exemplos da biblioteca LiquidCrystal e nenhum deles apresentou resultado satisfatorio.

tentei diversos tipos de ligação tanto em 8 bits quanto em 4 lembro que entendi muito bem a forma de ligar o display ao arduino.

segue link para video mostrando o que acontece quando uso o exemplo hello world.

 

https://www.youtube.com/watch?v=6t4yuOWNL0I&feature=youtu.be

em contra partida fiz um script desconsiderando os exemplos do arduino e a biblioteca LiquidCrystal. para facilitar usei interface de 8bits.

segue o link do video mostrando o resultado e a baixo o código.

https://www.youtube.com/watch?v=WS4k2InXDj8&feature=youtu.be

O que eu gostaria de saber e se realmente a biblioteca liquidcrystal não trabalha com este lcd e se for o caso se tem como adapta-la

 

int rs = 2; int habilitar=3; int d0=4; int d1=5; int d2=6; int d3=7; int d4=8; int d5=9; int d6=10; int d7=11; int led=13; // the setup routine runs once when you press reset: void setup() {                  // initialize the digital pin as an output. pinMode(rs, OUTPUT); pinMode(habilitar, OUTPUT); pinMode(d0, OUTPUT); pinMode(d1, OUTPUT); pinMode(d2, OUTPUT); pinMode(d3, OUTPUT); pinMode(d4, OUTPUT); pinMode(d5, OUTPUT); pinMode(d6, OUTPUT); pinMode(d7, OUTPUT); pinMode (led, OUTPUT);

} void escreve(){   delay(10);  digitalWrite(habilitar, LOW);    delay(10);     digitalWrite(habilitar, HIGH);     delay(10); ;    delay(10); } void pulal(){digitalWrite(rs, LOW);  delay(10);   digitalWrite(d0, LOW);digitalWrite( d1, LOW);digitalWrite(d2 , LOW);digitalWrite(d3, LOW); digitalWrite(d4,  LOW);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,HIGH); escreve(); digitalWrite(rs, HIGH);}

void espaco(){            digitalWrite(d0, LOW);digitalWrite( d1,LOW);digitalWrite(d2 ,LOW);digitalWrite(d3,LOW); digitalWrite(d4,  LOW);digitalWrite(d5, HIGH);digitalWrite(d6,  LOW); digitalWrite(d7,  LOW); escreve();} void a(){       digitalWrite(d0, HIGH);digitalWrite( d1, LOW);digitalWrite(d2 , LOW);digitalWrite(d3, LOW); digitalWrite(d4,  LOW);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,LOW);   escreve();} void b(){       digitalWrite(d0, LOW);digitalWrite( d1, HIGH);digitalWrite(d2 , LOW);digitalWrite(d3, LOW); digitalWrite(d4,  LOW);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve(); }    void c(){       digitalWrite(d0, HIGH);digitalWrite( d1, HIGH);digitalWrite(d2 , LOW);digitalWrite(d3, LOW); digitalWrite(d4,  LOW);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve();}       void d(){       digitalWrite(d0, LOW);digitalWrite( d1, LOW);digitalWrite(d2 ,HIGH);digitalWrite(d3, LOW); digitalWrite(d4,  LOW);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve(); }       void e(){       digitalWrite(d0, HIGH);digitalWrite( d1, LOW);digitalWrite(d2 ,HIGH);digitalWrite(d3, LOW); digitalWrite(d4,  LOW);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve(); }          void f(){       digitalWrite(d0, LOW);digitalWrite( d1, HIGH);digitalWrite(d2 ,HIGH);digitalWrite(d3, LOW); digitalWrite(d4,  LOW);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve(); }             void g(){       digitalWrite(d0, HIGH);digitalWrite( d1, HIGH);digitalWrite(d2 ,HIGH);digitalWrite(d3, LOW); digitalWrite(d4,  LOW);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve();}                      void h(){       digitalWrite(d0, LOW);digitalWrite( d1, LOW);digitalWrite(d2 ,LOW);digitalWrite(d3,HIGH); digitalWrite(d4,  LOW);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve(); }                    void i(){       digitalWrite(d0, HIGH);digitalWrite( d1, LOW);digitalWrite(d2 ,LOW);digitalWrite(d3,HIGH); digitalWrite(d4,  LOW);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve(); }                      void j(){       digitalWrite(d0, LOW);digitalWrite( d1,HIGH);digitalWrite(d2 ,LOW);digitalWrite(d3,HIGH); digitalWrite(d4,  LOW);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve();}                   void k(){       digitalWrite(d0, HIGH);digitalWrite( d1,HIGH);digitalWrite(d2 ,LOW);digitalWrite(d3,HIGH); digitalWrite(d4,  LOW);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve(); }                  void l(){       digitalWrite(d0, LOW);digitalWrite( d1,LOW);digitalWrite(d2 ,HIGH);digitalWrite(d3,HIGH); digitalWrite(d4,  LOW);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve();}        void m(){       digitalWrite(d0, HIGH);digitalWrite( d1,LOW);digitalWrite(d2 ,HIGH);digitalWrite(d3,HIGH); digitalWrite(d4,  LOW);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve();}    void n(){       digitalWrite(d0, LOW);digitalWrite( d1,HIGH);digitalWrite(d2 ,HIGH);digitalWrite(d3,HIGH); digitalWrite(d4,  LOW);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve(); }    void o(){       digitalWrite(d0, HIGH);digitalWrite( d1,HIGH);digitalWrite(d2 ,HIGH);digitalWrite(d3,HIGH); digitalWrite(d4,  LOW);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve(); }       void p(){       digitalWrite(d0, LOW);digitalWrite( d1,LOW);digitalWrite(d2 ,LOW);digitalWrite(d3,LOW); digitalWrite(d4,  HIGH);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve();}       void q(){       digitalWrite(d0, HIGH);digitalWrite( d1, LOW);digitalWrite(d2 , LOW);digitalWrite(d3, LOW); digitalWrite(d4,  HIGH);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve(); } void r(){       digitalWrite(d0, LOW);digitalWrite( d1, HIGH);digitalWrite(d2 , LOW);digitalWrite(d3, LOW); digitalWrite(d4,  HIGH);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve(); }    void s(){       digitalWrite(d0, HIGH);digitalWrite( d1, HIGH);digitalWrite(d2 , LOW);digitalWrite(d3, LOW); digitalWrite(d4,  HIGH);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve(); }       void t(){       digitalWrite(d0, LOW);digitalWrite( d1, LOW);digitalWrite(d2 ,HIGH);digitalWrite(d3, LOW); digitalWrite(d4,  HIGH);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve(); }       void u(){       digitalWrite(d0, HIGH);digitalWrite( d1, LOW);digitalWrite(d2 ,HIGH);digitalWrite(d3, LOW); digitalWrite(d4,  HIGH);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW);  escreve();}          void v(){       digitalWrite(d0, LOW);digitalWrite( d1, HIGH);digitalWrite(d2 ,HIGH);digitalWrite(d3, LOW); digitalWrite(d4,  HIGH);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve(); }             void w(){       digitalWrite(d0, HIGH);digitalWrite( d1, HIGH);digitalWrite(d2 ,HIGH);digitalWrite(d3, LOW); digitalWrite(d4,  HIGH);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve();}                      void x(){       digitalWrite(d0, LOW);digitalWrite( d1, LOW);digitalWrite(d2 ,LOW);digitalWrite(d3,HIGH); digitalWrite(d4,  HIGH);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve(); }                    void y(){       digitalWrite(d0, HIGH);digitalWrite( d1, LOW);digitalWrite(d2 ,LOW);digitalWrite(d3,HIGH); digitalWrite(d4,  HIGH);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW);  escreve(); }                      void z(){       digitalWrite(d0, LOW);digitalWrite( d1,HIGH);digitalWrite(d2 ,LOW);digitalWrite(d3,HIGH); digitalWrite(d4,  HIGH);digitalWrite(d5, LOW);digitalWrite(d6,  HIGH); digitalWrite(d7,  LOW); escreve(); }

// the loop routine runs over and over again forever: void loop() {    delay(5000); //Primeiro comando digitalWrite(habilitar, HIGH); delay(100);       digitalWrite(rs, LOW);    delay(100);    digitalWrite(d0, HIGH);digitalWrite( d1, LOW);digitalWrite(d2 , LOW);digitalWrite(d3, LOW); digitalWrite(d4,  LOW);digitalWrite(d5, LOW);digitalWrite(d6,  LOW); digitalWrite(d7,  LOW);   escreve();    /////////Segundo Comando  digitalWrite(d0, LOW);digitalWrite( d1, HIGH);digitalWrite(d2 , LOW);digitalWrite(d3, LOW); digitalWrite(d4,  LOW);digitalWrite(d5, LOW);digitalWrite(d6,  LOW); digitalWrite(d7,  LOW); escreve();    //Terceiro comando     digitalWrite(d0, LOW);digitalWrite( d1, HIGH);digitalWrite(d2 , HIGH);digitalWrite(d3, LOW); digitalWrite(d4,  LOW);digitalWrite(d5, LOW);digitalWrite(d6,  LOW); digitalWrite(d7,  LOW); escreve();    //Quarto comando   digitalWrite(d0, HIGH);digitalWrite( d1, HIGH);digitalWrite(d2 , HIGH);digitalWrite(d3, HIGH); digitalWrite(d4,  LOW);digitalWrite(d5, LOW);digitalWrite(d6,  LOW); digitalWrite(d7,  LOW); escreve();    //Quinto comando digitalWrite(d0, LOW);digitalWrite( d1, LOW);digitalWrite(d2 , HIGH);digitalWrite(d3, HIGH); digitalWrite(d4,  HIGH);digitalWrite(d5, HIGH);digitalWrite(d6,  LOW); digitalWrite(d7,  LOW); escreve();    //sexto comando   digitalWrite(d0, LOW);digitalWrite( d1, LOW);digitalWrite(d2 , LOW);digitalWrite(d3, HIGH); digitalWrite(d4,  HIGH);digitalWrite(d5, HIGH);digitalWrite(d6,  LOW); digitalWrite(d7,  LOW); escreve();   //ANDAR COM CURSOR      delay(100);     digitalWrite(d0, LOW);digitalWrite( d1, LOW);digitalWrite(d2 , LOW);digitalWrite(d3, LOW); digitalWrite(d4,  LOW);digitalWrite(d5, LOW);digitalWrite(d6,  LOW); digitalWrite(d7,  HIGH); escreve();    //ESCREVENDO         digitalWrite(rs, HIGH);    e();l();o();i();s();a();espaco();a(); b();c();d();e();f();g();h();i();pulal(); j();k();l();m();n();o();p();q();r();s();t();u();v();w();x();y();z();           digitalWrite(led, LOW);         delay(5000);         digitalWrite(led, HIGH);                    // turn the LED off by making the voltage LOW   delay(10000);               // wait for a second }

Exibições: 930

Responder esta

Respostas a este tópico

Cara, essa biblioteca funciona sim, com esse display. Eu tenho um desses e funcionou. Eu me lembro que tinha um pino, acho que o R/W (pino 5) que no circuito que eu vi (do livro Beginning Arduino) estava desligado, mas eu tive que conectá-lo ao terra.

é verdade já sabia dessa informação R/W

0 = Escrever no LCD

1= Ler dados no LCD.

Então continuo na minha caminhada.

 

Obrigadão

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço