Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Control de brillo LED sin interrupciones con Bolt IoT y Arduino UNO

Componentes y suministros

ComponenteCantidad
Módulo WiFi Bolt IoT1
Arduino UNO1
LED (genérico)6
Resistencia 330 Ω6
Protoboard sin soldadura (mitad)1
Cables jumper Macho/Macho7
Cable USB-A a B1

Aplicaciones y servicios online

Sobre este proyecto

Descripción

Mantener una luz fluorescente encendida continuamente en casa aunque no la necesites o requieras luz tenue no solo cuesta mucho, sino que a veces irrita. ¡Sería genial si pudieras controlar el brillo de la luz fluorescente al alcance de tu mano! Hoy este proyecto te ayudará a desarrollar un pequeño prototipo para controlar tu luz en casa mediante unos pocos comandos. Aquí controlaremos un máximo de 6 LEDs usando Bolt y Arduino. El brillo se controla usando los 6 canales PWM del Arduino.

Reunir todos los componentes necesarios

Todos los componentes son fáciles de encontrar en el mercado a precio razonable:

  1. Módulo Bolt IoT
  2. Arduino Uno
  3. LEDs (6 unidades)
  4. Resistencias 330 Ω (6 unidades)
  5. Protoboard
  6. Cables jumper Macho/Macho
  7. Cable USB para Arduino

Bolt IoT

La plataforma Bolt IoT te da la capacidad de controlar tus dispositivos y recopilar datos de dispositivos IoT de forma segura, estés donde estés. Obtén información accionable desplegando algoritmos de machine learning con unos clics para detectar anomalías y predecir valores de sensores. Más info en boltiot.com.

Modulación por ancho de pulso (PWM)

Se usa para controlar la amplitud de señales digitales y así controlar dispositivos que requieren potencia. Esencialmente controla la cantidad de potencia (componente de voltaje) que se da a un dispositivo ciclando rápido las fases on/off de una señal digital y variando el ancho de la fase "on" (ciclo de trabajo). Para el dispositivo, esto aparece como una entrada de potencia estable con un valor de voltaje promedio, resultado del porcentaje de tiempo on.

Montaje del hardware

  1. Reúne todos los componentes y verifica que los LEDs funcionan.
  2. Conecta los cátodos de los LEDs a la línea GND y los ánodos a resistencias de 330 Ω en serie.
  3. Conecta el otro extremo de las resistencias a los 6 pines PWM (pines 3, 5, 6, 9, 10 y 11).
  4. Conecta GND de Arduino a la línea GND de la protoboard.
  5. Conecta Tx y Rx del Bolt a Rx y Tx del Arduino respectivamente (cruzados).
  6. Conecta 5V del Bolt a 5V de Arduino y GND de Bolt a GND de Arduino.

NOTA: Retira las conexiones Tx/Rx entre Bolt y Arduino antes de subir el código.

Configuración del Bolt

  1. Ve a cloud.boltiot.com y regístrate.
  2. Descarga la app BoltIoT en tu móvil, inicia sesión y añade tu nuevo dispositivo Bolt.
  3. Obtén tu Bolt Device ID.
  4. En la nube, ve a API y habilita para obtener tu API Key.

IMPORTANTE: No compartas tu API Key ni Device ID con nadie.

API y Bolt Cloud API

La API de Bolt Cloud permite comunicación entre dispositivos Bolt y sistemas de terceros (apps móviles, servidores web, programas Python, etc.). Sintaxis general:

https://cloud.boltiot.com/remote/TU_API_KEY/comando?param1=...¶m2=...&deviceName=BOLTXXXXXX

Código para Arduino

  1. Descarga la librería boltiot-arduino-helper de GitHub e instálala en Arduino IDE.
  2. Sube el código de abajo al Arduino Uno.

Llamadas API para control de brillo

Usamos las APIs UART de Bolt Cloud:

  1. Inicializar comunicación serie: serialBegin?baud=9600
  2. Encender LED con brillo: serialWrite?data=ON 1 120 (pin 1 = LED en pin 3, PWM 120)
  3. Leer respuesta: serialRead?till=10

Formato data: ON <num_led 1-6> <valor_PWM 0-255> (espacio final obligatorio)

Principio de funcionamiento

El Arduino comprueba continuamente comandos serie del Bolt. Si recibe "ON" seguido de datos, extrae pin y valor PWM, valida rango (1-6), ejecuta analogWrite y responde con confirmación.

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--; // Ajuste a índice 0-based
  analogWrite(pwm_pin[pin], pwm);
  return "Pin " + String(pin+1) + " was set to pwm value " + String(pwm);
}

void setup() {
  for (int p : pwm_pin) pinMode(p, OUTPUT);
  boltiot.begin(Serial);
  boltiot.setCommandString("ON", switchOn, 2, ' ');
}

void loop() {
  boltiot.handleCommand();
}

Esquemáticos

Ver diagrama: 6 LEDs en pines PWM (3,5,6,9,10,11) con resistencias 330Ω a GND. Bolt Tx→Arduino Rx, Bolt Rx→Arduino Tx, 5V y GND comunes.

Proceso de manufactura

  1. Mando universal Android con Arduino, 1Sheeld y control IR
  2. Construye un Voltímetro Inteligente con Arduino y Smartphone – Proyecto DIY Fácil
  3. Medición precisa de frecuencia y ciclo de trabajo con Arduino UNO
  4. Zapatillas Inteligentes Autoajustables con Cosecha de Energía Integrada
  5. Medición de Distancia en Tiempo Real con Sonar Arduino y Visualización en Processing
  6. Control Preciso de Servo con Arduino y MPU6050 (SG90 / MG996R)
  7. Brazo Robótico Inteligente Controlado por Arduino: Tutorial DIY Fácil
  8. Reloj flip Arduino con matriz LED 8×8: proyecto DIY de reloj en tiempo real
  9. Control de Matriz LED 8×8 con Arduino Uno: Guía Paso a Paso
  10. Construye una Radio FM Compacta con Arduino Nano y RDA5807M
  11. Mecanizado CNC: Fabricación de Precisión de Materiales y Componentes