Animerad bild till PIC?

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
SweLogan
Inlägg: 550
Blev medlem: 29 januari 2006, 23:36:15
Ort: Jönköping

Animerad bild till PIC?

Inlägg av SweLogan »

Om man har en bild på 10 x 10 pix och den har 15 frams, hur kan man göra så att picen känner av vilken färg som är på rätt kodenat?

Helst om man kan lösa detta i ett basik program eller C?
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Inlägg av bearing »

En bild brukar vara en matris med värden, t.ex. 10X10 bytes. Varje pixel är då en byte stor. Värdet på byten bestämmer färgen. Om det räcker med 2 olika färger behöver bara en bit användas för att minska storleken på bilden.
Vad ska du göra?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

> hur kan man göra så att picen känner av vilken färg...

Vad menar du med "färg" ??
Hur är "färg" definierat i den "bild" du har ?
SweLogan
Inlägg: 550
Blev medlem: 29 januari 2006, 23:36:15
Ort: Jönköping

Inlägg av SweLogan »

Nu i början ska det bara vara Svart/vitt, Vita dioder som man kan torna i 256 nyanser. Men man laddar då inte över bilden till picen utan bara massa nummrer?

Det ska vara en liten tavla som ska linka och hålla på.
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Så den "bild" som PIC'en ska "känna av" är i gråtoner ? Var kommer den från ?
Vilket bildformat (JPG, GIF, BMP o.s.v) har bildfilerna ?
Vad ska PIC'en göra med "bilden" innan den läggs ut på diodmatrisen ?
Vad är "linka" ?
Ska du själv skapa bilderna ?


> Men man laddar då inte över bilden till picen utan bara massa nummrer?

*ALLA* bilder är bara en "massa nummer". Dock *olika* nummer beroende på om det
är svart/vit, 256 färger, "true color" o.s.v os.v...

En dator (t.ex en PC eller PIC) vet inte vad en "bild" är, det vet bara du och jag
(och eventuellt en lämpligt skriven applikation)..

För övrigt är *allt* annat i en dator också bara en "massa nummer"... :-)

> Vita dioder som man kan torna i 256 nyanser.

Alltså behöver du 8 bitar info för varje diod. 100 bytes.
Dessa måste PIC'en "ha" på något sätt. Kan skickas över en serielänk.
Sedan blir det inte lätt att köra multiplexning samtidigt som man håller
reda på pwm värden för varje diod.
Du behöver t.ex 100 räknare, en för varje diod.

Eller att driva matrisen med lite extra hårdvara som kan styra
ljustyrkan och avlasta PICen.

Men du nämner också 15 "frames" (?). Som alltså skall växla som ett
"bildspel" ? Och varje ska ha 256 nivåers gråskala ? Det ser svårt ut...
bearing
Inlägg: 11676
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Inlägg av bearing »

Med vissa bildprogram kan du spara en bild som "raw". Med rätt inställningar blir det en fil med 100 bytes(10*10) som du skulle kunna spara i picens flashminne. Lyckas du inte med ett bildprogram får du nog skriva in bilderna som siffror i programmet.

Om du ska ha en animation med 15 bilder tar det dock rätt stor plats, blir ju 1500 bytes, så du får se till att fixa pic som har stort flashminne alt. spara bilderna i ett extern EEPROM/FLASH-minne.

Ska du använda en LED-matris för att visa bilden?

Överväg att använda 8 i höjd eller bredd, blir nog enklare att få picen att hinna med då.
SweLogan
Inlägg: 550
Blev medlem: 29 januari 2006, 23:36:15
Ort: Jönköping

Inlägg av SweLogan »

Sodjan, det gäller att köra raka puckar med dig va? :)
Iden med bilden är inte nödvändigt, jag kan skriva ett program som kan skicka en array över serielporten till PICen.

Sedan ska picen kolla av i arrayn "typ" array(255,1,0)
typ om man kan ha en 3D array 1, värdet på styrkan, 2 pixel, 3 frame.

Detta med frame, det är ju så att den ska spela upp ett bildspel typ.
Uppdaterningen behöver inte vara så snabb mellan bilderna.

"massa nummer" räcker la bra med 2? 1 och 0?

Såg att du sålde 1 st stor 8 x 8 LED matris på tradera, har du enfärgade till salu med?
sodjan
EF Sponsor
Inlägg: 43251
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Inlägg av sodjan »

Tja, jag "triggar" när det *ser ut* som om den som frågar inte själv har tänkt till riktigt.
Det kanske han har, men då är det "upp till bevis"... :-)

Dessutom tycker jag att det var rellevanta frågor för att förstå det hela.

Hur som helst...

Du behöver nog räkna lite på antal punkter, uppdateringsfrekvens, typ av multiplexning, "bildfrekvens" o.s.v.
Då ser du hur många processorcykler du "på dig" för de olika operationerna och det hela blir möjligt att bedöma om det är genomförbart.
Med "tight" assemblerkod kan det fungera, någon annan får svara för Basic och C...

> Uppdaterningen behöver inte vara så snabb mellan bilderna.

OK. Så inte "rörliga" bilder då ?
Jag antar att man får ha de olika bilderna i flash, sedan regelbundet
kopiera över "nästa bild" till den "frame buffer" som multiplex rutinen
läser från. Eller något liknande.

> Såg att du sålde 1 st stor 8 x 8 LED matris på tradera, har du enfärgade till salu med?

Om man inte kopplar in alla pinnar blir den enfärgad. Du kan även välja färg ! :-)
Skriv svar