Spela video på nokia färg LCD med en ATmega32


Hej

Jag införa min nya videospelare görs med hjälp av en atmega32 mikrokontroller och nokia färg LCD. Jag fick en 65K cologne LCD från en gammal nokia 6030 mobil telefon. Jag lödda direkt 10 tunn färgad hästhandlare kabel från 0,5 cm kvadrat området av tunna flexibla pcb av LCD-skärmen till en berg band fast på en annan ombord. För mig var den svåraste delen av detta projekt eftersom jag inte har någon liten spets lödkolv och en LCD-kontakt (5 x 2) uttag med mig.
Efter som jag kopplats ihop lcd med atmega32 via SPI. Sedan initiera LCD-skärmen och visas några färgmönster och bekräftade LCD fungerar.
Mitt nästa steg är nu att visa en stillbild på LCD-skärmen. Jag använde python bildbibliotek extrahera pixelinformation från valfri bildfil (jpeg, png etc) jag och strömmas till avr via uart med pyserial visas bilden framgångsrikt på LCD med 16-bitars färgdjup.
Efter att jag använt ett SD-kort för att lagra den konverterade pixel information (132 x 132 * 2) byte/bilden. Då jag kopplats ihop SD-kort med samma SPI för atmega32 och visas bilden lagras på den. Jag använde FAT16-filsystem. Den sd kort delen är inte ett problem för mig eftersom jag redan gjort fler projekt på SD/MMC-kort och jag kopierade min föregående kod för detta.
Så efter visning stillbilden, jag tänkte göra ett bildspel på LCD-skärmen. Som skrev jag ett python-skript att konvertera alla bilder i en mapp (på min dator) till en 132 x 132 x 2 byte filer som är ingenting annat än den okomprimerade pixelinformation som nya filer. Då jag kopierade alla dessa konverterade filer till SD-kort (file.lcd) och visas dem som en bild bildspel med 1 sekund tidsglapp mellan varje bild.
Eftersom jag gjorde framgångsrikt bild bildspelet, då plötsligt idén att göra en video-spelare kom till mig. Eftersom videon är ingenting annat än ett bildspel på hög bildhastighet.
Härifrån börjar detta projekt.
Då började jag söka i google, Hur konvertera en video till fortfarande ramar. Jag kom att veta om ffmpeg program. Jag använder linux alltid. Jag har hämtat ffmpeg och konverteras en prov video till ramar på 15 stommen/andra & 132 x 65 upplösning. Då Använd jag min python-skript för att konvertera alla bilder till pixelinformation på 16 bitar/bildpunkt. Här istället för att göra små små filer, jag bara samlat all bildinformation intilliggande bildrutor i en enda fil och benämn så my_video.lcd. Sedan jag kopierat filen till minneskort och modifierade avr programmet ska visas på LCD-skärmen. Det komma åt filsystemet FAT16, då söka för *.lcd filer och om hittas returneras start kluster adressen till filen och sedan strömma klustret till LCD-skärmen mycket snabbt. Nu spelas VIDEO (utan ljud)!!! .... Nästan hälften av projektet är klar...
Nästa hälften: (ljudmixning)
Jag spelade 15 fps 16 bit/pixel på LCD-skärmen. Nu kommer nästa huvudvärk. Video bör ha ljud. :-(.... Då började jag tänka hur man inkluderar ljud. Jag brukade ffmpeg(in pc) för att extrahera ljud från video filen till 8-bitars mono wav. Eftersom wav är okomprimerat ljud, är det lätt att hantera den med en mikrokontroller med hårdvara PWM. Sedan ändrade jag min python skript. Jag bara öppnade wav-fil och kasseras första 44 byte (wav huvud) och sedan efter det, jag läste ljud provet byte för byte och injiceras det mellan videon information efter några beräkningar (se matten nedan) relaterade till bithastigheten för både ljud och video till besluta det blandande förhållandet.
För perfekt ljud video synkronisering genomfört jag en felkod korrigering i omvandlaren, som övervakar synkroniseringsfel medan mixning ljud byte och när felet når den lägsta tröskelvärden (1 byte audio prov fel), det skriver en dummy audio prov istället för real audio prov och därmed förhindrar ansamling av fel och därmed perfekt ljud video synkronisering uppnås för timmen av kontinuerlig video avspelningen...
Nu när jag konstruerade min egen video format ("video_with_audio.vin" för min spelare;-). Nu i avr, behöver jag extrahera ljud och bild och behöver skicka ljudet till en audio cirkulär buffert som kommer att skicka till PWM med hjälp av en timer avbrott och video direkt till LCD. Om någon enda byte matchningsfel inträffat mellan video och ljud byte, kommer varje sak få kollapsade. Jag ändrade då avr koden göra som ovan och slutligen jag spelade video med ljud! :-)

För källkod och mer detaljer, besök min blogglänk:
http://blog.vinu.co.in/2012/06/AVR-Video-Player-on-Nokia-Color-LCD.html

Relaterade Ämnen

Strömmande video från SD-kort till Nokia LCD med Arduino

Länge tänkte jag spela upp video med var ljud inte möjligt på Arduino. En dag jag beslutade då att ge det ett skott och det visade sig vara enklare än jag trodde.Jag beslöt att skriva stegen i en instructable till förmån för andra överväger prova sjä...

Hur du använder Nokia 5110 LCD med Arduino?

Idag, ska jag visa dig hur du använder Nokia 5110 display med Arduino styrelser med dessa enkla steg.Behovet av lista:1. Arduino UNO (med USB-kabel)2. Nokia 5110 LCD (med små kablar)Steg 1: AnslutningarnaFölj anslutningarna som visas i bilden. Du kan...

Grafik på Nokia 5110 Lcd med hjälp av Arduino

I denna korta instructable jag kommer till menypunkten displ lite grafik på Nokia 5110 LCD med hjälp av ARDUINO UNO R3 detta är mycket användbart för nybörjare är här är en test video.Steg 1: Material som krävs för Nokia 5510 LCDArduino ombordHoppare...

Spela video baklänges med Quicktime player

detta är awsomest trick av century.this Instructable visar du det enkla sättet att spela video baklänges utan nedladdning skumma program (om du inte har quicktime måste som.)Bilden har ingenting att göra med projektet men jag behövde en.Steg 1: Få qu...

Hur man styr en 16 x 2 LCD med en AVR ATtiny2313

om du bara får in microcontrollers finns det mycket att veta som du har sannolikt fått reda. Det finns en hel del bra online tutorials för Atmel AVR och chansen du har ser några av dem nu. Jag nyligen kom in mikrokontroller och visste inte jack om de...

Löd rubriken stift till en 1602A LCD med en skärbräda

Titta på videoSteg 1: IntroLöd rubriken stift till en 1602A LCD med en skärbrädaHej sparsam Nation jag ska visa dig hur du löda header pins till din 1602A LCD med en skärbräda!IntroJag började genom att infoga sidhuvud stiften i bakbord och sedan bör...

Hur du använder en Nokia färg LCD!

Nokia tillverkar ett brett utbud av mobiltelefoner och många av deras billigare telefoner innehåller enkla LCD som kan användas i microcontroller projekt. Det finns en särskild LCD-modell som används i en mängd av deras telefoner och benämns ofta som...

Spela Video via USB på Nissan eller Infiniti fordon (kan fungera för andra)

Om du har en Nissan eller Infiniti fordon med i fordonet underhållningssystem, märkte du säkert att USB var en valfri video källa. Du kanske har även lagt några videor på en flash-enhet och försökte spela dem. Men från och med 2014, Nissan systemet f...

Hur man gränssnitt 16 X 2 LCD med AVR Microcontroller

här är Kopplingsschemat hos gränssnitt 16 X 2 LCD till AVR Microcontroller. I denna krets, att kristalloscillator ge klockan till mikrokontroller. Kondensatorerna ansluten till crystal ska fungera som filter och hjälpa kristallen att genljuda och svä...

Hur man gränssnitt LCD med Arduino

Idag i detta instructable i kommer att visa hur du kan gränssnitt en LCD med arduino.Dess mycket enkelt DIY instrcutable alla kommer gjorde det på mindre än 10 minuter...Detta projekt också hjälper dig att visa dina data på LCD som samlas in från sen...

Hur gränssnittet 16 X 2 LCD med 8051 mikrokontroller?

Detta är ett kopplingsschema för gränssnitt 16 X 2 LCD med AT89C51 som är en 8051 mikrokontroller familj. Vi använder LCD-skärmar för att Visa felmeddelanden, etc. Här, vi ger information om LCD och även ge koden i C språk som fungerar bra utan några...

Gränsyta 16 X 2 LCD med PIC mikrokontroller

här, du lär dig hur gränssnittet 16 × 2 LCD till PIC18F4550 mikrokontroller som är familjen PIC18F. PIC18F4550 är en 8 bitars mikrokontroller och använder RISC-arkitektur. PIC18F4550 har 40 stiften i PDIP (dubbel i rad paketet) och 44 pin i TQFP (Qua...

Gör en Video 3D ihåliga ansikte Illusion med ditt foto

detta är ett enkelt och snabbt sätt att göra en video 3D ihåliga ansikte illusion med en avtrycken-ute om din fotografi.Denna illusion kräver oftast att du köper en speciellt foto eller vakuum bildas bild men detta instructable visar du att det är mö...

Temperatur mätning Display på 16 x 2 LCD med att justera temperaturen övre och undre gräns för varning använder Arduino

Hej alla, här är mitt första projekt med Arduino. I detta projekt kommer jag visa dig hur du mäter temperatur och visar det på en 16 x 2 LCD med Arduino, och vi kan använda 2-knappen för att välja vad vi vill se på LCD: grader Celsius eller Fahrenhei...

Hur du ansluter en seriell LCD med en Arduino Nano

I en tidigare instructable jag visat hur du ansluter den seriella LCD till en Arduino UNOIgår jag ville använda två Arduinos för ett RF-projekt och insåg att jag inte vet hur man använder den seriella LCD med Arduino Nano. Så med lite forskning jag k...

Känna av temperaturen i rummet och visas i LCD med hjälp av Simulink och Arduino UNO

Fjärranalys och visning av rumstemperatur genom att använda Arduino är mycket vanligt och du hittar massor av tutorial instructablesand liknande webbplatser. Men jag har inte hittat någon tutorial någonstans hur man gör detta med hjälp av Matlab/Simu...

Multifunktions LED spelet med en ATmega32 mikrokontroller

Först är mina svar på tävlingen gör att lära:Vad gjorde du?Jag gjorde en multifunktionell LED Array Program, liksom min föregående med Arduino UNO, men denna gång gjorde jag det med en ATmega32 mikrokontroller. Jag använde vanlig C kod programmera de...

Skriv någon sak på LCD med en knapp med Arduino är det ett spel

I detta projekt använder jag bara en på knappen för att skriva någon sak på LCDatt skriva bokstaven A Tryck en gångatt skriva bokstaven B Tryck två gångeratt skriva bokstaven C Tryck tre gångeroch så vidare upp till Zatt ge utrymme tryck 27 gångerför...

Spela allt från NES till Xbox med Skittlespider asshole aka "The grej"

detta Instructable är för Skittlespider asshole (alla tillsammans System) kallas även "Grej"Detta projekt visade sig vara svårare än väntat. I några sätt var lättare också, så jag inte kan säga att det var en övergripande svårt eller lätt projek...