Controle Suave de Brilho de LED com Bolt IoT e Arduino UNO
Componentes e Materiais
- Módulo Bolt IoT Bolt WiFi × 1
- Arduino UNO × 1
- LED (genérico) × 6
- Resistor 330 Ω × 6
- Protoboard Meio Tamanho × 1
- Jumpers Macho-Macho × 7
- Cabo USB-A para B × 1
Aplicativos e Serviços Online
- Arduino IDE
- Bolt IoT Bolt Cloud
Sobre este Projeto
Descrição
Manter uma luz fluorescente ligada desnecessariamente ou precisar de luz mais suave não só custa caro como pode irritar. Seria incrível controlar o brilho da luz na ponta dos dedos. Este projeto desenvolve um protótipo para controlar até 6 LEDs via Bolt e Arduino, usando os 6 canais PWM do Arduino.
Componentes Necessários
- Bolt — Plataforma IoT para controle remoto seguro e coleta de dados. boltiot.com
- Arduino Uno
- LEDs
- Resistores 330 Ω
- Protoboard
- Jumpers Macho-Macho
- Cabo USB para Arduino
Modulação por Largura de Pulso (PWM)
PWM controla a amplitude de sinais digitais para controlar dispositivos que requerem potência. Alterna rapidamente entre ligado/desligado variando a largura do pulso "ligado" (ciclo de trabalho). Para o dispositivo, parece uma entrada de potência contínua com valor médio de tensão.
Montagem do Hardware
- Reúna componentes e teste os LEDs
- Conecte cátodos dos LEDs ao GND e ânodos a resistores 330 Ω em série
- Conecte a outra extremidade dos resistores aos 6 pinos PWM (3, 5, 6, 9, 10, 11)
- Conecte GND do Arduino à linha GND da protoboard
- Conecte Tx e Rx do Bolt ao Rx e Tx do Arduino, respectivamente
- Conecte 5V do Bolt ao 5V do Arduino e GND do Bolt ao GND do Arduino
Nota: Consulte o esquemático para orientação.
Configuração do Bolt
- Acesse cloud.boltiot.com e crie conta
- Baixe app BoltIoT no celular, faça login e adicione seu dispositivo Bolt
- Obtenha o Device ID do Bolt
- No painel, vá em API e clique em "Enable" para obter sua API Key
Importante: Não compartilhe sua API Key e Device ID.
API e Bolt Cloud API
A Bolt Cloud API permite comunicação entre dispositivos Bolt e sistemas terceiros (apps móveis, servidores web, scripts Python). Sintaxe geral:
https://cloud.boltiot.com/remote/sua_api_key/comando?param1=...¶m2=...&deviceName=BOLTXXXXX
Exemplo: https://cloud.boltiot.com/remote/0e17f7d8-c1a3-4692-b667-7251175f7ab6/restart?&deviceName=BOLT9161541
Código para Arduino
- Baixe a biblioteca
boltiot-arduino-helperdo GitHub e adicione às bibliotecas do Arduino - Carregue o código abaixo no Arduino Uno
Nota: Remova as conexões Tx/Rx entre Bolt e Arduino antes do upload.
Chamadas API para Controle de Brilho
Usamos APIs UART do Bolt Cloud:
- Inicialize comunicação serial:
serialBegin?baud=9600&deviceName=BOLT13819450 - Ligue LED com brilho:
serialWrite?data=ON 1 120(pino 1, PWM 120) - Leia resposta:
serialRead?till=10&deviceName=BOLT8795377
Formato do parâmetro data: ON <número do led 1-6> <valor PWM 0-255> (espaço no final obrigatório)
Princípio de Funcionamento
O Arduino verifica continuamente comandos seriais do Bolt. Se o comando for "ON" seguido de dados, extrai pino e valor PWM, valida (pino 1-6), executa analogWrite e responde com confirmação.
Código
#include <BoltIoT-Arduino-Helper.h>
int pwm_pin[] = {3, 5, 6, 9, 10, 11};
String switchOn(String *data) {
int pin = data[0].toInt();
int pwm = data[1].toInt();
if ((pin < 1) || (pin > 6)) {
return "pin number should be b/w 1 and 6";
}
pin--;
analogWrite(pwm_pin[pin], pwm);
return "Pin " + String(pin) + " was set to pwm value " + String(pwm);
}
void setup() {
pinMode(3, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT);
pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT);
boltiot.begin(Serial);
boltiot.setCommandString("ON", switchOn, 2, ' ');
}
void loop() {
boltiot.handleCommand();
}
Esquemático
Processo de manufatura
- Controle Remoto Universal Android com Arduino, 1Sheeld e IR
- Construa um Voltímetro Inteligente com Arduino e Smartphone – Projeto DIY Fácil
- Medição Precisa de Frequência e Ciclo de Trabalho com Arduino UNO
- Tênis Inteligentes com Auto-Ajuste e Colheita de Energia Integrada
- Medição de Distância em Tempo Real com Sonar Arduino e Visualização no Processing
- Arduino e MPU6050: Controle Preciso de Servomotores SG90 e MG996R
- Braço Robótico Inteligente Controlado por Arduino: Tutorial DIY Fácil
- Relógio Flip Arduino com Matriz LED 8×8 – Projeto DIY de Relógio em Tempo Real
- Controlando Matriz de LED 8×8 com Arduino Uno: Guia Passo a Passo
- Usinagem CNC: Fabricação de Precisão de Materiais e Componentes