Atenuador LED inteligente controlado por Bluetooth - Calendae - Calendae | Informática, Electrónica, CMS, Ciberseguridad

Atenuador LED inteligente controlado por Bluetooth – Calendae

Hola y mil gracias por leerme. En el teclado Jordi Oriol y en el día de hoy hablaremos sobre Atenuador LED inteligente controlado por Bluetooth – Calendae

Introducción

Este artículo describe cómo construir un atenuador digital inteligente. Un atenuador es un interruptor de luz común que se usa en hogares, hoteles y muchos otros edificios. Las versiones anteriores de los interruptores de atenuación eran manuales y generalmente incorporaban un interruptor giratorio (potenciómetro) o botones para controlar el nivel de luz. Este artículo describe cómo construir un atenuador digital que tiene dos formas de controlar la intensidad de la luz; un teléfono inteligente y botones físicos. Los dos modos pueden funcionar perfectamente juntos para que el usuario pueda aumentar o disminuir el brillo tanto desde un botón como desde un teléfono inteligente. El proyecto se implementa mediante un archivo SLG46620V CMIC, módulo Bluetooth HC-06, botones y leds.

Usaremos la CMIC SLG46620V ya que ayuda a minimizar los componentes de diseño discretos. Los circuitos integrados GreenPAK son pequeños y tienen componentes multipropósito, lo que permite al diseñador reducir componentes y agregar nuevas funciones. Además, el coste del proyecto se reduce posteriormente.

los SLG46620V también contiene una interfaz de conexión SPI, bloques PWM, FSM y muchos bloques adicionales útiles en un pequeño chip. Estos componentes permiten al usuario construir un atenuador inteligente y práctico que se puede controlar a través de un dispositivo Bluetooth o botones de pared, admite atenuación prolongada y la adición de funciones seleccionables sin usar un microcontrolador o componentes costosos.

Características del proyecto:

Dos métodos de control; aplicación móvil y botones reales.

Transición suave on-off para luz. Esto es más saludable para los ojos del consumidor. También da una sensación más lujosa, que resulta atractiva para los hoteles y otras industrias de servicios.

Función de modo de reposo. Este será un valor agregado para esta aplicación. Cuando el usuario activa este modo, el brillo de la luz disminuye gradualmente en 10 minutos. Esto ayuda a las personas que sufren de insomnio. También es útil para dormitorios de niños y tiendas minoristas (hora de cierre).

Interfaz del proyecto

La interfaz del proyecto tiene cuatro botones, que se utilizan como entradas de GreenPAK:

  • ENCENDIDO APAGADO: enciende / apaga la luz (arranque suave parada).
  • ARRIBA: aumenta el nivel de luz.
  • Abajo: disminuye el nivel de luz.
  • Modo economico: Al activar el modo de reposo, el brillo de la luz disminuye gradualmente durante 10 minutos. Esto le da al usuario tiempo para dormir y asegura que la luz no permanezca encendida toda la noche.

El sistema emitirá una señal PWM, que se pasará a un LED externo y al indicador LED del modo de suspensión.

Figura 1: diagrama de bloques del atenuador

El diseño de GreenPAK consta de 4 bloques principales. El primero es un archivo Receptor UART, que recibe los datos del módulo Bluetooth, extrae los pedidos y los envía a un archivo unidad de control. El segundo bloque es una unidad de control, que recibe órdenes del receptor UART o botones externos. El panel de control decide la acción requerida (Encendido / Apagado, Aumentar, Disminuir, Habilitar el modo de suspensión). Esta unidad se implementa mediante LUT.

El tercer bloque proporciona la Generadores CLK. En este proyecto, se utiliza un contador FSM para controlar PWM. El valor del FSM cambiará (arriba, abajo) según las órdenes dadas por 3 frecuencias (alta, media y baja). En esta sección se generarán las tres frecuencias y el CLK solicitado pasa a FSM en el orden solicitado; En encendido / apagado, la alta frecuencia cambia al FSM para arranque / parada suave. Durante la atenuación, pasa la frecuencia media. La baja frecuencia entra en modo de suspensión para reducir el valor de FSM más lentamente. Por tanto, el brillo de la luz también disminuye lentamente. El cuarto bloque es el PWM unidad, que genera pulsos LED externos.

GramoDiseño eenPAK

La mejor manera de construir un atenuador usando GreenPAK es usar FSM de 8 bits y un PWM. En SLG46620, FSM1 contiene 8 bits y se puede utilizar con PWM1 y PWM2. El módulo Bluetooth debe estar conectado, lo que significa que debe usarse la salida paralela SPI. Las conexiones de los bits 0 a 7 de salida paralela SPI se mezclan con las salidas DCMP1, DMCP2 y LF OSC CLK, OUT1, OUT0 OSC. PWM0 obtiene su salida de FSM0 (16 bits). FSM0 no se detiene en 255; aumenta hasta 16383. Para limitar el valor del contador a 8 bits, se agrega otro FSM; FSM1 se utiliza como puntero para saber cuándo el contador llega a 0 o 255. Se utilizó FSM0 para generar el pulso PWM. Dado que los dos valores de FSM deben cambiarse al mismo tiempo para tener el mismo valor, el diseño se vuelve un poco complejo donde en ambos FSM tienen un CLK predeterminado, limitado y seleccionable. CNT1 y CNT3 se utilizan como mediadores para pasar el CLK a ambos FSM.

El diseño integrado Software GreenPAK Designer (El archivo .gp se puede encontrar aquí) consta de las siguientes secciones.

Receptor UART

Primero, necesitamos configurar el módulo Bluetooth HC06. El HC06 utiliza el protocolo UART para la comunicación. UART son las siglas de Universal Asynchronous Receiver / Transmitter. UART puede convertir datos entre formatos paralelo y serial. Incluye un receptor de serie a paralelo y un convertidor de paralelo a serie, ambos sincronizados por separado. Los datos recibidos en el HC06 se transmitirán a nuestro dispositivo GreenPAK. El estado inactivo del pin 10 es ALTO. Cada carácter enviado comienza con un bit de inicio lógico BAJO, seguido de un número configurable de bits de datos y uno o más bits de parada lógica ALTA.

El HC06 envía 1 bit de INICIO, 8 bits de datos y un bit de PARADA. Su tasa de baudios predeterminada es 9600. Enviaremos el byte de datos del HC06 al bloque SPI del GreenPAK SLG46620V.

Dado que el bloque de diálogo SPI no tiene control de los bits START o STOP, estos bits se utilizan en cambio para habilitar y deshabilitar la señal de reloj SPI (SCLK). Cuando el pin 10 pasa a BAJO, el IC ha recibido un bit de INICIO, por lo que usamos el detector de borde descendente PDLY para identificar el inicio de la comunicación. Ese detector de flanco descendente ejecuta el reloj DFF0, que permite que la señal SCLK sincronice el bloque SPI.

Nuestra tasa de bits es de 9600 bits por segundo, por lo que nuestro período SCLK debe ser 1/9600 = 104 µs. Por lo tanto, configuramos la frecuencia OSC en 2 MHz y usamos CNT0 como divisor de frecuencia.

2 MHz-1 = 0.5 µs

(104 µs / 0.5 µs) - 1 = 207

Por lo tanto, queremos que el valor del contador CNT0 sea 207. Para asegurar que los datos no se pierdan, se agrega un retardo de medio ciclo en el reloj SPI para que el bloque SPI se sincronice en el momento correcto. Esto se logra utilizando CNT6, LUT1 de 2 bits y el reloj externo del bloque OSC. La salida de CNT6 no aumenta hasta 52 µs después del reloj DFF0, que es exactamente la mitad de nuestro período SCLK de 104 µs. Cuando sube, la puerta AND LUT1 de 2 bits permite que la señal OSC de 2 MHz vaya a EXT. Entrada CLK0, cuya salida está conectada a CNT0.

Figura 2: Receptor UART

Unidad de control

En esta sección, los comandos se ejecutarán según el byte recibido del receptor UART o según las señales de los botones externos. Los pines 12, 13, 14, 15 se inicializan como entradas y están conectados a botones externos.

Cada pin está conectado internamente a una entrada de puerta OR, mientras que la segunda entrada de puerta está conectada a la señal correspondiente del teléfono inteligente a través de Bluetooth, que aparecerá en la salida SPI Parallel.

DFF6 se usa para activar el modo de suspensión donde su salida cambia con el flanco ascendente proveniente de LUT4 en 2 bits, mientras que DFF10 se usa para mantener el estado de iluminación y su salida cambia de bajo a alto y viceversa a cada flanco ascendente procedente de la salida LUT10 de 3 bits.

FSM1 es un contador de 8 bits; da un pulso alto en su salida cuando su valor llega a 0 o 255. En consecuencia, se usa para evitar que FSM0 (16 bit) exceda el valor 255, ya que su salida restablece el DFF y cambia el estado de DFF10 de encima para apagado y viceversa si la iluminación se controla mediante botones +, y se ha alcanzado el nivel máximo / mínimo.

Las señales conectadas al FSM1 mantener, arriba llegará de FSM0 a P11 y P12 para sincronizar y mantener el mismo valor en ambos contadores.

Figura 3: estructura de la unidad de control

Generadores y multiplexores CLK

Se generarán tres frecuencias en esta sección, pero solo una a la vez registrará los FSM. La primera frecuencia es RC OSC, que se recupera de la matriz 0 a P0. La segunda frecuencia es LF OSC, también tomada de la matriz de 0 a P1; la tercera frecuencia es la salida CNT7.

LUT9 de 3 bits y LUT11 de 3 bits permiten pasar una frecuencia, basada en la salida LUT14 de 3 bits. Después de eso, el reloj elegido transmite a FSM0 y FSM1 a través de CNT1 y CNT3.

Figura 4: Diseño del generador de reloj

PWM

Finalmente, el valor FSM0 se transforma en una señal PWM que aparece a través del pin 20 que se inicializa como salida y se conecta a los LED externos.

Figura 5: Bloque PWM

Aplicación para Android

La aplicación de Android tiene una interfaz de control virtual similar a la interfaz real. Tiene cinco botones; ENCENDIDO APAGADO, ARRIBA, ABAJO, Modo economico, es Conectar. Esta aplicación de Android podrá convertir las pulsaciones de botones en un comando y enviar comandos al módulo Bluetooth para ejecutar.

Esta aplicación se creó con MIT App Inventor, que no requiere experiencia en programación. App Inventor permite al desarrollador crear una aplicación para dispositivos con sistema operativo Android utilizando un navegador web conectando bloques de programación. Puede importar nuestra aplicación en MIT App Inventor haciendo clic en Proyectos -> Importar proyecto (.aia) desde mi computadoray seleccionando el archivo .aia incluido con esta carpeta.

Para crear la aplicación de Android, debe iniciar un nuevo proyecto. Se requieren cinco botones: uno es un selector de lista para dispositivos Bluetooth y el otro son los botones de control. También necesitamos agregar un cliente Bluetooth. La Figura 6 es una captura de pantalla de la interfaz de usuario de nuestra aplicación de Android.

Después de agregar los botones, asignaremos la función del software a cada botón. Usaremos 4 bits para representar el estado de los botones. Un bit por cada botón, por lo tanto, cuando se presiona el botón, se enviará un número específico vía Bluetooth al circuito físico.

Figura 6: bloques de programación de botones

Estos números se muestran en la Tabla 1:

Tabla 1: Representación de bits de comando Figura 7: Bloques de programación de botones Figura 8: Diagrama de circuito Figura 9: Interfaz de prototipo

Conclusión

Este artículo describe un atenuador inteligente que se puede controlar de dos maneras; una aplicación de Android y botones reales. Dentro del GreenPAK SLG46620V se describen cuatro bloques separados que controlan el flujo del proceso para aumentar o disminuir el PWM de una luz. Además, se describe una función de modo de suspensión como ejemplo de modulación adicional disponible para la aplicación. El ejemplo que se muestra es de bajo voltaje, pero puede modificarse para implementaciones de mayor voltaje.

No te olvides compartir en en tu Twitter y Facebook para que tus amigos lo lean

??? ? ? ???

Comparte