Sida 1 av 1

Lagringformat och utskrift av bild till ledmatris?

Postat: 7 mars 2006, 22:23:06
av ASTRX
Håller på och pillar med lite mjukvara för en framtida 24x8 ledmatris-bygge som drivs av en ATmega16.
som jag tänkt så tänder jag varje kolumn en efter en och väljer via radporten vilken diod som skall vara tänd.
kolumnerna är inkopplade på 3st (A,B,C) utportar på uC:n. raderna är hookade till D-porten.
Genom att ge ut 5V på en kolum åt gången och 0 på de rader som skall tändas så kommer valda dioder att lysa.
makapären skall väl rulla i 100Hz ungefär så det blir behagligt att titta på.

Det jag inte kan lista ut är hur jag på ett skidigt sätt skall läsa inmatningen av valt motiv ett textrad. det ultimata vore väl om man kunde ta en 24x8 bmp-bild och tolka varje kolumn-bitmönster och spara i en array av unsigned chars som man sedan lirar ut till radporten i rätt takt.

Dock är jag lite osäker på om detta är den bästa lösningen och även om nån kan ge mig en push i rätt riktning på hur själva tolkningen av bmp-filen skall ske rent kodmässigt?

Skrik till om jag är helt ute och snurrar.

Postat: 7 mars 2006, 22:27:15
av sodjan
Du har ju ingen nytta av att ha BMP format i processorn, så det
bästa är antagligen att konvertera från BMP till en enkel textfil
på PCn som sedan skickas över. Försök att göra så lite som
möjligt av just detta i AVR'en, och låt PCn jobba istället...

Postat: 7 mars 2006, 22:42:35
av ASTRX
ja det låter ju smartast. men jag tycker inte jag hittar inte mågot vettigt om hur jag ska konvertera bmp-filen, och hur den är uppbyggd. du sitter inte på någon bra länk eller vill förklara kortfattat?

Postat: 7 mars 2006, 22:52:00
av cykze
www.wotsit.org är bra när det gäller filformat.

Postat: 8 mars 2006, 00:23:48
av bearing
ASTRX skrev:ja det låter ju smartast. men jag tycker inte jag hittar inte mågot vettigt om hur jag ska konvertera bmp-filen, och hur den är uppbyggd. du sitter inte på någon bra länk eller vill förklara kortfattat?
I Paint Shop Pro 4 kan man spara filer med formatet RAW. Jag har titta på dessa filer med hexeditor och sett att det endast är rådata, alltså en byte/pixel (el. vad man nu ställt in).
Andra bildformat har en header som beskriver bredd/höjd och andra detaljer vilket råfilen alltså saknar. Ska man läsa är råfil måste man alltså veta bredd, höjd och antal bitar per pixel.

Postat: 8 mars 2006, 18:40:42
av ASTRX
det där låter tokbra. extrainfon man får med bmp-formatet är ju inte intressant då jag vet storleken och bara har 1 bits djup.

Postat: 8 mars 2006, 19:12:56
av bearing
Nu testade jag att spara med 1 bit/pixel och då sa PSP4 att det behövde vara minst 1 byte/pixel och konverterade. Om du ska få 1 bit/pixel måste du alltså ändå skriva ett PC-program som konverterar filen tyvärr, fast inte om du hittar någon bättre bildprogram förstås. PC-programmet blir dock enklare om du använder RAW-filen ist. för BMP-filen.

Ska du ha ett PC-program som skickar över bilder till uC:n blir det nog inte mycket extrajobb att baka in konvertering också. Det borde gå att hitta info om headers på nätet så det borde bli enkelt att få programmet att tolka bmp, jpg osv. Kanske redan finns funktioner som läser in bilder?

Postat: 8 mars 2006, 19:24:09
av ASTRX
japp. nu har jag ganska klart för mig hur jag skall attackera problemet. tack för hjälpen.