Hey All, I'm back! been a while and I'm rusty, very rusty. (ALSO CANT FIND THE CODE OPTION IN THE NEW POST.BUT I PUT THE FILE AS AN ATTACHMENT)
I'm trying to blink at this time two separate common cathode RGB LEDs.
I want to be able to choose what led to blink at x frequency.
Normally on a delay, it would be like this
{Right code, wrong tag; you wanted code vs quote. It's the </> button above
const int LED1R = 11;
const int LED1B = 12;
const int LED1G = 13;
const int LED2R = 10;
const int LED2B = 8;
const int LED2G = 9;
// the setup function runs once when you press reset or power the board
void setup() {
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
pinMode(12, OUTPUT);
pinMode(13, OUTPUT);
}
// the loop function runs over and over again forever
void loop() {
/*
digitalWrite(LED1R, HIGH);
digitalWrite(LED1B, HIGH);
digitalWrite(LED1G, HIGH);
digitalWrite(LED2R, HIGH);
digitalWrite(LED2B, HIGH);
digitalWrite(LED2G, HIGH);
delay(1000);
digitalWrite(LED1R, LOW);
digitalWrite(LED1B, LOW);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, LOW);
digitalWrite(LED2B, LOW);
digitalWrite(LED2G, LOW);
delay(1000);
*/
digitalWrite(LED1R, HIGH);
digitalWrite(LED1B, LOW);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, LOW);
digitalWrite(LED2B, LOW);
digitalWrite(LED2G, LOW);
delay(100);
digitalWrite(LED1R, LOW);
digitalWrite(LED1B, LOW);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, LOW);
digitalWrite(LED2B, LOW);
digitalWrite(LED2G, LOW);
delay(100);
digitalWrite(LED1R, HIGH);
digitalWrite(LED1B, LOW);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, LOW);
digitalWrite(LED2B, LOW);
digitalWrite(LED2G, LOW);
delay(100);
digitalWrite(LED1R, LOW);
digitalWrite(LED1B, LOW);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, LOW);
digitalWrite(LED2B, LOW);
digitalWrite(LED2G, LOW);
delay(100);
digitalWrite(LED1R, LOW);
digitalWrite(LED1B, LOW);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, HIGH);
digitalWrite(LED2B, LOW);
digitalWrite(LED2G, LOW);
delay(100);
digitalWrite(LED1R, LOW);
digitalWrite(LED1B, LOW);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, LOW);
digitalWrite(LED2B, LOW);
digitalWrite(LED2G, LOW);
delay(100);
digitalWrite(LED1R, LOW);
digitalWrite(LED1B, LOW);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, HIGH);
digitalWrite(LED2B, LOW);
digitalWrite(LED2G, LOW);
delay(100);
digitalWrite(LED1R, LOW);
digitalWrite(LED1B, LOW);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, LOW);
digitalWrite(LED2B, LOW);
digitalWrite(LED2G, LOW);
delay(100);
//--------------------------END OF RED
digitalWrite(LED1R, LOW);
digitalWrite(LED1B, HIGH);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, LOW);
digitalWrite(LED2B, LOW);
digitalWrite(LED2G, LOW);
delay(100);
digitalWrite(LED1R, LOW);
digitalWrite(LED1B, LOW);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, LOW);
digitalWrite(LED2B, LOW);
digitalWrite(LED2G, LOW);
delay(100);
digitalWrite(LED1R, LOW);
digitalWrite(LED1B, HIGH);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, LOW);
digitalWrite(LED2B, LOW);
digitalWrite(LED2G, LOW);
delay(100);
digitalWrite(LED1R, LOW);
digitalWrite(LED1B, LOW);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, LOW);
digitalWrite(LED2B, LOW);
digitalWrite(LED2G, LOW);
delay(100);
digitalWrite(LED1R, LOW);
digitalWrite(LED1B, LOW);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, LOW);
digitalWrite(LED2B, HIGH);
digitalWrite(LED2G, LOW);
delay(100);
digitalWrite(LED1R, LOW);
digitalWrite(LED1B, LOW);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, LOW);
digitalWrite(LED2B, LOW);
digitalWrite(LED2G, LOW);
delay(100);
digitalWrite(LED1R, LOW);
digitalWrite(LED1B, LOW);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, LOW);
digitalWrite(LED2B, HIGH);
digitalWrite(LED2G, LOW);
delay(100);
digitalWrite(LED1R, LOW);
digitalWrite(LED1B, LOW);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, LOW);
digitalWrite(LED2B, LOW);
digitalWrite(LED2G, LOW);
delay(100);
//---------------------END OF BLUE
digitalWrite(LED1R, HIGH);
digitalWrite(LED1B, LOW);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, HIGH);
digitalWrite(LED2B, LOW);
digitalWrite(LED2G, LOW);
delay(150);
digitalWrite(LED1R, LOW);
digitalWrite(LED1B, HIGH);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, LOW);
digitalWrite(LED2B, HIGH);
digitalWrite(LED2G, LOW);
delay(150);
digitalWrite(LED1R, HIGH);
digitalWrite(LED1B, LOW);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, HIGH);
digitalWrite(LED2B, LOW);
digitalWrite(LED2G, LOW);
delay(150);
digitalWrite(LED1R, LOW);
digitalWrite(LED1B, HIGH);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, LOW);
digitalWrite(LED2B, HIGH);
digitalWrite(LED2G, LOW);
delay(150);
digitalWrite(LED1R, HIGH);
digitalWrite(LED1B, LOW);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, HIGH);
digitalWrite(LED2B, LOW);
digitalWrite(LED2G, LOW);
delay(150);
digitalWrite(LED1R, LOW);
digitalWrite(LED1B, HIGH);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, LOW);
digitalWrite(LED2B, HIGH);
digitalWrite(LED2G, LOW);
delay(150);
digitalWrite(LED1R, HIGH);
digitalWrite(LED1B, LOW);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, HIGH);
digitalWrite(LED2B, LOW);
digitalWrite(LED2G, LOW);
delay(150);
digitalWrite(LED1R, LOW);
digitalWrite(LED1B, HIGH);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, LOW);
digitalWrite(LED2B, HIGH);
digitalWrite(LED2G, LOW);
delay(150);
digitalWrite(LED1R, LOW);
digitalWrite(LED1B, LOW);
digitalWrite(LED1G, LOW);
digitalWrite(LED2R, LOW);
digitalWrite(LED2B, LOW);
digitalWrite(LED2G, LOW);
delay(150);
}
This is only 2 RGB LEDs, I'm trying to be able to set up and run almost 40
I'm currently using an uno right now but I have a mega available.
in reality, I only need a chip that can control 5-6 outputs and can communicate with an addressable protocol. Cost in mind what would be the best cost and smallest size?
ill need someone to help me understand the addressing part.
it doesn't need to be Arduino per se but I'm more familiar with Arduino. (I'm also learning VHDL)