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

Criando um Arco-Íris com Arduino

Neste artigo, vamos explorar como criar um projeto de iluminação com LEDs que simula um arco-íris utilizando o Arduino. Este projeto é ideal para iniciantes que desejam aprender mais sobre controle de LEDs RGB e programação básica no ambiente Arduino. A criação de um arco-íris com LEDs pode ser uma ótima introdução ao mundo da eletrônica e da programação, além de ser um projeto visualmente atraente.

Project: O objetivo deste projeto é criar um efeito de arco-íris utilizando uma tira de LEDs RGB controlada por um Arduino. A tira de LEDs mudará de cor gradualmente, simulando as cores de um arco-íris. Este projeto ajudará a entender como controlar LEDs RGB, como utilizar bibliotecas específicas para LEDs e como programar transições suaves entre cores.

Components List:

  • 1 x Arduino Uno
  • 1 x Tira de LEDs RGB (WS2812B) com pelo menos 8 LEDs
  • 1 x Fonte de alimentação 5V (capaz de fornecer corrente suficiente para a tira de LEDs)
  • 1 x Capacitor 1000µF, 6.3V ou maior (opcional, para estabilizar a alimentação)
  • 1 x Resistor 330Ω (opcional, para proteger o pino de dados)
  • Fios de conexão
  • Protoboard (opcional)

Examples:

// Inclui a biblioteca necessária para controlar a tira de LEDs WS2812B
#include <Adafruit_NeoPixel.h>

// Define o pino onde a tira de LEDs está conectada
#define PIN 6

// Define o número de LEDs na tira
#define NUM_LEDS 8

// Cria um objeto para controlar a tira de LEDs
Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  // Inicializa a tira de LEDs
  strip.begin();
  // Apaga todos os LEDs
  strip.show();
}

void loop() {
  // Chama a função para mostrar o efeito arco-íris
  rainbowCycle(20);
}

// Função para criar o efeito arco-íris
void rainbowCycle(uint8_t wait) {
  uint16_t i, j;

  for(j=0; j<256*5; j++) { // 5 ciclos de todas as 256 cores no arco-íris
    for(i=0; i<strip.numPixels(); i++) {
      // Define a cor do LED atual
      strip.setPixelColor(i, Wheel(((i * 256 / strip.numPixels()) + j) & 255));
    }
    // Atualiza a tira de LEDs para mostrar as novas cores
    strip.show();
    // Aguarda um tempo antes de mudar para a próxima cor
    delay(wait);
  }
}

// Função auxiliar para gerar as cores do arco-íris
uint32_t Wheel(byte WheelPos) {
  WheelPos = 255 - WheelPos;
  if(WheelPos < 85) {
    return strip.Color(255 - WheelPos * 3, 0, WheelPos * 3);
  } else if(WheelPos < 170) {
    WheelPos -= 85;
    return strip.Color(0, WheelPos * 3, 255 - WheelPos * 3);
  } else {
    WheelPos -= 170;
    return strip.Color(WheelPos * 3, 255 - WheelPos * 3, 0);
  }
}

Comentários detalhados:

  • #include <Adafruit_NeoPixel.h>: Inclui a biblioteca Adafruit_NeoPixel necessária para controlar a tira de LEDs WS2812B.
  • #define PIN 6: Define o pino digital do Arduino ao qual a tira de LEDs está conectada.
  • #define NUM_LEDS 8: Define o número de LEDs na tira.
  • Adafruit_NeoPixel strip = Adafruit_NeoPixel(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800);: Cria um objeto strip para controlar a tira de LEDs.
  • void setup() { ... }: Função de configuração que inicializa a tira de LEDs.
  • void loop() { ... }: Função principal que chama a função rainbowCycle para criar o efeito arco-íris.
  • void rainbowCycle(uint8_t wait) { ... }: Função que gera o efeito arco-íris, alterando as cores dos LEDs em um ciclo.
  • uint32_t Wheel(byte WheelPos) { ... }: Função auxiliar que gera as cores do arco-íris com base na posição da roda de 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.