Skip to content

Instantly share code, notes, and snippets.

@eMUQI
Created April 18, 2024 01:46
Show Gist options
  • Select an option

  • Save eMUQI/790fecb0059b9d4c5649a8897d20dfa2 to your computer and use it in GitHub Desktop.

Select an option

Save eMUQI/790fecb0059b9d4c5649a8897d20dfa2 to your computer and use it in GitHub Desktop.
Explore the exciting animations on Arduino UNO R4's LED matrix!
#include "Arduino_LED_Matrix.h" // Include the LED_Matrix library
ArduinoLEDMatrix matrix;
struct Animation {
const uint32_t (*sequence)[4];
size_t size;
};
Animation animations[] = {
{LEDMATRIX_ANIMATION_STARTUP, sizeof LEDMATRIX_ANIMATION_STARTUP},
{LEDMATRIX_ANIMATION_TETRIS_INTRO, sizeof LEDMATRIX_ANIMATION_TETRIS_INTRO},
{LEDMATRIX_ANIMATION_ATMEGA, sizeof LEDMATRIX_ANIMATION_ATMEGA},
{LEDMATRIX_ANIMATION_LED_BLINK_HORIZONTAL, sizeof LEDMATRIX_ANIMATION_LED_BLINK_HORIZONTAL},
{LEDMATRIX_ANIMATION_LED_BLINK_VERTICAL, sizeof LEDMATRIX_ANIMATION_LED_BLINK_VERTICAL},
{LEDMATRIX_ANIMATION_ARROWS_COMPASS, sizeof LEDMATRIX_ANIMATION_ARROWS_COMPASS},
{LEDMATRIX_ANIMATION_AUDIO_WAVEFORM, sizeof LEDMATRIX_ANIMATION_AUDIO_WAVEFORM},
{LEDMATRIX_ANIMATION_BATTERY, sizeof LEDMATRIX_ANIMATION_BATTERY},
{LEDMATRIX_ANIMATION_BOUNCING_BALL, sizeof LEDMATRIX_ANIMATION_BOUNCING_BALL},
{LEDMATRIX_ANIMATION_BUG, sizeof LEDMATRIX_ANIMATION_BUG},
{LEDMATRIX_ANIMATION_CHECK, sizeof LEDMATRIX_ANIMATION_CHECK},
{LEDMATRIX_ANIMATION_CLOUD, sizeof LEDMATRIX_ANIMATION_CLOUD},
{LEDMATRIX_ANIMATION_DOWNLOAD, sizeof LEDMATRIX_ANIMATION_DOWNLOAD},
{LEDMATRIX_ANIMATION_DVD, sizeof LEDMATRIX_ANIMATION_DVD},
{LEDMATRIX_ANIMATION_HEARTBEAT_LINE, sizeof LEDMATRIX_ANIMATION_HEARTBEAT_LINE},
{LEDMATRIX_ANIMATION_HEARTBEAT, sizeof LEDMATRIX_ANIMATION_HEARTBEAT},
{LEDMATRIX_ANIMATION_INFINITY_LOOP_LOADER, sizeof LEDMATRIX_ANIMATION_INFINITY_LOOP_LOADER},
{LEDMATRIX_ANIMATION_LOAD_CLOCK, sizeof LEDMATRIX_ANIMATION_LOAD_CLOCK},
{LEDMATRIX_ANIMATION_LOAD, sizeof LEDMATRIX_ANIMATION_LOAD},
{LEDMATRIX_ANIMATION_LOCK, sizeof LEDMATRIX_ANIMATION_LOCK},
{LEDMATRIX_ANIMATION_NOTIFICATION, sizeof LEDMATRIX_ANIMATION_NOTIFICATION},
{LEDMATRIX_ANIMATION_OPENSOURCE, sizeof LEDMATRIX_ANIMATION_OPENSOURCE},
{LEDMATRIX_ANIMATION_SPINNING_COIN, sizeof LEDMATRIX_ANIMATION_SPINNING_COIN},
{LEDMATRIX_ANIMATION_TETRIS, sizeof LEDMATRIX_ANIMATION_TETRIS},
{LEDMATRIX_ANIMATION_WIFI_SEARCH, sizeof LEDMATRIX_ANIMATION_WIFI_SEARCH},
};
constexpr size_t animationCount = sizeof animations / sizeof * animations;
void setup() {
matrix.begin();
for (size_t i = 0; i < animationCount; ++i) {
matrix.loadWrapper(animations[i].sequence, animations[i].size);
matrix.play(false);
while (! matrix.sequenceDone()) yield();
}
}
void loop() {}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment