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 Decorativa com Arduino

A iluminação decorativa é uma aplicação popular da eletrônica que pode transformar ambientes, criando atmosferas únicas e personalizadas. Utilizando o Arduino, é possível desenvolver projetos de iluminação decorativa de maneira acessível e flexível, permitindo o controle preciso de LEDs e outros componentes luminosos. Este artigo abordará um projeto de iluminação decorativa com LEDs RGB, detalhando os componentes necessários, o código de controle e os desafios comuns.

Projeto: O projeto consiste em criar uma iluminação decorativa controlada por Arduino utilizando LEDs RGB. O objetivo é permitir que o usuário controle a cor e a intensidade dos LEDs através de um potenciômetro e botões. A funcionalidade principal será a mudança de cor dos LEDs em resposta à interação do usuário, proporcionando uma iluminação dinâmica e personalizada.

Lista de componentes:

  • 1 x Arduino Uno
  • 3 x LEDs RGB
  • 3 x Resistores de 220Ω
  • 3 x Botões de pressão
  • 1 x Potenciômetro de 10kΩ
  • 1 x Protoboard
  • Fios de conexão

Exemplos:

// Definição dos pinos dos LEDs RGB
int redPin = 9;
int greenPin = 10;
int bluePin = 11;

// Definição dos pinos dos botões
int buttonRed = 2;
int buttonGreen = 3;
int buttonBlue = 4;

// Definição do pino do potenciômetro
int potPin = A0;

// Variáveis para armazenar o estado dos botões
int buttonStateRed = 0;
int buttonStateGreen = 0;
int buttonStateBlue = 0;

// Variáveis para armazenar os valores de cor
int redValue = 0;
int greenValue = 0;
int blueValue = 0;

void setup() {
  // Configuração dos pinos dos LEDs 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
  Serial.begin(9600);
}

void loop() {
  // Leitura do estado dos botões
  buttonStateRed = digitalRead(buttonRed);
  buttonStateGreen = digitalRead(buttonGreen);
  buttonStateBlue = digitalRead(buttonBlue);

  // Leitura do valor do potenciômetro
  int potValue = analogRead(potPin);

  // Mapeamento do valor do potenciômetro para a intensidade dos LEDs
  int intensity = map(potValue, 0, 1023, 0, 255);

  // Ajuste das cores com base nos botões pressionados
  if (buttonStateRed == HIGH) {
    redValue = intensity;
  }
  if (buttonStateGreen == HIGH) {
    greenValue = intensity;
  }
  if (buttonStateBlue == HIGH) {
    blueValue = intensity;
  }

  // Envio dos valores aos pinos dos LEDs
  analogWrite(redPin, redValue);
  analogWrite(greenPin, greenValue);
  analogWrite(bluePin, blueValue);

  // Impressão dos valores no monitor serial para depuração
  Serial.print("Red: ");
  Serial.print(redValue);
  Serial.print(" Green: ");
  Serial.print(greenValue);
  Serial.print(" Blue: ");
  Serial.println(blueValue);

  // Pequena pausa para estabilidade
  delay(100);
}

Comentários sobre o código:

  • As variáveis redPin, greenPin e bluePin definem os pinos PWM do Arduino conectados aos LEDs RGB.
  • Os botões são conectados aos pinos digitais buttonRed, buttonGreen e buttonBlue.
  • O potenciômetro está conectado ao pino analógico potPin.
  • No setup(), os pinos dos LEDs são configurados como saídas e os pinos dos botões como entradas.
  • No loop(), o estado dos botões e o valor do potenciômetro são lidos. Os valores dos LEDs são ajustados com base nos botões pressionados e na intensidade definida pelo potenciômetro.
  • O monitor serial é utilizado para depuração, imprimindo os valores atuais das cores.

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.