tisdag 15 juni 2010

The story of AVR

Finns säkert nån som undrar vad det är för mysko microkontroller kretsar som jag använder, det bästa är nog att låta skaparna av AVR kretsarna att berätta.


måndag 14 juni 2010

LED display projektet

Efter att ha slutat skolan och varit hos Emelie, på rave och vattenkrig så tog jag tag i att få igång seriellports anslutningen på LED displayen. Upptäckte efter tillverkningen av moderkortet till displayen att jag hade vänt på RXD och TXD från både anslutningen till MAX232 chipet och från chipet till MCU:n, dumt fel men lätt åtgärdat med att skära av banorna och korsa dem med lite kabel. Förstår inte heller varför jag satte en klockkristall på 10Mhz å inte en kristall med en frekvens som ger en hög felfri baud rate på den seriella kommunikationen. Den högsta baud raten som fungerar att köra nu är 14400 med då 0,9% baudratefel på grund av 10Mhz kristallen.


seriella kabeln in till displayen.

Det visade sig att det behövdes väldigt lite ny kod i moderMCU:n för att ta hand om seriella anslutningen, speciellt när AVR chipen har inbyggd hårdvaru UART. Allt som behöves var egentligen en switchsats som beror på första tecknet mottaget på UART:en och sen lite kod för att lägga in bilddatan rätt i datafältet som sen visas på displayen.

Började sedan att jobba på lite olika program i datorn för att styra displayen. Började med simpelt program som tar emot en textsträng och skickar den sedan till displayen så att den visas där. Utvecklade sedan lite mera och skickade bilddata från plasmagenerator koden som jag tidigare grejat med, fick riktigt fint bildhastighet på plasman nu när jag beräknade den med hjälp av datorn å inte en microkontroller.

Fick sedan iden att kunna läsa in bilder från datorn å visa dem på displayen, så började läsa om hur det enklaste bildformatet ".bmp" är uppbyggt. Efter ungefär 2 dygns konstant kodskrivande så kan jag använda och skapa okomprimerade bitmapsbilder, finns färdiga bibliotek för allt detta fast det var mycket intressantare att skriva från grunden. Just till displayen fungerar nu alla monokroma bitmapsbilder oavsett storlek, fast 48x32 pixlar är att föredra då de passar exakt på skärmen.

koden för att skapa bilder är egentligen inte användbar till skärmen men kommer nog att bli användbar till ett annat CNC kretskortsborr projekt.


Här är i alla fall en bild genererad från min kod. Det är en 640x480 monokrom bild mellan svart och magenta där de svarta pixlarna är slumpvis placerade.

Några dagars av konstant kodskrivande, lite lödning och pixelart så blev det denna demovisningen på displayen, syns mycket bättre i verkligheten då det är svårt att filma så att det blir bra i motljuset från dioderna. Tackar Emelie som har gjort bilden på Mew och bilderna till animationen på Yoshi som står på tå och snurrar.