Fubarino-Contest: il lettore CD del 1980 con MPD

[Ronald] doveva arrampicarsi per ottenere la sua presentazione, tuttavia siamo lieti di averlo fatto. Il suo video demo mostra lo schermo del lettore CD del 1980 che lavora con il daemon del lettore musicale. È veramente solo lo schermo originale che funziona, tuttavia il lavoro non è ancora finito. Tuttavia, è molto sufficiente per mostrare il nostro URL quando una pista raggiunge il segno 22:00.

Lo schermo è guidato da un chip ATMEGA32 che utilizza una connessione USB per ottenere comandi dal computer che esegue MPD. [Ronald] aveva problemi a capire esattamente come inviare i valori int su USB, quindi ha hackerato il proprio protocollo che utilizza solo l’LSB di ogni byte che viene sopra l’autobus. Dopo la pausa puoi vedere il video, oltre a controllare la descrizione che ha incluso con la sua sottomissione. C’è anche un pacchetto di codice offerto qui.

Questa è un’ingresso nel concorso Fubarino per una possibilità in una delle 20 tavole SD Fubarino che Microchip ha messo come premi!

L’obiettivo finale è avere un giocatore basato su MPD (Music Player DAEMON) all’interno della scatola dei lettore CD del 1980 (funzionante), utilizzando il display LCD originale (funzionante), poter utilizzare la gestione remota originale (funzionante), essere in grado di riprodurre DVD (Lavori in corso), cose del genere.

Il mio piano è quello di mettere gli schemi e la fonte su Internet, oltre a inviarlo a obdev.at poiché credo sia un nuovo metodo per utilizzare il loro driver USB. Dal momento che sto ancora stabilendo il software del PC-Side, non l’ho ancora fatto. Ho solo sentito parlare del concorso del Fubarino ieri, oltre che credevo che sarebbe stato fattibile per il mio progetto, quindi l’ho fatto.
Innanzitutto, non sono riuscito a ricordare gli schemi. Sono piuttosto semplici: è un generale ATMEGA32 (NO ATMEGA8, considerando che utilizzo principalmente quelli che ho sbagliato in modo errato sotto) HID Bootloader imballato dispositivo. Due spilli di Port sono utilizzati per guidare il piano sul retro. Quattro resistenze da 1,10 di 1,1% sono utilizzati come resistori di sollevamento / down per produrre il livello di 2,5 V necessario per una configurazione LCD a due backplane.

Un po ‘di sfondo. Per guidare un display LCD generico con due backplanes, sono necessarie due onde quadrate con il valore medio, insieme alle onde quadre per i segmenti (ad esempio figura 2 all’indirizzo http://www.freescale.com/webapp/sps/site/overview.jsp? Codice = 784_LPBB_LCDTIPS). I tempi devono essere precisi, per interrompere i segmenti LCD per degradanti. Qualsiasi tipo di bilancio DC fuori sufficiente può ucciderlo …

Porta, Portb, Portc sono tutti collegati ai segmenti. Un PIN extra su PortD è collegato alla sezione “Play” (sembra un singolo backplane), una sezione è collegata a tutti i segmenti di “off” (non avevo pin sufficienti per guidare tutti i segmenti).

Perché non ho capito esattamente come inviare 0x00 caratteri utilizzando USB, ho fatto il mio protocollo inviando il LSBIT dei data dati 2 × 3 come i primi tre di un quarto byte di dati, oltre a districare quelli nel codice ATMEGA . I primi tre byte di dati hanno tutti “1” come LSB.

Nel mio stile di lavoro ho preso una decisione di fare un sacco di logica sul lato PC, oltre a utilizzare l’ATMEGA molto più o meno come un framebuffer. Ciò ha reso più difficile per me la mod per mostrare un po ‘di testo, oltre a svolgere il trigger dell’uovo di Pasqua.
Per mostrare il testo (il pieno http://hackaday.com era impossibile su questo display LCD, quindi ho fatto il più vicino che potrei :-)), ho utilizzato il PC-client molto prima di produrre i codici esagonali dei personaggi, come Bene, come poi copiato quelli nella fonte di Atmega, personalizzato gli LSB fino a quando non sembrava bene.

E questo è tutto ciò che posso fare prima della scadenza … speravo davvero di carta tutto questo nel codice, comunque ah bene .. Potrebbe essere sufficiente per te capire.

L’uovo di Pasqua è nel video alle 1:06.

Cordiali saluti,
Ronald.

Leave a Reply

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