Buenas gente, hoy recurro a ustedes por que ya no me da.jaja Habalando en serio, estoy tratando de reutilizar un display LCD de un lavarropas, la cuestion es que no logro entender como funciona, mirando la placa no tiene ningun controlador, solo 3 registros de desplazamiento, 74hc595 para ser exactos, estuve probando enviando datos de forma serial utilizando un arduino mega, por comodidad mas que nada, ya que se me hace mas rapido trabajar con la pc, viendo que datos envio etc, tendra alguien idea de como dar con la combinacion de bits que haga aparaecer tal o cual caracter?, (por cierto los caracteres los trae ya definidos) o alguna sugerencia, link o algo que me ayude a comprender el funcionamiento de este lcd? cualquier cosa se los agradeceria. djunto codigo de arduino que estoy utilizando y unas fotos del LCD.
Código:
const int led=13;
long int dato=0;
char ch;
int b=0;
int latchpin=22,clockpin=23,datapin=24;
//Pin conectado a SH_CP of 74HC595 (marron clock)
//Pin conectado a ST_CP of 74HC595 (Celeste latch)
//Pin connected to DS of 74HC595 (blanco data)
void setup() {
Serial.begin(9600);
Serial.flush();
pinMode(led,OUTPUT);
pinMode(latchpin,OUTPUT);
pinMode(clockpin,OUTPUT);
pinMode(datapin,OUTPUT);
}
void loop() {
/* String codigo="";
b=0;
do{
if(Serial.available()){
ch=Serial.read();
Serial.print(ch);
codigo+=ch;
b++;
}}while(ch!='=');
if (b!=0){
dato=codigo.toInt();
Serial.print(" ");
Serial.println(dato,BIN);
Serial.flush();
digitalWrite(clockpin,LOW);
digitalWrite(latchpin, LOW) ; // Latch a LOW para que no varíe la salida
shiftOut(datapin, clockpin, MSBFIRST, dato>>16); // Aqui va dato los primeros 8 bits de mas peso
shiftOut(datapin, clockpin, MSBFIRST, dato>>8); // Aqui va dato los los 8 bits centrales
shiftOut(datapin, clockpin, MSBFIRST, dato); // Aqui va dato los 8 bits de menos peso
digitalWrite(latchpin, HIGH) ; // Latch a HIGH fija valores en la salida
delay(5);
}*/
for (long int i=59;i<=16777215;i++){
digitalWrite(clockpin,LOW);
digitalWrite(latchpin, LOW) ; // Latch a LOW para que no varíe la salida
shiftOut(datapin, clockpin, MSBFIRST, i>>16); // Aqui va dato los primeros 8 bits de mas peso
shiftOut(datapin, clockpin, MSBFIRST, i>>8); // Aqui va dato los los 8 bits centrales
shiftOut(datapin, clockpin, MSBFIRST, i); // Aqui va dato los 8 bits de menos peso
digitalWrite(latchpin, HIGH) ; // Latch a HIGH fija valores en la salida
delay(1000);
Serial.print(i);
Serial.print("= ");
Serial.println(i,BIN);}
}