Go Down

Topic: LCD não inica direito (Read 544 times) previous topic - next topic

Porcao

Sabem o que pode ser?
Tem vez que ele incia na boa, mas na maior parte das vezes ele fica com a primira linha cheia de quadrados pretos.
Essa é a rotina de inicalização que eu estou usando:

void LcdInitialize() {
 pinMode(RS, OUTPUT);
 digitalWrite(RS, LOW);
 pinMode(EN, OUTPUT);
 digitalWrite(EN, LOW);  

 //inicializa os pinos usados pelo LCD
 for(int i=0; i<=3; i++){
   pinMode(DB, OUTPUT);
   digitalWrite(DB, LOW);
 }

 delay(40); // specification says > 30ms after power on
 // function set
 LcdSendCommand(B0010,4); // 0x2
 LcdSendCommand(B00101000,8); // 0x28
 delayMicroseconds(50); // specification says > 39µs
 // display on/off control
 LcdSendCommand(B00001110,8); // 0x0E
 delayMicroseconds(50); // specification says > 39µs
 // clear display
 LcdSendCommand(B00000001,8); // 0x01
 delay(2); // specification says > 1.53ms
 // entry mode set
 LcdSendCommand(B00000110,8); // 0x06
 delay(2); //  
}
Artur Porcão

Go Up