Reutilizar LCD HP PSC1600 (Actualizado)
Olá
Eu normalmente não postar muitas vezes e se eu deveria corrigir algo por favor me avise. (Também não falo muito bem o Português)
Quero compartilhar algo sobre algo que eu trabalhei um par de dias para o modo de diversão. É 16x2 reutilização LCD extraída a partir de uma impressora HP danificado. Isso é muito interessante se eles são pessoas que gostam de brincar com Arduino ou microcontroladores.
Não há informações sobre como reciclar estes LCD, no entanto, é muito limitado, especialmente porque a HP faz seus próprios modelos e reutilizá-la é necessário fazer alguma engenharia reversa, no entanto, você pode encontrar algumas informações que me motivou, por exemplo, existem aqui alguma coisa.
O LCD em questão é a seguinte:
Na esperança de encontrar um LCD padrão (ex HD44780 ) , procurar informações no Google e não encontrar nada ( a única informação que eu sei é o número da peça que está impresso q5584 60154 B).
A única maneira de fazer essa engenharia reversa estaria trabalhando com o LCD , felizmente, a impressora (sem foto que eu tomei , sorry) um velho HP PSC1600 iluminadas para exibir um erro no LCD. Isto é tudo que eu precisava para começar a investigar .
Em primeiro lugar, visualmente I procurar pistas sobre a conexão do LCD. Eu me encontro com 12 pinos, que número para evitar confusão.
À primeira vista (e confirmado mais tarde ) de reunião :
Os pinos 2 e 3 não estão conectados
Os pinos 1 e 10 são ligados entre si
O pino 11 controles um transistor de tal forma que permite Backlight ignição
O pino 12 está alimentando Backlight
Usando um encontro multímetro :
Pin 1 e 10 estão alimentando a 3.3V
Pino 8 é GND
Pin 9 é o poder de 5V
O pino 12 é o poder da luz de fundo que são 12V
Isso deixa -me a descobrir o uso de pinos 4, 5, 6 e 7. Para isso eu usei um FPGA (especificamente uma placa NEXYS 2 ) como um analisador lógico (usando um código encontrado na Internet) ( se eles iriam fazer um post sobre isso ) . I soldadas fios da impressora de cartões e captura de dados com FPGA e analisadas no computador.
E eu me encontro com um sinal semelhante a este, onde você pode ver uma comunicação SPI .
Sabendo disso eu recebo a pinagem do LCD que :
1-- 3.3V
2-- Não conectado
3-- Não conectado
4-- Chip Select ( ativo baixo) de interface de SPI
5-- SCLK para a interface SPI
6-- Reset ( ativo baixo)
7-- dados SPI ( MOSI )
8-- GND
9-- 5V
10-- 3.3V
11-- Controle de luz de fundo
12-- Backlight Poder 12V
Com o mesmo FPGA realizada uma SPI sniffer ( projetado por mim ) para capturar a comunicação e obter comandos . Felizmente a impressora faz uso de quase todos os comandos , mesmo cria um personagem como no LCD. Com estes comandos capturados e pinagem eu ligar o LCD a um MSP430 (especificamente uma G2553 ) e realizar uma biblioteca para usar o LCD facilmente ( biblioteca muito básico que pode melhorar muito e que poderia ser facilmente portado para Arduino ) eo resultado espera-se , agora ' Eu tenho controle sobre o LCD !!
Com tentativa e erro que eu encontrar o código para cada personagem , este LCD tem 511 caracteres diferentes , mas eu focar o alfabeto e números. Na foto eu mostro os primeiros 127 caracteres.
Use o código para exibir a mensagem no LCD usando o micro ( MSP430G2553 ) é a seguinte:
int main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
HPlcd_init();
spisend(0x38);//2 lines address mode
spisend(0x40);//(custom char address)
spisend(0x3C);//2 lines, command mode
spisend(0x87);//write next 0x07+1 =8 bytes. Is used create a custom character
spisend(0x00);// 000 00000
spisend(0x00);// 000 00000
spisend(0x1a); // 000 01010
spisend(0x1f); // 000 11111
spisend(0x0e); // 000 01110
spisend(0x1f); // 000 11111
spisend(0x1a); // 000 01010
spisend(0x00); // 000 00000
HPlcd_on();//lcd on
HPlcd_clear();//clear LCD
HPlcd_set_address(HPlcd_line1_ADDR);
spisend(0x0C);//0x0c
HPlcd_write_char(0);
HPlcd_write_string(" electronicaBR "lcd hp;
HPlcd_write_char(0);
HPlcd_set_address(HPlcd_line2_ADDR);
HPlcd_write_string("Caaruizbe");
P1OUT |= BIT6;
}
A biblioteca pode ser baixado aqui :
https://eletronicabr.com/files/file/22718-library_lcd_psc_1600_17241-eletronicabrcomrar