int LED_RED = 13;
int LED_GREEN = 11;
int LED_BLUE = 10;
//1°PASSO: declarando variaveis e seus pinos
struct RGB{
bool red;
bool green;
bool blue;
};
//2°PASSO: declarando nosso tipo RGB
RGB colors[] = {
{HIGH,LOW,LOW}, // primeira cor
{HIGH,HIGH,LOW},
{LOW,HIGH,LOW}, //cor verde
{HIGH,HIGH,HIGH},
{HIGH,LOW,HIGH},
{HIGH,LOW,HIGH},
{HIGH,HIGH,HIGH},
};
//3°PASSO: declarando nosso vetor de cores do tipo RGB
//4°PASSO: CRIAR UM VETOR PARA OS PINOS QUE SERÁ UTILIZADO NA FUNÇÃO PINMODE()
int vetor[3] = {LED_RED,LED_GREEN,LED_BLUE};
void setup() {
//dentro de setup declaramos nossos pinos
//ex: pinMode(LED_RED, OUTPUT);
//5°PASSO: criar um for para declarar nosso pinMode()
for(int i = 0; i<3; i++){
pinMode(vetor[i],OUTPUT);
}
}
void loop() {
//agora aqui na Loop eu preciso verificar qual o tamanho da colors
//6°PASSO: foi ver meu tamanho de colors
int tamanho = sizeof(colors)/sizeof(colors[0]);
//8°passo: chamar a função setColors
for(int i = 0; i<tamanho; i++){
setColors(colors[i].red,colors[i].green,colors[i].blue);
}
}
//7°passo: definir minha função para pegar minhas cores
void setColors(int estado_red,int estado_green,int estado_blue){
//é onde eu vou mostrar as cores com o digitalWrite
//digitalWrite(LED_RED, HIGH)
digitalWrite(LED_RED,estado_red);
digitalWrite(LED_GREEN,estado_green);
digitalWrite(LED_BLUE,estado_blue);
delay(1000);
}