Saludos a la comunidad Arduino.
Tengo la siguiente programación en dónde los LED iluminan muy bien.
int R_C = 2;
int G_C = 3;
int B_C = 4;
int R_C_SOST = 5;
int G_C_SOST = 6;
int B_C_SOST = 7;
int R_D=8;
int G_D=9;
int B_D=10;
int R=11;
int G_D_S=12;
int B_D_S=13;
int R_E=22;
int G_E=23;
int B_E=24;
int R_F=25;
int G_F=26;
int B_F=27;
int R_F_S=28;
int G_F_S=29;
int B_F_S=30;
int R_G=31;
int G_G=32;
int B_G=33;
int R_G_S=34;
int G_G_S=35;
int B_G_S=36;
int R_A=37;
int G_A=38;
int B_A=39;
int R_A_S=40;
int G_A_S=41;
int B_A_S=42;
int RED_B=43;
int GREEN_B=44;
int BLUE_B=45;
byte N = 0;
void setup() {
pinMode(N, INPUT);
pinMode(R_C, OUTPUT);
pinMode(G_C, OUTPUT );
pinMode(B_C, OUTPUT);
pinMode(R_C_S, OUTPUT);
pinMode(G_C_S, OUTPUT );
pinMode(B_C_S, OUTPUT);
pinMode(R_D, OUTPUT);
pinMode(G_D, OUTPUT );
pinMode(B_D, OUTPUT);
pinMode(R_D_S, OUTPUT);
pinMode(G_D_S, OUTPUT );
pinMode(B_D_S, OUTPUT);
pinMode(R_E, OUTPUT);
pinMode(G_E, OUTPUT );
pinMode(B_E, OUTPUT);
pinMode(R_F, OUTPUT);
pinMode(G_F, OUTPUT );
pinMode(B_F, OUTPUT);
pinMode(R_F_S, OUTPUT);
pinMode(G_F_S, OUTPUT );
pinMode(B_F_S, OUTPUT);
pinMode(R_G, OUTPUT);
pinMode(G_G, OUTPUT );
pinMode(B_G, OUTPUT);
pinMode(R_G_S, OUTPUT);
pinMode(G_G_S, OUTPUT );
pinMode(B_G_S, OUTPUT);
pinMode(R_A, OUTPUT);
pinMode(G_A, OUTPUT );
pinMode(B_A, OUTPUT);
pinMode(R_A_S, OUTPUT);
pinMode(G_A_S, OUTPUT );
pinMode(B_A_S, OUTPUT);
pinMode(R_B, OUTPUT);
pinMode(G_B, OUTPUT );
pinMode(B_B, OUTPUT);
Serial.begin(9600);
}
void loop() {
if(Serial.available()> 0){
N = Serial.read();
}
if (N == 0x5A){
analogWrite(R_C,255);
analogWrite(G_C, 0);
analogWrite(B_C, 0);
analogWrite(R_C_S,0);
analogWrite(G_C_S, 0);
analogWrite(B_C_S, 0);
analogWrite(R_D,0);
analogWrite(G_D, 0);
analogWrite(B_D, 255);
analogWrite(R_D_S,0);
analogWrite(G_D_S, 0);
analogWrite(B_D_S, 0);
analogWrite(R_E,0);
analogWrite(G_E, 0);
analogWrite(B_E, 255);
analogWrite(R_F,0);
analogWrite(G_F, 0);
analogWrite(B_F, 255);
analogWrite(R_F_S,0);
analogWrite(G_F_S, 0);
analogWrite(B_F_SOST, 0);
analogWrite(R_G, 0);
analogWrite(G_G, 0);
analogWrite(B_G, 255);
analogWrite(R_G_S, 0);
analogWrite(G_G_S, 0);
analogWrite(B_G_S, 0);
analogWrite(R_A, 0);
analogWrite(G_A, 0);
analogWrite(B_A, 255);
analogWrite(R_A_S, 0);
analogWrite(G_A_S, 0);
analogWrite(B_A_S, 0);
analogWrite(R_B, 0);
analogWrite(G_B, 0);
analogWrite(B_B, 255); //
}
else
{
analogWrite(R_C, 0);
analogWrite(G_C, 0);
analogWrite(B_C, 0);
analogWrite(R_C_S,0);
analogWrite(G_C_S, 0);
analogWrite(B_C_S, 0);
analogWrite(R_D,0);
analogWrite(G_D, 0);
analogWrite(B_D, 0);
analogWrite(R_D_S,0);
analogWrite(G_D_S, 0);
analogWrite(B_D_S, 0);
analogWrite(R_E,0);
analogWrite(G_E, 0);
analogWrite(B_E, 0);
analogWrite(R_F,0);
analogWrite(G_F, 0);
analogWrite(B_F, 0);
analogWrite(R_F_S,0);
analogWrite(G_F_S, 0);
analogWrite(B_F_SOST, 0);
analogWrite(R_G, 0);
analogWrite(G_G, 0);
analogWrite(B_G, 0);
analogWrite(R_G_S, 0);
analogWrite(G_G_S, 0);
analogWrite(B_G_S, 0);
analogWrite(R_A, 0);
analogWrite(G_A, 0);
analogWrite(B_A, 0);
analogWrite(R_A_S, 0);
analogWrite(G_A_S, 0);
analogWrite(B_A_S, 0);
analogWrite(R_B, 0);
analogWrite(G_B, 0);
analogWrite(B_B, );
}
}
Con esa programación los LED encienden con buena iluminación. EL detalle es que si sigo agregando más if y else la iluminación de los LED disminuyen mucho. Por ejemplo:
int R_C = 2;
int G_C = 3;
int B_C = 4;
int R_C_SOST = 5;
int G_C_SOST = 6;
int B_C_SOST = 7;
int R_D=8;
int G_D=9;
int B_D=10;
int R=11;
int G_D_S=12;
int B_D_S=13;
int R_E=22;
int G_E=23;
int B_E=24;
int R_F=25;
int G_F=26;
int B_F=27;
int R_F_S=28;
int G_F_S=29;
int B_F_S=30;
int R_G=31;
int G_G=32;
int B_G=33;
int R_G_S=34;
int G_G_S=35;
int B_G_S=36;
int R_A=37;
int G_A=38;
int B_A=39;
int R_A_S=40;
int G_A_S=41;
int B_A_S=42;
int RED_B=43;
int GREEN_B=44;
int BLUE_B=45;
byte N = 0;
void setup() {
pinMode(N, INPUT);
pinMode(R_C, OUTPUT);
pinMode(G_C, OUTPUT );
pinMode(B_C, OUTPUT);
pinMode(R_C_S, OUTPUT);
pinMode(G_C_S, OUTPUT );
pinMode(B_C_S, OUTPUT);
pinMode(R_D, OUTPUT);
pinMode(G_D, OUTPUT );
pinMode(B_D, OUTPUT);
pinMode(R_D_S, OUTPUT);
pinMode(G_D_S, OUTPUT );
pinMode(B_D_S, OUTPUT);
pinMode(R_E, OUTPUT);
pinMode(G_E, OUTPUT );
pinMode(B_E, OUTPUT);
pinMode(R_F, OUTPUT);
pinMode(G_F, OUTPUT );
pinMode(B_F, OUTPUT);
pinMode(R_F_S, OUTPUT);
pinMode(G_F_S, OUTPUT );
pinMode(B_F_S, OUTPUT);
pinMode(R_G, OUTPUT);
pinMode(G_G, OUTPUT );
pinMode(B_G, OUTPUT);
pinMode(R_G_S, OUTPUT);
pinMode(G_G_S, OUTPUT );
pinMode(B_G_S, OUTPUT);
pinMode(R_A, OUTPUT);
pinMode(G_A, OUTPUT );
pinMode(B_A, OUTPUT);
pinMode(R_A_S, OUTPUT);
pinMode(G_A_S, OUTPUT );
pinMode(B_A_S, OUTPUT);
pinMode(R_B, OUTPUT);
pinMode(G_B, OUTPUT );
pinMode(B_B, OUTPUT);
Serial.begin(9600);
}
void loop() {
if(Serial.available()> 0){
N = Serial.read();
}
if (N == 0x5B){
analogWrite(R_C,0);
analogWrite(G_C, 255);
analogWrite(B_C, 0);
analogWrite(R_C_S,0);
analogWrite(G_C_S, 255);
analogWrite(B_C_S, 0);
analogWrite(R_D,0);
analogWrite(G_D, 0);
analogWrite(B_D, 0);
analogWrite(R_D_S,0);
analogWrite(G_D_S, 0);
analogWrite(B_D_S, 0);
analogWrite(R_E,0);
analogWrite(G_E, 255);
analogWrite(B_E, 0);
analogWrite(R_F,0);
analogWrite(G_F, 255);
analogWrite(B_F, 0);
analogWrite(R_F_S,0);
analogWrite(G_F_S, 0);
analogWrite(B_F_SOST, 0);
analogWrite(R_G, 255);
analogWrite(G_G, 0);
analogWrite(B_G, 0);
analogWrite(R_G_S, 0);
analogWrite(G_G_S, 0);
analogWrite(B_G_S, 0);
analogWrite(R_A, 255);
analogWrite(G_A, 0);
analogWrite(B_A, 0);
analogWrite(R_A_S, 0);
analogWrite(G_A_S, 0);
analogWrite(B_A_S, 255);
analogWrite(R_B, 0);
analogWrite(G_B, 0);
analogWrite(B_B, 0); //
}
else
{
analogWrite(R_C, 0);
analogWrite(G_C, 0);
analogWrite(B_C, 0);
analogWrite(R_C_S,0);
analogWrite(G_C_S, 0);
analogWrite(B_C_S, 0);
analogWrite(R_D,0);
analogWrite(G_D, 0);
analogWrite(B_D, 0);
analogWrite(R_D_S,0);
analogWrite(G_D_S, 0);
analogWrite(B_D_S, 0);
analogWrite(R_E,0);
analogWrite(G_E, 0);
analogWrite(B_E, 0);
analogWrite(R_F,0);
analogWrite(G_F, 0);
analogWrite(B_F, 0);
analogWrite(R_F_S,0);
analogWrite(G_F_S, 0);
analogWrite(B_F_SOST, 0);
analogWrite(R_G, 0);
analogWrite(G_G, 0);
analogWrite(B_G, 0);
analogWrite(R_G_S, 0);
analogWrite(G_G_S, 0);
analogWrite(B_G_S, 0);
analogWrite(R_A, 0);
analogWrite(G_A, 0);
analogWrite(B_A, 0);
analogWrite(R_A_S, 0);
analogWrite(G_A_S, 0);
analogWrite(B_A_S, 0);
analogWrite(R_B, 0);
analogWrite(G_B, 0);
analogWrite(B_B, );
}
if (N == 0x5A){
analogWrite(R_C,255);
analogWrite(G_C, 0);
analogWrite(B_C, 0);
analogWrite(R_C_S,0);
analogWrite(G_C_S, 0);
analogWrite(B_C_S, 0);
analogWrite(R_D,0);
analogWrite(G_D, 0);
analogWrite(B_D, 255);
analogWrite(R_D_S,0);
analogWrite(G_D_S, 0);
analogWrite(B_D_S, 0);
analogWrite(R_E,0);
analogWrite(G_E, 0);
analogWrite(B_E, 255);
analogWrite(R_F,0);
analogWrite(G_F, 0);
analogWrite(B_F, 255);
analogWrite(R_F_S,0);
analogWrite(G_F_S, 0);
analogWrite(B_F_SOST, 0);
analogWrite(R_G, 0);
analogWrite(G_G, 0);
analogWrite(B_G, 255);
analogWrite(R_G_S, 0);
analogWrite(G_G_S, 0);
analogWrite(B_G_S, 0);
analogWrite(R_A, 0);
analogWrite(G_A, 0);
analogWrite(B_A, 255);
analogWrite(R_A_S, 0);
analogWrite(G_A_S, 0);
analogWrite(B_A_S, 0);
analogWrite(R_B, 0);
analogWrite(G_B, 0);
analogWrite(B_B, 255); //
}
else
{
analogWrite(R_C, 0);
analogWrite(G_C, 0);
analogWrite(B_C, 0);
analogWrite(R_C_S,0);
analogWrite(G_C_S, 0);
analogWrite(B_C_S, 0);
analogWrite(R_D,0);
analogWrite(G_D, 0);
analogWrite(B_D, 0);
analogWrite(R_D_S,0);
analogWrite(G_D_S, 0);
analogWrite(B_D_S, 0);
analogWrite(R_E,0);
analogWrite(G_E, 0);
analogWrite(B_E, 0);
analogWrite(R_F,0);
analogWrite(G_F, 0);
analogWrite(B_F, 0);
analogWrite(R_F_S,0);
analogWrite(G_F_S, 0);
analogWrite(B_F_SOST, 0);
analogWrite(R_G, 0);
analogWrite(G_G, 0);
analogWrite(B_G, 0);
analogWrite(R_G_S, 0);
analogWrite(G_G_S, 0);
analogWrite(B_G_S, 0);
analogWrite(R_A, 0);
analogWrite(G_A, 0);
analogWrite(B_A, 0);
analogWrite(R_A_S, 0);
analogWrite(G_A_S, 0);
analogWrite(B_A_S, 0);
analogWrite(R_B, 0);
analogWrite(G_B, 0);
analogWrite(B_B, );
}
}
Y así puedo seguir agregando más if y else digamos unas cuatro veces más de ambos, como en el ejemplo de arriba y la iluminación disminuye, Podrían indicarme que hice mal en la programación?
PD Tengo el cátodo común con una resistencia en serie. DE antemano gracias.