Created
April 18, 2024 01:46
-
-
Save eMUQI/790fecb0059b9d4c5649a8897d20dfa2 to your computer and use it in GitHub Desktop.
Explore the exciting animations on Arduino UNO R4's LED matrix!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #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