Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Iluminação RGB com Arduino: Guia Completo para Iniciantes

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:

  • 1 x Arduino Uno
  • 1 x LED RGB (cátodo comum)
  • 3 x Resistores de 220 ohms
  • 3 x Botões push-button
  • 1 x Potenciômetro de 10k ohms
  • 1 x Protoboard
  • Conectores jumper

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.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.