Home Code Arduino Uno R4 Led Matrix examples

Arduino Uno R4 Led Matrix examples

by shedboy71
[lebox id="1"]

One of the interesting features of the Arduino UNO R4 WiFi is that it has a built-in 12×8 LED Matrix. Using a bit of creativity you can display anything you want on this.

There is a handy led matrix editor online where you can create your animations, link is at the bottom of this article

To use the LED Matrix library, there are a couple of things that you will need to add to your sketch

First, include the library at the top of your sketch, like this:

#include "Arduino_LED_Matrix.h"

Then, you need to create a LED Matrix object in your sketch, by adding the following line directly underneath the first one

ArduinoLEDMatrix matrix;

And then lastly, you start the LED Matrix by adding this line in void setup():

matrix.begin();

So a basic framework would be

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include "Arduino_LED_Matrix.h"
ArduinoLEDMatrix matrix;
void setup()
{
matrix.begin();
}
void loop() {
}
#include "Arduino_LED_Matrix.h" ArduinoLEDMatrix matrix; void setup() { matrix.begin(); } void loop() { }
#include "Arduino_LED_Matrix.h"

ArduinoLEDMatrix matrix;

void setup()
{
matrix.begin();
}

void loop() {

}

 

Now let's look at 2 examples that you can try, both use slightly different ways to light the less and display animations

Code examples

Example 1

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include "Arduino_LED_Matrix.h"
ArduinoLEDMatrix matrix;
void setup()
{
matrix.begin();
}
uint8_t frame[8][12] = {
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
{ 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 corners()
{
frame[0][0] = 1;
frame[0][11] = 1;
frame[7][0] = 1;
frame[7][11] = 1;
}
void centre()
{
frame[3][5] = 1;
frame[3][6] = 1;
frame[4][5] = 1;
frame[4][6] = 1;
}
void clearmatrix()
{
frame[0][0] = 0;
frame[0][11] = 0;
frame[7][0] = 0;
frame[7][11] = 0;
frame[3][5] = 0;
frame[3][6] = 0;
frame[4][5] = 0;
frame[4][6] = 0;
}
void loop()
{
corners();
matrix.renderBitmap(frame, 8, 12);
delay(1000);
centre();
matrix.renderBitmap(frame, 8, 12);
delay(1000);
clearmatrix();
matrix.renderBitmap(frame, 8, 12);
delay(1000);
}
#include "Arduino_LED_Matrix.h" ArduinoLEDMatrix matrix; void setup() { matrix.begin(); } uint8_t frame[8][12] = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, { 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 corners() { frame[0][0] = 1; frame[0][11] = 1; frame[7][0] = 1; frame[7][11] = 1; } void centre() { frame[3][5] = 1; frame[3][6] = 1; frame[4][5] = 1; frame[4][6] = 1; } void clearmatrix() { frame[0][0] = 0; frame[0][11] = 0; frame[7][0] = 0; frame[7][11] = 0; frame[3][5] = 0; frame[3][6] = 0; frame[4][5] = 0; frame[4][6] = 0; } void loop() { corners(); matrix.renderBitmap(frame, 8, 12); delay(1000); centre(); matrix.renderBitmap(frame, 8, 12); delay(1000); clearmatrix(); matrix.renderBitmap(frame, 8, 12); delay(1000); }
#include "Arduino_LED_Matrix.h"
ArduinoLEDMatrix matrix;

void setup() 
{
  matrix.begin();
}

uint8_t frame[8][12] = {
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 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 corners()
{

  frame[0][0] = 1;
  frame[0][11] = 1;
  frame[7][0] = 1;
  frame[7][11] = 1;
}

void centre()
{
  frame[3][5] = 1;
  frame[3][6] = 1;
  frame[4][5] = 1;
  frame[4][6] = 1;
}

void clearmatrix()
{
  frame[0][0] = 0;
  frame[0][11] = 0;
  frame[7][0] = 0;
  frame[7][11] = 0;
  frame[3][5] = 0;
  frame[3][6] = 0;
  frame[4][5] = 0;
  frame[4][6] = 0; 
}


void loop()
{
corners();
matrix.renderBitmap(frame, 8, 12);
delay(1000);
centre();
matrix.renderBitmap(frame, 8, 12);
delay(1000);
clearmatrix();
matrix.renderBitmap(frame, 8, 12);
delay(1000);
}

 

Example 2

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
#include "Arduino_LED_Matrix.h"
ArduinoLEDMatrix matrix;
const uint32_t frame1[] = {
0xfff80180,
0x18018018,
0x1801fff,
66
};
const uint32_t frame2[] = {
0x7fe40,
0x24024024,
0x27fe000,
66
};
const uint32_t frame3[] = {
0x3f,
0xc2042043,
0xfc000000,
66
};
const uint32_t frame4[] = {
0x0,
0x1f81f80,
0x0,
66
};
void setup()
{
matrix.begin();
}
void loop() {
matrix.loadFrame(frame1);
delay(500);
matrix.loadFrame(frame2);
delay(500);
matrix.loadFrame(frame3);
delay(500);
matrix.loadFrame(frame4);
delay(500);
}
#include "Arduino_LED_Matrix.h" ArduinoLEDMatrix matrix; const uint32_t frame1[] = { 0xfff80180, 0x18018018, 0x1801fff, 66 }; const uint32_t frame2[] = { 0x7fe40, 0x24024024, 0x27fe000, 66 }; const uint32_t frame3[] = { 0x3f, 0xc2042043, 0xfc000000, 66 }; const uint32_t frame4[] = { 0x0, 0x1f81f80, 0x0, 66 }; void setup() { matrix.begin(); } void loop() { matrix.loadFrame(frame1); delay(500); matrix.loadFrame(frame2); delay(500); matrix.loadFrame(frame3); delay(500); matrix.loadFrame(frame4); delay(500); }
#include "Arduino_LED_Matrix.h"


ArduinoLEDMatrix matrix;

const uint32_t frame1[] = {
  0xfff80180,
  0x18018018,
  0x1801fff,
  66
};

const uint32_t frame2[] = {
  0x7fe40,
  0x24024024,
  0x27fe000,
  66
};

const uint32_t frame3[] = {
  0x3f,
  0xc2042043,
  0xfc000000,
  66
};

const uint32_t frame4[] = {
  0x0,
  0x1f81f80,
  0x0,
  66
};

void setup() 
{
  matrix.begin();
}

void loop() {
  matrix.loadFrame(frame1);
  delay(500);
  matrix.loadFrame(frame2);
  delay(500);
  matrix.loadFrame(frame3);
  delay(500);
  matrix.loadFrame(frame4);
  delay(500);
}

 

Link

https://ledmatrix-editor.arduino.cc/

https://github.com/programmershelp/Arduino/tree/main/R4%20Examples/matrixexample1

https://github.com/programmershelp/Arduino/tree/main/R4%20Examples/matrixexample2

Share
[lebox id="2"]

You may also like