// Definindo os pinos para o LED RGB
const int pinoR = 5; // Pino do LED Vermelho
const int pinoG = 6; // Pino do LED Verde
const int pinoB = 7; // Pino do LED Azul
// Função para configurar o LED RGB para uma determinada cor
void configurarCor(int redValue, int greenValue, int blueValue) {
analogWrite(pinoR, redValue); // Configura a intensidade do vermelho
analogWrite(pinoG, greenValue); // Configura a intensidade do verde
analogWrite(pinoB, blueValue); // Configura a intensidade do azul
}
// Função para criar o efeito de arco-íris
void efeitoArcoIris() {
int tempoEspera = 10; // Ajuste este valor para mudar a velocidade do efeito
for (int cor = 0; cor < 256; cor++) {
configurarCor(cor, 255 - cor, 0); // Vermelho para Amarelo
delay(tempoEspera);
}
for (int cor = 0; cor < 256; cor++) {
configurarCor(255 - cor, 0, cor); // Amarelo para Verde
delay(tempoEspera);
}
for (int cor = 0; cor < 256; cor++) {
configurarCor(0, cor, 255 - cor); // Verde para Azul
delay(tempoEspera);
}
for (int cor = 0; cor < 256; cor++) {
configurarCor(cor, 255 - cor, 255); // Azul para Magenta
delay(tempoEspera);
}
for (int cor = 0; cor < 256; cor++) {
configurarCor(255 - cor, 0, cor); // Magenta para Vermelho
delay(tempoEspera);
}
}
void setup() {
// Configuração dos pinos como saídas
pinMode(pinoR, OUTPUT);
pinMode(pinoG, OUTPUT);
pinMode(pinoB, OUTPUT);
}
void loop() {
efeitoArcoIris(); // Executa o efeito de arco-íris
}