top of page

4.5.23

  • owenmichael12333
  • Apr 5, 2023
  • 3 min read

I was able to get an array of 3x3 matrices working this week which allowed me to begin the animation process. I took two frames from the gif that I downloaded and converted each to a byte array. I then wrote a loop function that would display each image every second. This creates an animation effect and causes it to look much better than just one still image. I need to convert the rest of the gifs and I'm not sure if I should keep the 2 frame animation or use more frames so that it looks more fluid as it might take a while and there may be some memory issues that could result from it.

Here is part of the code that includes the loop function of my drawing the byte arrays listed below.

const unsigned char PROGMEM RAIN1[] =
{
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x7f, 0xff, 0xff, 
  0xff, 0xfe, 0x0, 0x1f, 0xff, 0xff, 0xff, 0xfc, 0x3f, 0x87, 0xff, 0xff, 
  0xff, 0xfc, 0x7f, 0xc3, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xe3, 0xff, 0xff, 
  0xff, 0xfb, 0xff, 0xf1, 0xff, 0xff, 0xff, 0xe3, 0xff, 0xf0, 0x3, 0xff, 
  0xff, 0xe3, 0xff, 0xf0, 0x3, 0xff, 0xff, 0xe3, 0xff, 0xfc, 0x0, 0x7f, 
  0xff, 0xe7, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0x83, 0xff, 0xff, 0xff, 0x1f, 
  0xfe, 0x3, 0xff, 0xff, 0xff, 0x1f, 0xfc, 0x3f, 0xff, 0xff, 0xff, 0x8f, 
  0xf0, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xcf, 
  0xf1, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xcf, 
  0xf3, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xf3, 0xff, 0xff, 0xff, 0xff, 0x8f, 
  0xf3, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xf1, 0xff, 0xff, 0xff, 0xff, 0x9f, 
  0xf1, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xf8, 0x7f, 0xff, 0xff, 0xfc, 0x3f, 
  0xfc, 0x0, 0x0, 0x0, 0x0, 0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0xff, 
  0xff, 0x80, 0x0, 0x0, 0x3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xe3, 0xf8, 0xfe, 0x3f, 0xff, 0xff, 0xc3, 0xf9, 0xfc, 0x7f, 0xff, 
  0xff, 0xc7, 0xf9, 0xfc, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
};

const unsigned char PROGMEM RAIN2[] =
{
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x3f, 0xff, 0xff, 0xff, 0xfe, 0x0, 0xf, 0xff, 0xff, 
  0xff, 0xfc, 0x1f, 0x7, 0xff, 0xff, 0xff, 0xf8, 0x7f, 0xc3, 0xff, 0xff, 
  0xff, 0xf8, 0xff, 0xe3, 0xff, 0xff, 0xff, 0xf1, 0xff, 0xf1, 0xff, 0xff, 
  0xff, 0xf3, 0xff, 0xf0, 0x7, 0xff, 0xff, 0xe3, 0xff, 0xf8, 0x1, 0xff, 
  0xff, 0xe3, 0xff, 0xfc, 0x0, 0x7f, 0xff, 0xe7, 0xff, 0xfd, 0xfc, 0x3f, 
  0xff, 0x83, 0xff, 0xff, 0xfe, 0x1f, 0xfe, 0x3, 0xff, 0xff, 0xff, 0x1f, 
  0xfc, 0x3f, 0xff, 0xff, 0xff, 0x8f, 0xf8, 0xff, 0xff, 0xff, 0xff, 0x8f, 
  0xf1, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xcf, 
  0xf3, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xf3, 0xff, 0xff, 0xff, 0xff, 0xcf, 
  0xf3, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xf3, 0xff, 0xff, 0xff, 0xff, 0x8f, 
  0xf1, 0xff, 0xff, 0xff, 0xff, 0x1f, 0xf1, 0xff, 0xff, 0xff, 0xff, 0x1f, 
  0xf8, 0xff, 0xff, 0xff, 0xfc, 0x3f, 0xfc, 0x0, 0x0, 0x0, 0x0, 0x7f, 
  0xfe, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x80, 0x0, 0x0, 0x7, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x7f, 0xff, 
  0xff, 0xc7, 0xff, 0xfc, 0x7f, 0xff, 0xff, 0xc7, 0xff, 0xfc, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0x8f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 
};
  matrix.drawBitmap(0, 0,  RAIN1, 48, 48, BLACK, WHITE);
  matrix.show();
  delay(1000);
  matrix.clear();
  matrix.drawBitmap(0, 0,  RAIN2, 48, 48, BLACK, WHITE);
  matrix.show();
  delay(1000);
  matrix.clear();

 
 
 

Recent Posts

See All
5.11.23

This week I did not get much done due to very few class periods this week. I spent the beginning of the week working on cleaning up the...

 
 
 

留言


bottom of page