Hello all,
Thanks for taking the time to help with my project. I am trying to create 2 eyes with the use of LED matrixes, specifically with 8x8 matrixes in an arrangement of 2x2. Together I would be running a total of 8 matrixes, with half of them (one eye) mirroring the other one. I have purchased the materials (both sourced locally in the Czech Republic and through AliExpress).
My issue is I haven’t properly read the full specs up until now, and so I am in a bit of a sticky situation right now. The LED matrices I have are common anode, and I have bought MAX7219s to run them (which from my understanding are common cathode only).
So my first question is how would/could I go about wiring these, if the solution would be as ‘simple’ as swapping some connections, or adjusting something in a sketch, or another solution?
My second question is about the set up (and subsequent sketch) of the eyes. I’ve found some useful posts on here (eg. @marco_c ’s Parola library , or the helpful comments of a few people here on hooking up 4 matrixes together), but my issue is that nearly everyone here uses the LED Matrix as a scrolling display, and those are all the examples I’ve found… I do not want to scroll whatsoever, though I do want the displays to work together. Orientation of the displays is also a question, though I assume this could be accounted for in the sketch.
I’ve used this website to draw the code through a GUI, so that’s set. An example of a blinking eye would be as follows:
TL
const uint64_t IMAGES[] = {
0x3c7cfcf8f0c00000,
0x3c7cfcf800000000,
0x3c7c000000000000,
0x0000000000000000,
0x0000000000000000,
0x0000000000000000,
0x0000000000000000,
0x0000000000000000,
0x0000000000000000,
0x0000000000000000,
0x3c7c000000000000,
0x3c7cfcf800000000,
0x3c7cfcf8f0c00000
};
const int IMAGES_LEN = sizeof(IMAGES)/8;
TR
const uint64_t IMAGES[] = {
0x3c3e3f1f0f030000,
0x3c3e3f1f00000000,
0x3c3e000000000000,
0x0000000000000000,
0x0000000000000000,
0x0000000000000000,
0x0000000000000000,
0x0000000000000000,
0x0000000000000000,
0x0000000000000000,
0x3c3e000000000000,
0x3c3e3f1f00000000,
0x3c3e3f1f0f030000
};
const int IMAGES_LEN = sizeof(IMAGES)/8;
BL
const uint64_t IMAGES[] = {
0x0000183c3c3c3c3c,
0x0000183c3c3c3c3c,
0x0000183c3c3c3c3c,
0x0000183c3c3c3c3c,
0x0000183c3c3c0000,
0x0000183c00000000,
0x0000003c00000000,
0x0000183c00000000,
0x0000183c3c3c0000,
0x0000183c3c3c3c3c,
0x0000183c3c3c3c3c,
0x0000183c3c3c3c3c,
0x0000183c3c3c3c3c
};
const int IMAGES_LEN = sizeof(IMAGES)/8;
BR
const uint64_t IMAGES[] = {
0x0000183c3c3c3c3c,
0x0000183c3c3c3c3c,
0x0000183c3c3c3c3c,
0x0000183c3c3c3c3c,
0x0000183c3c3c0000,
0x0000183c00000000,
0x0000003c00000000,
0x0000183c00000000,
0x0000183c3c3c0000,
0x0000183c3c3c3c3c,
0x0000183c3c3c3c3c,
0x0000183c3c3c3c3c,
0x0000183c3c3c3c3c
};
const int IMAGES_LEN = sizeof(IMAGES)/8;
The resulting animation is attached to this post.
All of these could be easily turned into a bit array:
BR
const byte IMAGES[][8] = {
{
B00111100,
B00111100,
B00111100,
B00111100,
B00111100,
B00011000,
B00000000,
B00000000
},{
B00111100,
B00111100,
B00111100,
B00111100,
B00111100,
B00011000,
B00000000,
B00000000
},{
B00111100,
B00111100,
B00111100,
B00111100,
B00111100,
B00011000,
B00000000,
B00000000
},{
B00111100,
B00111100,
B00111100,
B00111100,
B00111100,
B00011000,
B00000000,
B00000000
},{
B00000000,
B00000000,
B00111100,
B00111100,
B00111100,
B00011000,
B00000000,
B00000000
},{
B00000000,
B00000000,
B00000000,
B00000000,
B00111100,
B00011000,
B00000000,
B00000000
},{
B00000000,
B00000000,
B00000000,
B00000000,
B00111100,
B00000000,
B00000000,
B00000000
},{
B00000000,
B00000000,
B00000000,
B00000000,
B00111100,
B00011000,
B00000000,
B00000000
},{
B00000000,
B00000000,
B00111100,
B00111100,
B00111100,
B00011000,
B00000000,
B00000000
},{
B00111100,
B00111100,
B00111100,
B00111100,
B00111100,
B00011000,
B00000000,
B00000000
},{
B00111100,
B00111100,
B00111100,
B00111100,
B00111100,
B00011000,
B00000000,
B00000000
},{
B00111100,
B00111100,
B00111100,
B00111100,
B00111100,
B00011000,
B00000000,
B00000000
},{
B00111100,
B00111100,
B00111100,
B00111100,
B00111100,
B00011000,
B00000000,
B00000000
}};
const int IMAGES_LEN = sizeof(IMAGES)/8;
Link to LED Matrix i bought
MAX7219 datasheet
Appreciate any pointers, links, comments, advice that I can get.

