Fubarino-concurso: 1980’s CD player com MPD

Fubarino-concurso: 1980’s CD player com MPD

September 21, 2022 Digital Electronics 0

[Ronald] teve que se esforçar para obter sua apresentação, no entanto, estamos encantados que ele fez. Seu vídeo de demonstração mostra a tela de um cd player de 1980 trabalhando com o daemon do jogador de música. É verdadeiramente apenas a tela original que funciona, no entanto, o trabalho ainda não está terminado. No entanto, é muito suficiente para mostrar nosso URL quando uma faixa atinge as 22:00.

A tela é acionada por um chip ATMGA32 que utiliza uma conexão USB para obter comandos do computador executando o MPD. [Ronald] Tinha problemas para descobrir exatamente como enviar valores int no USB, então ele invadiu seu próprio protocolo que apenas utiliza o LSB de cada byte vindo sobre o ônibus. Após o intervalo, você pode ver o vídeo, bem como verificou a descrição que ele incluiu com sua submissão. Ainda há um pacote de código oferecido aqui.

Esta é uma entrada no concurso Fubarino para uma possibilidade em uma das 20 placas SD Fubarino que microchip colocou como prêmios!

O objetivo final é ter um jogador baseado em MPD (Music Player Daemon) dentro de uma caixa de cd player de 1980 (funcionamento), utilizando o LCD original (trabalho), sendo capaz de utilizar o gerenciamento remoto original (trabalho), sendo capaz de reproduzir DVDs (Trabalho em andamento), coisas assim.

Meu plano é colocar os esquemas, bem como a fonte na Internet, além de enviá-lo para OBDEV.AT, já que acredito que é um novo método para utilizar seu driver USB. Desde que ainda estou estabelecendo o software do lado do PC, ainda não tinha feito. Eu só ouvi falar do Fubarino-concurso ontem, assim como eu acreditava que seria possível modificar meu projeto, então eu fiz isso.
Primeiro, não consegui lembrar os esquemas. Eles são bastante fáceis: é um general Atmega32 (sem atmega8, considerando que eu utilize principalmente aqueles que eu enganei-o abaixo) HID Dispositivo embalado de bootloader. Dois pinos de PORTD são utilizados para dirigir o plano de volta. Quatro de cinco resistores de 1% de 1% são utilizados como resistores de puxar para cima / para baixo para produzir o nível de 2.5V necessário para uma configuração LCD de dois backplane.

Um pouco de fundo. Para dirigir um LCD genérico com dois backplanes, duas ondas quadradas com valores médios são necessárias, juntamente com ondas quadradas para os segmentos (por exemplo, Figura 2 em http://www.freescale.com/webapp/sps/site/overview.jsp? código = 784_lpbb_lcdtips). O timing precisa ser preciso, para impedir os segmentos LCD para degradar. Qualquer tipo de equilíbrio CC grande suficiente pode matá-lo …

Porta, Portal, Portc estão todos vinculados aos segmentos. Um pino extra no PORT está vinculado à seção ‘Play’ (parece um backplane único), uma seção está vinculada a todos os segmentos ‘desligados’ (eu não tinha pinos suficientes para conduzir todos os segmentos).

Porque eu não entendi exatamente como enviar 0x00 caracteres utilizando USB, fiz meu próprio protocolo enviando o LSBIT dos bytes de 2 × 3 como os primeiros três de um quarto byte de dados, além de desembarcar aqueles no Código do ATMEGA . Os primeiros três bytes de dados têm ‘1’ como LSB.

No meu estilo de trabalho, tomei uma decisão de fazer um monte de lógica no lado do PC, além de utilizar o ATMEGA muito mais ou menos como um framebuffer. Isso tornou mais difícil para mim modificá-lo para mostrar algum texto, bem como realizar o gatilho do ovo de Páscoa.
Para mostrar o texto (o http://hackaday.com foi impossível nesse LCD, então eu fiz o mais próximo que eu poderia :-)), utilizei o cliente PC primeiro para produzir os códigos hexadecimais dos personagens, como Bem como então copiou aqueles para a fonte Atmega, personalizou o LSB até que parecesse bem.

E isso é tudo o que posso fazer antes do prazo … Eu realmente esperava papel isso tudo no código, no entanto ah bem .. Pode ser suficiente para você entender.

O ovo de Páscoa está no vídeo às 1:06.

Atenciosamente,
Ronald.

Leave a Reply

Your email address will not be published. Required fields are marked *