jonas-ventje schreef op vrijdag 9 augustus 2019 @ 14:34:
haha bijna, het is een 10*10 led matrix en het is een project voor tijdens de vakantie, Ik heb het al geprogrammeerd maar dat kan niet iedereen dus de bedoeling is een website te maken waarbij je elke led-waarde apart kunt instellen dus deze website is nu bijna af maar als je dan 10 verschillende waardes voor alle leds hebt, zit je al aan 1000 waardes, vandaar dat het te groot gaat zijn om in een array te kunnen steken
Zo heel veel data hoeft het niet te zijn als je alles efficiënt in elkaar zet.
Je hebt waarschijnlijk toch niet de volledige 16 miljoen kleuren (24-bit) nodig. Maar we houden het leuk en zeggen dat we het wel willen (als worst case scenario).
Een Arduino Uno heeft 2KB aan ram.
We hebben een 10x10 matrix, dus dat is 100 leds.
Als we de kleuren opslaan in een byte array als:
[0] = Rood led 1
[1] = Groen led 1
[2] = Blauw led 1
[3] = Rood led 2
[4] = Groen led 2
[5] = Blauw led 2
[6] = ...
Als je dit tot het einde doet van de array, zul je zien dat daar maar 300 bytes voor nodig zijn, oftewel ~14.6% van je ram. Past dus prima.
Je kan het nog efficiënter doen door alle kleuren samen te pakken in 1 byte (8-bit). Een voorbeeld kan zijn (in bits):
7 6 5 4 3 2 1 0
RRR GGG BB
Nu kost het je nog maar 100 bytes en heb je nog steeds zat kleuren om leuke dingen mee te doen.
https://en.wikipedia.org/wiki/Color_depth#Comparison