Page 1 of 1
Forum

Welcome to the Tweaking4All community forums!
When participating, please keep the Forum Rules in mind!

Topics for particular software or systems: Start your topic link with the name of the application or system.
For example “MacOS X – Your question“, or “MS Word – Your Tip or Trick“.

Please note that switching to another language when reading a post will not bring you to the same post, in Dutch, as there is no translation for that post!



LED Matrix: Create ...
 
Share:
Notifications
Clear all

[Solved] LED Matrix: Create the American Flag in a LED matrix

18 Posts
6 Users
0 Reactions
6,857 Views
 Hans
(@hans)
Famed Member Admin
Joined: 12 years ago
Posts: 2859
Topic starter  

Hi lferrer,

apologies for the late response ...
So let's look at how to switch flags. I'd create an array per flag and do something like this:

#include <avr/pgmspace.h>  // Needed to store stuff in Flash using PROGMEM
#include "FastLED.h" // Fastled library to control the LEDs
// How many leds are connected?
#define NUM_LEDS 195
// Define the Data Pin
#define DATA_PIN 6 // Connected to the data pin of the first LED strip
// Define the array of leds
CRGB leds[NUM_LEDS];
// Define Colors
#define Red 0xFF0000
#define White 0xFFFFFF
#define Blue 0x0000FF
#define Green 0x00FF00
#define Black 0x000000
#define Yellow 0xFFFF00
int Counter=0; // added to use as the flag counter
uint32_t flag_USA[13][15] = { 
    { White, Blue, White, Blue, White, Blue, White, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 1
    { White, White, White, White, White, White, White, White, Blue, White, Blue, White, Blue, White, Blue, }, // row 2
    { White, Blue, White, Blue, White, Blue, White, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 3
    { White, White, White, White, White, White, White, White, Blue, White, Blue, White, Blue, White, Blue, }, // row 4
    { White, Blue, White, Blue, White, Blue, White, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 5
    { White, White, White, White, White, White, White, White, Blue, White, Blue, White, Blue, White, Blue, }, // row 6
    { Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 7
    { White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, }, // row 8
    { Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 9
    { White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, }, // row 10
    { Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 11
    { White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, }, // row 12
    { Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, } // row 13    
};
  
uint32_t flag_OtherCountry1 [13][15] = {
  { Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, },
  { Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, }, // row 1
  { Blue, Blue, Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 1a
  { White, White, White, White, White, White, White, White, White, White, White, Blue, Blue, Blue, Blue, }, // row 2
  { Blue, Blue, Blue, Blue, Blue, White, White, White, White, White, White, White, White, White, White, }, // row 2a
  { Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, Blue, White, Blue, Blue, }, // row 3
  { Blue, White, White, White, Blue, Blue, Blue, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 
  { Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, Blue, White, Blue, Blue, }, // row 3a
  { Blue, Blue, Blue, Blue, Blue, White, White, White, White, White, White, White, White, White, White, }, // row 4
  { White, White, White, White, White, White, White, White, White, White, White, Blue, Blue, Blue, Blue, }, // row 4a
  { Blue, Blue, Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 5
  { Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, }, // row 5a
  { Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }
};
  
uint32_t flag_OtherCountry2 [13][15] = {
  { Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, },
  { Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, }, // row 1
  { Blue, Blue, Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 1a
  { White, White, White, White, White, White, White, White, White, White, White, Blue, Blue, Blue, Blue, }, // row 2
  { Blue, Blue, Blue, Blue, Blue, White, White, White, White, White, White, White, White, White, White, }, // row 2a
  { Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, Blue, White, Blue, Blue, }, // row 3
  { Blue, White, White, White, Blue, Blue, Blue, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 
  { Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, Blue, White, Blue, Blue, }, // row 3a
  { Blue, Blue, Blue, Blue, Blue, White, White, White, White, White, White, White, White, White, White, }, // row 4
  { White, White, White, White, White, White, White, White, White, White, White, Blue, Blue, Blue, Blue, }, // row 4a
  { Blue, Blue, Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 5
  { Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, }, // row 5a
  { Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }
};
  
uint32_t flag_OtherCountry3 [13][15] = {
  { Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, },
  { Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, }, // row 1
  { Blue, Blue, Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 1a
  { White, White, White, White, White, White, White, White, White, White, White, Blue, Blue, Blue, Blue, }, // row 2
  { Blue, Blue, Blue, Blue, Blue, White, White, White, White, White, White, White, White, White, White, }, // row 2a
  { Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, Blue, White, Blue, Blue, }, // row 3
  { Blue, White, White, White, Blue, Blue, Blue, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 
  { Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, Blue, White, Blue, Blue, }, // row 3a
  { Blue, Blue, Blue, Blue, Blue, White, White, White, White, White, White, White, White, White, White, }, // row 4
  { White, White, White, White, White, White, White, White, White, White, White, Blue, Blue, Blue, Blue, }, // row 4a
  { Blue, Blue, Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 5
  { Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, }, // row 5a
  { Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }
};
void setup() { 
  FastLED.addLeds<NEOPIXEL,DATA_PIN>(leds, NUM_LEDS); // Init of the Fastled library
  FastLED.setBrightness(15);
}
void loop() {
  if(Counter>3) { Counter=1; } // reset counter
   
 // Light Up
  for(int row = 0; row < 13; row++) {
    for(int col = 0; col < 15; col++) {
      setFlagColor(Counter); // call function to pick the correct flag
      delay(100); // 0.1 second slow down
      FastLED.show(); // Light up one at a time 
    }
  } 
  delay(5000); // 5 seconds
  // All LEDs OFF
  for(int i = NUM_LEDS-1 ; i >= 0; i-- ) {
    leds = 0; 
    FastLED.show();
    delay(1);    
  }  
  Counter++; // increase counter
}
void setFlagColor(int flagID) {
  switch(flagID) {
    case 0: 
      leds[ (row*15)+col ] = flag_USA[row][col];
      break;
    case 1: 
      leds[ (row*15)+col ] = flag_OtherCountry1[row][col];
      break;
    case 2: 
      leds[ (row*15)+col ] = flag_OtherCountry2[row][col];
      break;
    case 3: 
      leds[ (row*15)+col ] = flag_OtherCountry3[row][col];
      break;
  }
}

This is not done in the most elegant way, and I have not tested this.

Under different circumstance I'd actually expand the flag array, but then it may be hard to follow what I'm doing ...
That would have been something like this:

uint32_t flag_OtherCountry2 [4][13][15]

Where the first index indicated the flag number, but you'd have to define the flags then in one large array, something like this:

uint32_t flags [4][13][15] = { {
  { Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, },
  { Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, }, // row 1
  { Blue, Blue, Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 1a
  { White, White, White, White, White, White, White, White, White, White, White, Blue, Blue, Blue, Blue, }, // row 2
  { Blue, Blue, Blue, Blue, Blue, White, White, White, White, White, White, White, White, White, White, }, // row 2a
  { Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, Blue, White, Blue, Blue, }, // row 3
  { Blue, White, White, White, Blue, Blue, Blue, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 
  { Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, Blue, White, Blue, Blue, }, // row 3a
  { Blue, Blue, Blue, Blue, Blue, White, White, White, White, White, White, White, White, White, White, }, // row 4
  { White, White, White, White, White, White, White, White, White, White, White, Blue, Blue, Blue, Blue, }, // row 4a
  { Blue, Blue, Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 5
  { Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, }, // row 5a
  { Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }
} , {
  { Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, },
  { Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, }, // row 1
  { Blue, Blue, Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 1a
  { White, White, White, White, White, White, White, White, White, White, White, Blue, Blue, Blue, Blue, }, // row 2
  { Blue, Blue, Blue, Blue, Blue, White, White, White, White, White, White, White, White, White, White, }, // row 2a
  { Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, Blue, White, Blue, Blue, }, // row 3
  { Blue, White, White, White, Blue, Blue, Blue, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 
  { Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, Blue, White, Blue, Blue, }, // row 3a
  { Blue, Blue, Blue, Blue, Blue, White, White, White, White, White, White, White, White, White, White, }, // row 4
  { White, White, White, White, White, White, White, White, White, White, White, Blue, Blue, Blue, Blue, }, // row 4a
  { Blue, Blue, Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 5
  { Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, }, // row 5a
  { Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }
} ,  // etc etc

Which would change the "loop()" to

void loop() {
  if(Counter>3) { Counter=1; } // reset counter

 // Light Up
  for(int row = 0; row < 13; row++) {
    for(int col = 0; col < 15; col++) {
      leds[ (row*15)+col ] = flags[Counter][row][col]; // added index
      delay(100); // 0.1 second slow down
      FastLED.show(); // Light up one at a time 
    }
  } 
  delay(5000); // 5 seconds
  // All LEDs OFF
  for(int i = NUM_LEDS-1 ; i >= 0; i-- ) {
    leds = 0; 
    FastLED.show();
    delay(1);    
  }  
  Counter++; // increase counter
}

But the code I just posted may get you started the easy way (you may have noticed that I was too lazy to actually make different flag, I just copied you example a few times hahah.

To use a button to toggle the effect, I'd recommend taking a look at this where I use toggling effects: All LED effects in one - catch the button.

Hope this helps 


   
ReplyQuote
(@mouseketier)
New Member
Joined: 5 years ago
Posts: 1
 

I know this is an old topic, but I decided to try it out and build an array to display in a window. I want to use the method of changing flags. I edited the arrays to fit my needs. But now ended with an error. I know you stated it was untested but copying your code as a start the IDE throws errors stating "row" and "col" not declared in scope. I know this is due to the lack of something listed in global for the variables. any help would appreciated as coding is new to me and def my weak point. Hardware is my things lol

#include <avr/pgmspace.h>  // Needed to store stuff in Flash using PROGMEM
#include <FastLED.h> // Fastled library to control the LEDs
// How many leds are connected?
#define NUM_LEDS 375
// Define the Data Pin
#define DATA_PIN 2 // Connected to the data pin of the first LED strip
// Define the array of leds
CRGB leds[NUM_LEDS];
// Define Colors
#define Red 0xFF0000
#define White 0xFFFFFF
#define Blue 0x0000FF
#define Green 0x00FF00
#define Black 0x000000
#define Yellow 0xFFFF00
int Counter = 0; // added to use as the flag counter
uint32_t flag_USA[15][25] = {
{ White, Blue, White, Blue, White, Blue, White, Blue, White, Blue, White, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 1
{ White, White, White, White, White, White, White, White, White, White, White, White, White, White, Blue, White, Blue, White, Blue, White, Blue, White, Blue, White, Blue, }, // row 2
{ White, Blue, White, Blue, White, Blue, White, Blue, White, Blue, White, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 3
{ White, White, White, White, White, White, White, White, White, White, White, White, White, White, Blue, White, Blue, White, Blue, White, Blue, White, Blue, White, Blue, }, // row 4
{ White, Blue, White, Blue, White, Blue, White, Blue, White, Blue, White, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 5
{ White, White, White, White, White, White, White, White, White, White, White, White, White, White, Blue, White, Blue, White, Blue, White, Blue, White, Blue, White, Blue, }, // row 6
{ White, Blue, White, Blue, White, Blue, White, Blue, White, Blue, White, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 7
{ White, White, White, White, White, White, White, White, White, White, White, White, White, White, Blue, White, Blue, White, Blue, White, Blue, White, Blue, White, Blue, }, // row 8
{ White, Blue, White, Blue, White, Blue, White, Blue, White, Blue, White, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 9
{ White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, }, // row 10
{ Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 11
{ White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, }, // row 12
{ Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 13
{ White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, }, // row 14
{ Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, } // row 15
};
uint32_t flag_PR [15][25] = {
{ Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 1
{ Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, }, // row 2
{ Blue, Blue, Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 3
{ White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, Blue, Blue, Blue, Blue, }, // row 4
{ Blue, Blue, Blue, Blue, Blue, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, }, // row 5
{ White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, Blue, Blue, Blue, Blue, Blue, Blue, }, // row 6
{ Blue, Blue, Blue, White, Blue, Blue, Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 7
{ Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, Blue, White, White, White, Blue, Blue, }, // row 8
{ Blue, Blue, Blue, White, Blue, Blue, Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 9
{ White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, Blue, Blue, Blue, Blue, Blue, Blue, }, // row 10
{ Blue, Blue, Blue, Blue, Blue, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, }, // row 11
{ White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, White, Blue, Blue, Blue, Blue, }, // row 12
{ Blue, Blue, Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, }, // row 13
{ Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Blue, Blue, }, // row 14
{ Blue, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, Red, } // row 15
};
uint32_t flag_MERICA [15][25] = {
{ Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, }, // row 1
{ Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, }, // row 2b
{ Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Red, Black, Black, Red, Black, Black, Black, Black, Black, Black, Black, Black, Black, }, // row 3
{ Black, Black, Black, Black, Black, Black, Black, Black, Red, Red, Red, Red, Red, Red, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, }, // row 4b
{ Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Red, Black, Black, Red, Black, Black, Black, Black, Black, Black, Black, Black, Black, }, // row 5
{ Black, Black, Black, Black, Black, Black, Black, Black, Red, Red, Red, Red, Red, Red, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, }, // row 6b
{ Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Red, Black, Black, Red, Black, Black, Black, Black, Black, Black, Black, Black, Black, }, // row 7
{ Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, }, // row 8b
{ Red, Black, Black, Black, Red, Black, White, White, White, Black, Blue, Blue, Blue, Black, Red, Red, Red, Black, White, White, White, Black, Black, Blue, Black, }, // row 9
{ Blue, Black, Blue, Black, Black, Black, White, Black, Black, Red, Black, Black, Blue, Black, Blue, Black, Black, Black, White, Black, Red, Red, Black, Red, Red, }, // row 10b
{ Red, Black, Red, Black, Red, Black, White, White, Black, Black, Blue, Blue, Blue, Black, Black, Red, Black, Black, White, Black, Black, Black, Blue, Blue, Blue, }, // row 11
{ Blue, Black, Blue, Black, Black, Black, White, Black, Black, Red, Black, Black, Black, Blue, Blue, Black, Black, Black, White, Black, Red, Black, Black, Black, Red, }, // row 12b
{ Red, Black, Black, Black, Red, Black, White, White, White, Black, Blue, Black, Blue, Black, Red, Red, Red, Black, White, White, White, Black, Blue, Black, Blue, }, // row 13
{ Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, }, // row 14b
{ Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, Black, } // row 15
};
void setup() {
FastLED.addLeds<NEOPIXEL, DATA_PIN>(leds, NUM_LEDS); // Init of the Fastled library
FastLED.setBrightness(15);
}
void loop() {
if (Counter > 2) {
Counter = 1; // reset counter
}

// Light Up
for (int row = 0; row < 15; row++) {
for (int col = 0; col < 25; col++) {
setFlagColor(Counter); // call function to pick the correct flag
delay(100); // 0.1 second slow down
FastLED.show(); // Light up one at a time
}
}
delay(5000); // 5 seconds
// All LEDs OFF
for (int i = NUM_LEDS - 1 ; i >= 0; i-- ) {
byte leds = 0;
FastLED.show();
delay(1);
}
Counter++; // increase counter
}
void setFlagColor(int flagID) {
switch (flagID) {
case 0:
leds[ (row * 15) + col ] = flag_USA[row][col];
break;
case 1:
leds[ (row * 15) + col ] = flag_PR[row][col];
break;
case 2:
leds[ (row * 15) + col ] = flag_MERICA[row][col];
break;
}
}
This post was modified 5 years ago by mouseketier

   
ReplyQuote
 Hans
(@hans)
Famed Member Admin
Joined: 12 years ago
Posts: 2859
Topic starter  

Well, looks like the error occurs in the setFlagColor() function.
In this function you're referring to "row" and "col" but they are not known in this function.

You'll have to pass the row and col values to that function, for example:

setFlagColor(Counter,row,col);

and modify the function to:

void setFlagColor(int flagID, int row, int col) {
switch (flagID) {
case 0:
leds[ (row * 15) + col ] = flag_USA[row][col];
break;
case 1:
leds[ (row * 15) + col ] = flag_PR[row][col];
break;
case 2:
leds[ (row * 15) + col ] = flag_MERICA[row][col];
break;
}
}

This way row and col will be known in the function.

On that note: I just looked at it real quick, without looking at the logic and such.
Also note: if there is an error message, it will be helpful to post the entire message so others can quicker find where the problem may be (line number(s) and such). 😊 

Hope this helps!

 


   
ReplyQuote
Page 2 / 2
Share: