Hilfe, wie kann ich Bilder für eine Matrix kleiner bekommen ???

ich frag jetzt mal ganz blöd, ich hab eine Matrix mit einem ws2812 strip, will darauf Animationen über einen Teensy ablaufen lassen, die aber Fest darauf sind jetzt ist die Frage kann ich das auch kleiner bekommen wie ich es bis jetzt habe ??? hier ein Beispiel:

const bool CirocPic1[512] PROGMEM = {
0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,1,1,1,0,0,1,1,0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,
0,1,1,0,1,1,0,1,1,0,1,1,0,0,1,1,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,
1,1,0,0,0,1,0,1,1,0,1,1,0,0,0,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,0,
1,1,0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,1,0,0,0,0,0,1,0,1,1,0,0,0,0,0,
1,1,0,0,0,0,0,1,1,0,1,1,1,1,1,0,0,1,0,0,0,0,0,1,0,1,1,0,0,0,0,0,
1,1,0,0,0,1,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,0,
0,1,1,0,1,1,0,1,1,0,1,1,0,0,0,1,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,
0,0,1,1,1,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

const bool CirocPic1[512] PROGMEM = {
0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,1,1,1,0,0,1,1,0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,
0,1,1,0,1,1,0,1,1,0,1,1,0,0,1,1,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,0,
1,1,0,0,0,1,0,1,1,0,1,1,0,0,0,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,0,
1,1,0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,1,0,0,0,0,0,1,0,1,1,0,0,0,0,0,
1,1,0,0,0,0,0,1,1,0,1,1,1,1,1,0,0,1,0,0,0,0,0,1,0,1,1,0,0,0,0,0,
1,1,0,0,0,1,0,1,1,0,1,1,0,0,1,1,0,1,1,0,0,0,1,1,0,1,1,0,0,0,1,0,
0,1,1,0,1,1,0,1,1,0,1,1,0,0,0,1,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,0,
0,0,1,1,1,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
};
const bool CirocPic1[512] PROGMEM = {
0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,1,1,1,0,0,1,1,0,1,1,1,1,1,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,
0,1,1,0,1,1,0,1,1,0,1,1,0,0,1,1,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,0,
1,1,0,0,0,1,0,1,1,0,1,1,0,0,0,1,0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,
1,1,0,0,0,0,0,1,1,0,1,1,0,0,1,1,0,1,0,0,0,0,0,1,0,1,1,0,0,0,0,0,
1,1,0,0,0,0,0,1,1,0,1,1,1,1,1,0,0,1,0,0,0,0,0,1,0,1,1,0,0,0,0,0,
1,1,0,0,0,1,0,1,1,0,1,1,0,0,1,1,0,1,1,1,0,1,1,1,0,1,1,0,0,0,1,0,
0,1,1,0,1,1,0,1,1,0,1,1,0,0,0,1,0,0,1,1,1,1,1,0,0,0,1,1,0,1,1,0,
0,0,1,1,1,0,0,1,1,0,1,1,0,0,0,1,1,0,0,1,1,1,0,0,0,0,0,1,1,1,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
};

void setup() {
strip.begin();
strip.show(); // Initialize all pixels to ‘off’
Serial.begin(9600);
}

void loop() {
delay(1000);
// for(uint16_t i=0; i<512; i++) {
// strip.setPixelColor(i, strip.Color(0,0,255));
// strip.show();
// delay(30);
// }
cirocAnimation();
}

void cirocAnimation(){

Matrix1(CirocPic1);
Matrix2(CirocPic1);
delay(10);

Matrix1(CirocPic2);
Matrix2(CirocPic2);
delay(10);

Matrix1(CirocPic3);
Matrix2(CirocPic3);
delay(10);

SUPER DANKE :slight_smile:

Was meinst Du mit kleiner? Kleinere Matix oder weniger Speicherplatz im Flash?

Da das alles 0 und 1 er sind kannst Du 8 davon in 1 Byte zusammenfassen.

Grüße Uwe

PIXELYOURMIND: jetzt ist die Frage kann ich das auch kleiner bekommen wie ich es bis jetzt habe ??? hier ein Beispiel:

 const bool  CirocPic1[512] PROGMEM = {
0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,

Klar. Wenn Du nur 0 und 1 Informationen abspeichern möchtest, dann reicht dafür 1 Bit, aber Du berbrätst 1 Byte.

Du kannst daher den Speicherverbrauch lockern auf ein Achtel rezuzieren, wenn Du immer 8 Bits zu einem Byte zusammenfasst.

 const byte CirocPic1[64] PROGMEM = {
B00000001, B10000000, B00000000, B00000000, etc.

Du mußt dann beim Zugriff nur die 8 Bits wieder einzeln aus den Bytes herauslesen (bitRead).

Danke Jungs,

war mir eine grosse Hilfe!! :)

Danke