Pular para o conteúdo principal

Primeiros passos com a LED Driver Board for XIAO


A LED Driver Board for XIAO é uma solução compacta porém poderosa que oferece suporte a fitas de LED de 5V e 12V, incluindo LEDs RGB endereçáveis populares como NeoPixel WS2812, WS2813, WS2815. Compatível com todas as placas XIAO, ela permite controle inteligente e automação por meio de WLED e Home Assistant quando usada com a XIAO ESP32 Série, ao mesmo tempo em que oferece opções de alimentação flexíveis e proteção abrangente para uma operação segura e confiável em sua configuração de iluminação.

Introdução

Características

Especificações

ItemDetalhe
Entrada de energiaDC 12V/2A
Suporte de alimentação para LEDDC 12V / DC 5V
Corrente máxima de operação12V/2A 5V/3A
Conector de LEDConector borne de parafuso 4 pinos 3,81mm:
12V | 5V | A0 | GND
Conector Grove I²CD5 | D4 | 5V | GND
Botão do usuárioD3
Header de pinos do usuárioSPI x1, Uart x1, Digital x2

Visão geral do hardware

Entrada de energia adaptada

Guia de LEDs suportados

Primeiros passos

Esta placa de driver de LED é projetada especificamente para a série Seeed Studio XIAO. Sua funcionalidade varia dependendo do microcontrolador XIAO emparelhado. Por exemplo, quando usada com a XIAO nRF52840, ela pode ler os dados da IMU onboard para mudar dinamicamente as cores dos LEDs. Quando emparelhada com placas da série ESP32, pode ser integrada ao Home Assistant para um controle de casa inteligente perfeito. Além disso, com a XIAO ESP32-C3, ela oferece suporte à execução de WLED para efeitos avançados de LED. Siga o tutorial abaixo para explorar essas capacidades em detalhes.

Brincar com Arduino

Você precisa configurar o ambiente Arduino para o XIAO e adicionar o pacote onboard.

dica

Se esta é a sua primeira vez usando o Arduino, recomendamos fortemente que você consulte Primeiros passos com Arduino.

Preparação de software

Passo 1. Inicie o aplicativo Arduino.

Passo 2. Selecione o modelo da sua placa de desenvolvimento e adicione-o ao Arduino IDE.

  • Se você quiser usar Seeed Studio XIAO SAMD21 para as rotinas posteriores, consulte este tutorial para concluir a adição.

  • Se você quiser usar Seeed Studio XIAO RP2040 para as rotinas posteriores, consulte este tutorial para concluir a adição.

  • Se você quiser usar Seeed Studio XIAO RP2350 para as rotinas posteriores, consulte este tutorial para concluir a adição.

  • Se você quiser usar Seeed Studio XIAO nRF52840 para as rotinas posteriores, consulte este tutorial para concluir a adição.

  • Se você quiser usar Seeed Studio XIAO ESP32C3 para as rotinas posteriores, consulte este tutorial para concluir a adição.

  • Se você quiser usar Seeed Studio XIAO ESP32C6 para as rotinas posteriores, consulte este tutorial para concluir a adição.

  • Se você quiser usar Seeed Studio XIAO ESP32S3 para as rotinas posteriores, consulte este tutorial para concluir a adição.

  • Se você quiser usar Seeed Studio XIAO RA4M1 para as rotinas posteriores, consulte este tutorial para concluir a adição.

  • Se você quiser usar Seeed Studio XIAO MG24 para as rotinas posteriores, consulte este tutorial para concluir a adição.

Passo 3. Instale as bibliotecas necessárias.

  • Abra o Arduino IDE, navegue até Sketch > Include Library > Manage Libraries... para pesquisar a biblioteca, digite a palavra-chave "Adafruit_NeoPixel" no Arduino Library Manager e instale a versão mais recente.
nota

O MG24 atualmente não é suportado pela biblioteca NeoPixel padrão. No entanto, a Silicon Labs fornece uma alternativa no core oficial do MG24: o driver ezWS2812, que suporta LEDs WS2812 via SPI de hardware ou GPIO. Você pode encontrar mais detalhes aqui.

Exemplo simples

Passo 1. Preparação de hardware

Seeed Studio XIAO RP2350Placa Controladora de LED para XIAOGrove - RGB LED Stick (15-WS2813 Mini)

Passo 2. Conecte Seeed Studio XIAO RP2350, a Placa Controladora de LED para XIAO e o Grove - RGB LED Stick (15-WS2813 Mini) como mostrado abaixo:

Passo 3. O seguinte programa de exemplo controla LEDs contendo 3 NeoPixel para que cada um dos três LEDs exiba as cores vermelho, verde e azul

#include <Adafruit_NeoPixel.h>

// Which pin on the Arduino is connected to the NeoPixels?
#define PIN D5

// How many NeoPixels are attached to the Arduino?
#define NUMPIXELS 3

// When setting up the NeoPixel library, we tell it how many pixels,
// and which pin to use to send signals. Note that for older NeoPixel
// strips you might need to change the third parameter -- see the
// strandtest example for more information on possible values.
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
pixels.begin(); // INITIALIZE NeoPixel strip object
}

void loop() {
pixels.clear(); // Set all pixel colors to 'off'

// pixels.Color() takes RGB values, from 0,0,0 up to 255,255,255
// The first NeoPixel in a strand is #0, second is 1, all the way up
pixels.setPixelColor(0, pixels.Color(255, 0, 0));
pixels.setPixelColor(1, pixels.Color(0, 255, 0));
pixels.setPixelColor(2, pixels.Color(0, 0, 255));
// pixels.setBrightness() takes brightness values, from 0 up to 255
pixels.setBrightness(255);

pixels.show(); // Send the updated pixel colors to the hardware.

}

Envie o programa e alimente a Placa Controladora de LED; se tudo correr bem, você verá algo assim:

LED com sincronização de cor e movimento

Passo 1. Preparação de hardware

XIAO nRF52840Placa Controladora de LED para XIAOLED WS2812

Passo 2. Conecte Seeed Studio XIAO nRF52840, a Placa Controladora de LED para XIAO e o LED WS2812 como mostrado abaixo:

Passo 3. O código a seguir funciona lendo os dados do sensor de aceleração LSM6DS3 onboard do XIAO nRF52840 e alterando a cor da tira de LED em tempo real, com a cor mapeada a partir do valor atual de aceleração.

#include <Arduino.h>
#include "LSM6DS3.h"
#include <Adafruit_NeoPixel.h>
#include "Wire.h"
#include "math.h"

// Define the pin connected to the NeoPixel data input
#define PIN A0

// Total number of NeoPixel LEDs
#define NUMPIXELS 300

// Create a NeoPixel strip object
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

// Variables for accelerometer data
float ax = 0;
float ay = 0;
float az = 0;

// RGB color components
uint8_t r = 0;
uint8_t g = 0;
uint8_t b = 0;

// Packed 24-bit RGB color value
uint32_t packedRGB = 0;

// Create an instance of the LSM6DS3 IMU in I2C mode at address 0x6A
LSM6DS3 myIMU(I2C_MODE, 0x6A);


void setup() {

Serial.begin(9600);

// Initialize the IMU sensor and check for errors
if (myIMU.begin() != 0) {
Serial.println("Device error");
} else {
Serial.println("Device OK!");
}

// Initialize the NeoPixel strip
pixels.begin();
}


void loop() {
// Read acceleration values from the IMU
ax = myIMU.readFloatAccelX();
ay = myIMU.readFloatAccelY();
az = myIMU.readFloatAccelZ();

// Map acceleration (-1g to +1g) to RGB values (0 to 255)
// Centered at 128 to allow both positive and negative variations
r = constrain(ax * 100 + 128, 0, 255);
g = constrain(ay * 100 + 128, 0, 255);
b = constrain(az * 100 + 128, 0, 255);

// Combine RGB components into a single 24-bit color value
packedRGB = (r << 16) | (g << 8) | b;

// Clear all existing pixels
pixels.clear();

// Fill all LEDs with the computed color
pixels.fill(packedRGB, 0, NUMPIXELS);
pixels.setBrightness(255);
pixels.show();
delay(100);
}

Carregue o programa e alimente a LED Driver Board; se tudo correr bem, você verá algo assim:

Quando você sacode o módulo, a cor da tira de luz muda. Quanto mais forte a agitação, mais brilhante a cor.

Brinque com o Home Assistant via ESPHome

Preparação de hardware

Dispositivos Home Assistant

Preparação de software

ESPHome é uma ferramenta que tem como objetivo tornar o gerenciamento das suas placas ESP o mais simples possível. Ele lê um arquivo de configuração YAML e cria um firmware personalizado que é instalado no seu dispositivo ESP. Dispositivos ou sensores adicionados na configuração do ESPHome aparecerão automaticamente na interface do Home Assistant. O ESPHome pode ajudar você a conectar e enviar os dados para dispositivos Home Assistant.

nota

Se esta é a sua primeira vez usando Home Assistant e ESPHome, você pode seguir aqui para um guia passo a passo sobre como instalar o Home Assistant.

ESPHome está disponível como um Add-On do Home Assistant e pode ser simplesmente instalado pela loja de add-ons.

  • Passo 1. Clique em INSTALL
  • Passo 2. Ative todas as opções e clique em START

Você verá a seguinte janela se o ESPHome for carregado com sucesso

LEDs sincronizados com a cor da temperatura

Passo 1. Preparação de hardware

XIAO ESP32S3LED Driver Board for XIAOGrove - Temperature & Humidity Sensor (DHT11)WS2812 LED

Passo 2. Conecte o Seeed Studio XIAO ESP32S3, a LED Driver Board for XIAO e o WS2812 LED como mostrado abaixo:

Passo 3. Abra a página do ESPHome e clique em + NEW DEVICE

Passo 4. Clique em CONTINUE

Passo 5. Digite um Name para o dispositivo e insira as credenciais de Wi-Fi, como Network name e Password. Em seguida, clique em NEXT

Passo 6. Selecione ESP32-S3 e clique

Passo 7. Clique em SKIP porque vamos configurar esta placa manualmente

Passo 8. Clique em EDIT abaixo da placa recém-criada

Passo 9. Copie os seguintes códigos para o final do arquivo .yaml; o XIAO ESP32S3 lê a temperatura de um sensor DHT11 e altera a cor de um LED RGB com base em quão distante a temperatura está de um valor alvo, usando azul para frio, vermelho para quente e verde para normal.

# DHT11 temperature and humidity sensor
sensor:
- platform: dht
pin: GPIO6
model: DHT11 # Change to DHT22 or AM2302 if using a different model
temperature:
name: "Temperature"
id: temp_sensor
humidity:
name: "Humidity"
update_interval: 3s # Read new values every 3 seconds

# RGB LED (WS2812 single LED)
light:
- platform: neopixelbus
variant: ws2813 # ⚠️ Adjust based on your actual LED type (e.g., ws2812, ws2813, sk6812)
type: GRB # Color order (Green-Red-Blue)
pin: GPIO1
num_leds: 50 # Total number of NeoPixel LEDs
name: "Temperature Color LED"
id: rgb_led
restore_mode: ALWAYS_ON
default_transition_length: 0s

# Adjustable center temperature threshold
number:
- platform: template
name: "Target Temperature" # Center temperature value
id: target_temp
optimistic: true
min_value: 0
max_value: 40
step: 0.1
initial_value: 20.0 # Default center temperature (°C)

- platform: template
name: "Temperature Tolerance" # Tolerance around target temperature
id: temp_tolerance
optimistic: true
min_value: 0
max_value: 10
step: 0.1
initial_value: 5.0 # Default tolerance value (°C)

# Every 3 seconds, the LED color is updated:
# - Blue if too cold (below center - tolerance),
# - Red if too hot (above center + tolerance),
# - Green if temperature is close to the center,
# - Gradient between blue–green–red in transitional ranges.
#- If the temperature is not available, the LED blinks purple to indicate a sensor error.

interval:
- interval: 3s
then:
- lambda: |-
float t = id(temp_sensor).state;
float center = id(target_temp).state;
float tolerance = id(temp_tolerance).state;
float r = 0.0, g = 0.0, b = 0.0;
float ratio = 0.0;

if (isnan(t)) {
// Flash purple to indicate missing temperature
static bool blink = false;
blink = !blink;
auto call = id(rgb_led).turn_on();
call.set_rgb(blink ? 0.5 : 0.0, 0.0, blink ? 0.5 : 0.0);
call.perform();
return;
}

// Calculate RGB values based on temperature
if (t <= (center - tolerance)) {
b = 1.0;
g = 0.0;
} else if (t >= (center + tolerance)) {
r = 1.0;
g = 0.0;
} else if (t <= center) {
ratio = (center - t) / tolerance;
b = ratio;
g = 1.0 - ratio;
} else {
ratio = (t - center) / tolerance;
r = ratio;
g = 1.0 - ratio;
}



// Update LED
auto call = id(rgb_led).turn_on();
call.set_rgb(r, g, b);
call.perform();

Passo 10. Clique no botão Install no canto superior direito. Em seguida, selecione o último item Manual download, selecione Modern format

Levará bastante tempo para fazer o download e compilar, portanto, seja paciente. Quando tudo estiver pronto, o firmware será baixado automaticamente para o seu computador.

Passo 11. Usando a ferramenta web ESPhome para enviar o firmware para o XIAO ESP32S3, clique em CONNECT

Selecione a porta serial do XIAO ESP32 na janela popup, clique em INSTALL e depois selecione o arquivo .bin baixado nos passos acima.

Passo 11. Depois que a instalação for concluída com sucesso, você verá algo assim:

Quando o ar frio é soprado para o sensor de temperatura e umidade, a cor da faixa de LED muda gradualmente de vermelho para azul à medida que a temperatura cai.

Passo 12. Adicionar ao Dashboard

Abra Setting >> Devices & Services, você pode encontrar o seu dispositivo ESPhome, clique em ADD e adicione-o ao dashboard, você verá algo assim:

Executar WLED

Preparação de hardware

XIAO ESP32C3LED Driver Board for XIAOWS2812 LED

Conecte o Seeed Studio XIAO nRF52840, a LED Driver Board for XIAO e o LED WS2812 como mostrado abaixo:

Instalar WLED

Passo 1. Abra WLED install web e conecte o seu XIAO ESP32C3 ao PC, clique em Install e conecte sua porta.

Passo 2. Após a instalação bem-sucedida, será necessário configurar o Wi-Fi do dispositivo; é recomendado manter o seu XIAO ESP32C3 e o seu computador/celular na mesma LAN.

Passo 3. Agora, você pode clicar em VISIT DEVICE para controlar a sua faixa de LED.

Passo 4. Ou você pode instalar o App WLED na loja de aplicativos do seu celular e encontrar o seu dispositivo de LED com o ícone de + no canto superior direito do software.

Se tudo funcionar bem, você verá algo assim:

Recursos

Suporte Técnico & Discussão de Produtos

Obrigado por escolher nossos produtos! Estamos aqui para oferecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja a mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...