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 }
Tags:
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
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por