Afspelen van video op nokia kleuren LCD met behulp van een ATmega32


Hallo

Ik ben mijn nieuwe video-speler gemaakt met behulp van een atmega32 microcontroller en nokia kleur LCD introduceren. Ik heb een 65K kleuren LCD van een oude mobiele telefoon van nokia 6030.  Ik gesoldeerd rechtstreeks 10 dunne geëmailleerd koper draad van 0,5 cm vierkante inzake de dunne flexibele pcb van het LCD-scherm naar een strook van de berg vast op een ander bord. Voor mij was het het moeilijkste deel van dit project, omdat ik niet een kleine tip soldeerbout en een lcd connector (5 x 2) voet met mij.
Na dat ik het lcd met de atmega32 via SPI geïnterfacet. Dan geïnitialiseerd het LCD-scherm en sommige kleurpatronen weergegeven en bevestigd de LCD werkt.
Nu is mijn volgende stap is om een stilstaand beeld op het LCD-scherm weer te geven. Ik gebruikte python beeldbank om pixelinformatie te extraheren uit een willekeurig afbeeldingsbestand (jpeg, png, enz) en ik stroomde het aan avr via uart met behulp van pyserial en het beeld op het LCD-scherm met 16 bit kleurdiepte met succes weergegeven.
Na dat ik een SD-kaart voor het opslaan van de geconverteerde pixel informatie (132 x 132 * 2) bytes/afbeelding gebruikt. Toen ik de SD-kaart met dezelfde SPI van atmega32 geïnterfacet en weergegeven van de opgeslagen afbeelding. Ik gebruikte de FAT16-bestandssysteem. De sd kaart deel is niet een probleem voor mij omdat ik meer projecten op SD/MMC kaarten al heb gedaan en ik heb mijn vorige code gekopieerd daarvoor.
Dus na het tonen van het stilstaande beeld, ik dacht van het maken van een diavoorstelling op het LCD-scherm. Daarvoor schreef ik een python-script om alle afbeeldingen in een map (op mijn pc) omzetten in een 132 x 132 x 2 byte bestanden die niets anders dan de ongecomprimeerde pixelinformatie opgeslagen als nieuwe bestanden is. Dan ik al deze geconverteerde bestanden gekopieerd naar SD-kaart (file.lcd) en hen als een afbeelding diavoorstelling met 1 seconde tijdsverschil tussen elke afbeelding weergegeven.
Aangezien ik heb met succes de afbeelding diavoorstelling, toen kwam plotseling het idee van het maken van een video-speler naar mijn mening. Omdat de video is niets anders dan een diavoorstelling met hoge framesnelheid.
Vanaf hier begint dit project.
Toen ik begon te zoeken in google, hoe een video te converteren naar nog frames. Ik kwam te weten over de ffmpeg programma. Ik gebruik linux altijd. Ik heb gedownload van ffmpeg en een monster video geconverteerd naar frames aan 15 frames/tweede & 132 x 65 resolutie. Dan gebruikte ik mijn python-script elke stilstaande beelden omzetten pixelinformatie op 16 bits/pixel. Hier in plaats van het maken van kleine bestandjes, ik gewoon alle de fotoinformatie verzameld van aangrenzende frames in een enkel bestand en die als my_video.lcd wordt genoemd. Dan ik dat bestand naar de geheugenkaart gekopieerd en bewerkt om de avr-programma weer te geven op het LCD-scherm. Het toegang tot het bestandssysteem FAT16, en zoek vervolgens naar *.lcd bestanden en indien gevonden, de begin retourneert cluster adres van dat bestand en vervolgens streamen van dat cluster op het LCD erg snel. VIDEO wordt nu AFGESPEELD (zonder audio)!!! .... Bijna de helft van het project is voltooid...
Volgende helft: (audio mixen)
Ik speelde 15 fps 16 bits/pixel op het LCD-scherm. Nu komt de volgende hoofdpijn. Video moet audio hebben. :-(.... Dan begon ik te denken van het opnemen van audio. Ik ffmpeg(in pc) gewend extract audio van de video-bestand naar 8 bits mono wav. Aangezien de wav is niet-gecomprimeerde audio, is het eenvoudig te bedienen met behulp van een microcontroller met hardware PWM. Vervolgens gewijzigde mij mijn python-script. Ik heb net het wav-bestand geopend en verwijderd van de eerste 44 bytes (wav header) en dan na dat, ik lees de Luistervoorbeeld byte voor byte en geïnjecteerd het tussen de videogegevens nadat sommige berekeningen aan de bitsnelheid van zowel audio als video om te beslissen de mengverhouding (Zie de onderstaande wiskunde) gerelateerde.
Voor de perfecte audio video synchronisatie uitgevoerd ik een foutcode van de correctie in de converter, die toezicht houdt op de fout bij de gegevenssynchronisatie terwijl het mengen van de audio-/ video-bytes en wanneer de fout bereikt de minimale drempelwaarde (1 byte Luistervoorbeeld fout), het schrijft een dummy Luistervoorbeeld in plaats van echte Luistervoorbeeld voorkomt dus dat de accumulatie van fout en dus de perfecte audio video synchronisatie is bereikt voor uren van ononderbroken videoplayback...
Nu heb ik mijn eigen video-formaat ontworpen ("video_with_audio.vin" voor mijn speler;-). Nu in avr, ik moet uittreksel de audio en video en nodig voor het verzenden van de audio naar een audio circulaire buffer die zullen verzenden PWM met behulp van een timer onderbreken en video rechtstreeks naar LCD. Als er wanverhouding één byte opgetreden tussen de video- en audio-byte, zullen alles krijgen samengevouwen. Ik heb vervolgens de code van de avr te doen zoals hierboven en tenslotte ik video met audio speelde gewijzigd! :-)

Voor broncode en meer informatie, bezoek mijn blog link:
http://blog.vinu.co.in/2012/06/AVR-Video-Player-on-Nokia-color-LCD.html

Gerelateerde Artikelen

Afbeeldingen op Nokia 5110 Lcd met behulp van Arduino

Afbeeldingen op Nokia 5110 Lcd met behulp van Arduino

In deze korte instructable I 'm gonna displ sommige afbeeldingen op Nokia 5110 LCD-scherm met behulp van de ARDUINO UNO R3 zulks zelfs zit nuttig voor beginners is hier is een test video.Stap 1: Benodigde materialen Nokia 5510 LCDArduino boardJumper
Het gebruik van Nokia 5110 LCD met Arduino?

Het gebruik van Nokia 5110 LCD met Arduino?

Vandaag, ga ik u tonen hoe te gebruiken de Nokia 5110 display met Arduino boards Arduino boards met deze eenvoudige stappen.De noodzaak lijst:1. Arduino UNO (met USB kabel)2. Nokia 5110 LCD (met kleine kabels)Stap 1: De verbindingenVolg de verbinding
Hoe u een 16 x 2 LCD met behulp van een AVR ATtiny2313

Hoe u een 16 x 2 LCD met behulp van een AVR ATtiny2313

als je gewoon bent om in microcontrollers er is een hoop te weten zoals u waarschijnlijk heb ontdekt. Er is een heleboel goede online tutorials voor de Atmel AVR en kansen zijn dat u een paar van die inmiddels heb zien. Ik onlangs heb in microcontrol
Zin kamertemperatuur en Display in LCD met behulp van Simulink en Arduino UNO

Zin kamertemperatuur en Display in LCD met behulp van Simulink en Arduino UNO

Sensing en weergeven met behulp van Arduino kamertemperatuur is heel gebruikelijk en vindt u tal van tutorial instructablesand andere vergelijkbare sites. Maar ik heb niet gevonden een tutorial overal hoe dit te doen met behulp van Matlab/Simulink. M
Creatief kleuren vissen met behulp van grote kunst therapie markeringen in een Water achtergrond deel 2

Creatief kleuren vissen met behulp van grote kunst therapie markeringen in een Water achtergrond deel 2

hier is een stap voor stap handleiding om het verkrijgen van kleurige vissen!Stap 1: apparatuur Equipment:Potlood kleurenPuntenslijperFijne linersGrote kunst therapie MarkersDual Brush penseeluiteindenWater achtergrond met ongekleurde visTechnische H
Het weergeven van aangepaste karakter in lcd met behulp van Mik

Het weergeven van aangepaste karakter in lcd met behulp van Mik

Stel dat u wilt weergeven van een teken van hart of liefde of een ander logo aan uw lcd vertoning. Dus hoe is het mogelijk. Het is gemakkelijk als u ga gewoon via de tutorial bent. Mik is een krachtige tool om aangepaste teken weergeven in lcd.U kunt
Multifunctionele LED spel met behulp van een ATmega32 Microcontroller

Multifunctionele LED spel met behulp van een ATmega32 Microcontroller

Ten eerste zijn mijn antwoorden op de Make-To-Learn wedstrijd:Wat heeft u te maken?Ik maakte een multifunctionele LED matrix-programma, zoals mijn vorige met Arduino UNO, maar dit keer maakte ik het met een ATmega32 microcontroller. Ik gebruikte rege
Afspelen van You Tube video's op een PS3 met behulp van een iPhone.

Afspelen van You Tube video's op een PS3 met behulp van een iPhone.

In deze instructies ik doorloopt u een stap voor stap proces van het opzetten van uw iPhone en de PS3 naar YouTube video's afspelen op uw TV via uw PS3 met behulp van je iPhone te zoeken en de video's te kiezen. Hieronder staan de nodig levering.Stap
Het gebruik van een Nokia kleur LCD!

Het gebruik van een Nokia kleur LCD!

Nokia produceert een breed scala aan mobiele telefoons en veel van hun goedkopere telefoons bevatten eenvoudige LCD's die kunnen worden gebruikt in de microcontroller projecten.  Er is één bepaalde LCD-model dat wordt gebruikt in een breed scala aan
Hoe maak je een geanimeerde GIF uit een video bestand met behulp van alleen freeware

Hoe maak je een geanimeerde GIF uit een video bestand met behulp van alleen freeware

voor degenen onder u die niet weet een GIF-indeling is de meest gebruikte beeld formaat ondersteuning van meerdere frames in een slidshow of animatie. met andere woorden kun je korte video's waar normaal gesproken alleen beelden gaan.Ik heb wilde mak
Temperatuur meting Display op 16 x 2 LCD met de aanpassing van de temperatuur boven- en ondergrens voor de waarschuwing met behulp van Arduino

Temperatuur meting Display op 16 x 2 LCD met de aanpassing van de temperatuur boven- en ondergrens voor de waarschuwing met behulp van Arduino

Hallo iedereen, hier is mijn eerste project met Arduino. In dit project, zal ik u tonen hoe te meten van de temperatuur en weer te geven op een 16 x 2 LCD met behulp van Arduino, en we 2 knoppen kunt gebruiken om te kiezen wat we willen zien op LCD-s
Maken van gegevens Loger kamer voorwaarden Record met behulp van Arduino

Maken van gegevens Loger kamer voorwaarden Record met behulp van Arduino

Een Data loger room scheppen om te registreren van de toestand van de temperatuur, relatieve vochtigheid, en luchtdruk in de kamer wordt relatief eenvoudig. voor wie niet wat het eigenlijk weet is Arduino een programmeerbare micro controller met behu
Aangepaste Wax kaarsen - met behulp van 3D mallen gedrukt

Aangepaste Wax kaarsen - met behulp van 3D mallen gedrukt

Maak je eigen grappige aangepaste kaarsen door de volgende stappen, hier u onderwerp zou een zaak zoals een beeldje van speelgoed thuis of kan een echte mens!! Ik kies mijn vriend als een onderwerp hier gebruiken en was verrast met de details die ik
MRETV - Video, Stereo geluid en nog veel meer van een standaard Arduino!

MRETV - Video, Stereo geluid en nog veel meer van een standaard Arduino!

MRETV - Video, Stereo geluid en nog veel meer van een standaard Arduino!Nu bijgewerkt voor Arduino 1.6.6 November 2015!Gebruik slechts twee weerstanden en twee diodes voor het genereren van de volledig-schermvideo. Tekst 47 x 29 van 8 x 8 karakters,