Fubarrino-wedstrijd: 1980’s CD-speler met MPD

[Ronald] moest klauteren om zijn inzending te krijgen, maar we zijn blij dat hij deed. Zijn demovideo toont het scherm van een CD-speler van de jaren 80 die werkt met Muziekspeler Daemon. Het is echt gewoon het originele scherm zelf dat werkt, maar de taak is nog niet klaar. Echter, is echter veel voldoende om onze URL te laten zien wanneer een nummer het 22:00 teken bereikt.

Het scherm wordt aangedreven door een ATMEGA32-chip die een USB-aansluiting gebruikt om opdrachten van de computer met MPD te krijgen. [Ronald] Had problemen die precies uitzoeken hoe ze int-waarden over USB kunnen sturen, dus hij heeft zijn eigen protocol gehackt dat gewoon de LSB gebruikt van elke byte die over de bus komt. Na de pauze kunt u de video zien, evenals uitgecheckt de beschrijving die hij bij zijn inzending heeft opgenomen. Er is eveneens een codebundel aangeboden.

Dit is een vermelding in de Fubarino-wedstrijd voor een mogelijkheid in een van de 20 Fubarino SD-borden die Microchip als prijzen heeft opgemaakt!

Het uiteindelijke doel is om een ​​MPD (Music Player Daemon) -speler te hebben in een CD-spelerbox van 1980 (WERKEN), met behulp van het oorspronkelijke LCD-scherm (WERKEN), dat u kunt gebruiken van het originele afstandsbediening (WERKEN), kunt u dvd’s afspelen (werk in uitvoering), zoiets.

Mijn plan is om de schema’s te plaatsen, evenals bron op internet, evenals het indienen bij OBDEV.AT, omdat ik geloof dat het een nieuwe methode is om hun USB-stuurprogramma te gebruiken. Aangezien ik nog steeds de PC-Side-software opricht, had ik nog niet gedaan. Ik heb gisteren alleen gehoord van de Fubarino-wedstrijd, evenals ik geloofde dat het uitvoerbaar zou zijn om mijn project te modden, dus ik deed het.
Ten eerste, ik kon de schema’s niet onthouden. Ze zijn nogal makkelijk: het is een algemeen ATMEGA32 (geen ATMEGA8, gezien het feit dat ik voornamelijk benut die ik die ik hieronder nist) Hid bootloader ingepakt apparaat. Twee pinnen van Portd worden gebruikt om het achtervlak te besturen. Vier van de vijf 1.1K 1% -weerstanden worden gebruikt als trek- / donsweerstanden om het 2,5V-niveau te produceren dat nodig is voor een twee backplane LCD-configuratie.

Een beetje achtergrond. Voor het besturen van een generieke LCD met twee backplanes zijn twee vierkante golven met middelste waarde nodig, samen met vierkante golven voor de segmenten (bijv. Figuur 2 op http://www.freescale.com/webapp/sps/site/overview.jsp? Code = 784_LPBB_LCDTIPS). De timing moet nauwkeurig zijn, om de LCD-segmenten te stoppen om te vernederen. Elk type DC-saldo groot genoeg kan het doden …

Porta, Portb, Portc zijn allemaal gekoppeld aan de segmenten. Eén extra pincode op portd is gekoppeld aan het gedeelte ‘PLAY’ (het lijkt één backplane), één sectie is gekoppeld aan alle ‘UIT’-segmenten (ik had niet voldoende pinnen om alle segmenten te besturen).

Omdat ik niet precies begreep om 0x00 tekens te verzenden met behulp van USB, heb ik mijn eigen protocol gemaakt door het verzenden van de LSBIT van de 2 × 3 data-bytes als de allereerste drie van een vierde gegevensbyte, evenals ongebruikt die in de ATMEGA-code ontwarren . De allereerste drie gegevensbytes hebben allemaal ‘1’ als LSB.

In mijn werkstijl heb ik een beslissing genomen om veel van de logica aan de pc-zijde te doen, evenals het gebruik van het ATMEGA veel min of meer als framebuffer. Dat maakte het moeilijker voor mij om het te modden om wat tekst te laten zien, maar ook om de paasei-trigger uit te voeren.
Om de tekst te tonen (de volledige http://hackaday.com was onmogelijk op dit LCD, dus ik maakte het dichtst in de buurt :-)), ik gebruikte de pc-client zeer eerst om de hex-codes van de personages te produceren, zoals Goed gekopieerd die in de ATMEGA-bron, aangepast, aangepast de LSB’s totdat het er goed uitzag.

En dat kan alles wat ik kan doen voor de deadline … ik hoopte echt op papier in de code, hoe ah goed .. Het kan voldoende zijn om te begrijpen.

Het paasei is in de video om 1:06.

Vriendelijke groeten,
Ronald

Leave a Reply

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

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>