Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
A iluminação RGB é uma das aplicações mais populares para iniciantes em Arduino, pois permite criar efeitos de luz colorida controlados por código. Este projeto é ideal para quem deseja aprender sobre controle de LEDs RGB, PWM (modulação por largura de pulso) e programação básica com Arduino. A importância deste projeto reside na sua aplicabilidade em diversas áreas, como decoração, sinalização e até mesmo em projetos de automação residencial. Ajustamos o projeto para ser simples e direto, utilizando componentes comuns e facilmente acessíveis.
Project: Neste projeto, vamos criar um sistema de iluminação RGB controlado por um Arduino. O objetivo é permitir que o usuário altere as cores do LED RGB através de um potenciômetro e botões. A funcionalidade principal será a mudança de cores em tempo real, proporcionando uma experiência interativa e visualmente atraente. Além disso, vamos explorar como ajustar a intensidade das cores utilizando PWM.
Components List:
Examples:
// Definição dos pinos para o LED RGB
const int redPin = 9;
const int greenPin = 10;
const int bluePin = 11;
// Definição dos pinos para os botões
const int buttonRed = 2;
const int buttonGreen = 3;
const int buttonBlue = 4;
// Definição do pino para o potenciômetro
const int potPin = A0;
// Variáveis para armazenar o estado dos botões
int buttonStateRed = 0;
int buttonStateGreen = 0;
int buttonStateBlue = 0;
void setup() {
// Configuração dos pinos do LED RGB como saída
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
// Configuração dos pinos dos botões como entrada
pinMode(buttonRed, INPUT);
pinMode(buttonGreen, INPUT);
pinMode(buttonBlue, INPUT);
// Inicialização da comunicação serial para monitoramento
Serial.begin(9600);
}
void loop() {
// Leitura dos estados dos botões
buttonStateRed = digitalRead(buttonRed);
buttonStateGreen = digitalRead(buttonGreen);
buttonStateBlue = digitalRead(buttonBlue);
// Leitura do valor do potenciômetro
int potValue = analogRead(potPin);
int brightness = map(potValue, 0, 1023, 0, 255);
// Controle das cores do LED RGB
if (buttonStateRed == HIGH) {
analogWrite(redPin, brightness);
} else {
analogWrite(redPin, 0);
}
if (buttonStateGreen == HIGH) {
analogWrite(greenPin, brightness);
} else {
analogWrite(greenPin, 0);
}
if (buttonStateBlue == HIGH) {
analogWrite(bluePin, brightness);
} else {
analogWrite(bluePin, 0);
}
// Monitoramento dos valores no Serial Monitor
Serial.print("Potentiometer Value: ");
Serial.print(potValue);
Serial.print(" | Brightness: ");
Serial.println(brightness);
delay(100); // Pequeno atraso para estabilidade
}
Comentários detalhados:
pinMode(redPin, OUTPUT);
: Configura o pino do LED vermelho como saída.digitalRead(buttonRed);
: Lê o estado do botão vermelho.analogRead(potPin);
: Lê o valor do potenciômetro.map(potValue, 0, 1023, 0, 255);
: Mapeia o valor do potenciômetro para um intervalo de 0 a 255.analogWrite(redPin, brightness);
: Ajusta a intensidade do LED vermelho com base no valor do potenciômetro.Este código permite controlar a cor do LED RGB através dos botões e ajustar a intensidade das cores com o potenciômetro. É um ótimo ponto de partida para explorar mais funcionalidades e criar efeitos de iluminação mais complexos.