Índice:

Dimmer LED inteligente DIY controlado via Bluetooth: 7 etapas
Dimmer LED inteligente DIY controlado via Bluetooth: 7 etapas

Vídeo: Dimmer LED inteligente DIY controlado via Bluetooth: 7 etapas

Vídeo: Dimmer LED inteligente DIY controlado via Bluetooth: 7 etapas
Vídeo: Умный диммер ZigBee WiFi для регулировки освещения Bingoelec Tuya Smart 2024, Julho
Anonim
DIY Smart LED Dimmer controlado via Bluetooth
DIY Smart LED Dimmer controlado via Bluetooth

Este Instructable descreve como construir um dimmer digital inteligente. Um dimmer é um interruptor de luz comum usado em casas, hotéis e muitos outros edifícios. Versões mais antigas de interruptores dimmer eram manuais e normalmente incorporavam um interruptor rotativo (potenciômetro) ou botões para controlar o nível de luz. Este Instructable descreve como construir um dimmer digital que possui duas maneiras de controlar a intensidade da luz; um smartphone e botões físicos. Os dois modos podem funcionar perfeitamente juntos para que o usuário possa aumentar ou diminuir a luminosidade de um botão e do smartphone. O projeto é implementado usando um SLG46620V CMIC, módulo HC-06 Bluetooth, botões de pressão e LEDs.

Vamos usar o SLG46620V CMIC, pois ajuda a minimizar componentes discretos do projeto. Os CIs GreenPAK ™ são pequenos e possuem componentes multiuso, o que permite ao projetista diminuir componentes e adicionar novos recursos. Além disso, o custo do projeto é reduzido posteriormente.

O SLG46620V também contém uma interface de conexão SPI, blocos PWM, FSM e muitos blocos adicionais úteis em um minúsculo chip. Esses componentes permitem que um usuário construa um dimmer inteligente prático que pode ser controlado por meio de um dispositivo Bluetooth ou botões de parede, suporta dimmer de tempo estendido e a adição de recursos selecionáveis sem usar um microcontrolador ou componentes caros.

Abaixo, descrevemos as etapas necessárias para entender como a solução foi programada para criar um dimmer de LED inteligente controlado via Bluetooth. No entanto, se você deseja apenas obter o resultado da programação, baixe o software GreenPAK para visualizar o arquivo de design GreenPAK já concluído. Conecte o GreenPAK Development Kit ao seu computador e acesse o programa para criar o dimmer de LED inteligente controlado via Bluetooth.

Etapa 1: Recursos e interface do projeto

Recursos e interface do projeto
Recursos e interface do projeto

Características do projeto:

1. Dois métodos de controle; aplicativo móvel e botões reais.

2. Transição liga-desliga suave para a luz. Isso é mais saudável para os olhos do consumidor. Também dá uma sensação mais luxuosa, que atrai hotéis e outras indústrias de serviços.

3. Recurso do modo de suspensão. Isso será um valor agregado para esta aplicação. Quando o usuário ativa este modo, o brilho da luz diminui gradualmente em 10 minutos. Isso ajuda as pessoas que sofrem de insônia. Também é útil para quartos infantis e lojas de varejo (horário de fechamento).

Interface do Projeto

A interface do projeto tem quatro botões, que são usados como entradas do GreenPAK:

ON / OFF: liga / desliga a luz (soft-start / stop).

UP: aumenta o nível de luz.

Baixo: diminui o nível de luz.

Modo de suspensão: ao ativar o modo de suspensão, o brilho da luz diminui gradualmente ao longo de um período de 10 minutos. Isso dá ao usuário tempo antes de dormir e garante que a luz não ficará acesa a noite toda.

O sistema emitirá um sinal PWM, que será passado para um LED externo e indicador de LED de modo de espera.

O design do GreenPAK é composto por 4 blocos principais. O primeiro é um receptor UART, que recebe dados do módulo Bluetooth, extrai pedidos e os envia para uma unidade de controle. O segundo bloco é uma unidade de controle, que recebe ordens provenientes do receptor UART ou dos botões externos. A unidade de controle decide a ação necessária (LIGAR / DESLIGAR, aumentar, diminuir, habilitar o modo de hibernação). Esta unidade é implementada usando LUTs.

O terceiro bloco fornece os geradores CLK. Neste projeto, um contador FSM é usado para controlar o PWM. O valor do FSM mudará (para cima, para baixo) de acordo com as ordens dadas por 3 frequências (alta, média e baixa). Nesta seção, as três frequências serão geradas e o CLK necessário passa para o FSM de acordo com o pedido exigido; Ao ligar / desligar a operação, a alta frequência passa para FSM para partida / parada suave. Durante o escurecimento, a frequência média passa. A baixa frequência passa no modo de hibernação para reduzir o valor de FSM mais lentamente. Então, o brilho da luz diminui lentamente também. O quarto bloco é a unidade PWM, que gera pulsos para LEDs externos.

Etapa 2: Projeto GreenPAK

A melhor maneira de construir um dimmer usando GreenPAK é usando o FSM de 8 bits e um PWM. No SLG46620, FSM1 contém 8 bits e pode ser usado com PWM1 e PWM2. O módulo Bluetooth deve ser conectado, o que significa que a saída paralela SPI deve ser usada. As conexões de bits de saída paralela SPI de 0 a 7 são combinadas com saídas DCMP1, DMCP2 e LF OSC CLK, OUT1, OUT0 OSC. PWM0 obtém sua saída de FSM0 (16 bits). FSM0 não para em 255; aumenta até 16383. Para limitar o valor do contador em 8 bits, outro FSM é adicionado; FSM1 é usado como um ponteiro para saber quando o contador atinge 0 ou 255. FSM0 foi usado para gerar o pulso PWM. Como os dois valores de FSM devem ser alterados ao mesmo tempo para ter o mesmo valor, o design torna-se um pouco complexo onde em ambos os FSMs há um CLK predefinido, limitado e selecionável. CNT1 e CNT3 são usados como mediadores para passar o CLK para ambos os FSMs.

O design consiste nas seguintes seções:

- receptor UART

- Unidade de controle

- Geradores CLK e multiplexador

- PWM

Etapa 3: Receptor UART

Receptor UART
Receptor UART

Primeiro, precisamos configurar o módulo HC06 Bluetooth. O HC06 usa o protocolo UART para comunicação. UART significa Receptor / Transmissor Assíncrono Universal. O UART pode converter dados para frente e para trás entre formatos paralelos e seriais. Inclui um receptor serial para paralelo e um conversor paralelo para serial, ambos com clock separadamente. Os dados recebidos no HC06 serão transmitidos ao nosso dispositivo GreenPAK. O estado inativo do pino 10 é HIGH. Cada caractere enviado começa com um bit de início LOW lógico, seguido por um número configurável de bits de dados e um ou mais bits de parada HIGH lógicos.

O HC06 envia 1 bit START, 8 bits de dados e um bit STOP. Sua taxa de transmissão padrão é 9600. Enviaremos o byte de dados do HC06 para o bloco SPI do GreenPAK SLG46620V.

Como o bloco SPI não tem controle de bit START ou STOP, esses bits são usados para habilitar e desabilitar o sinal de clock SPI (SCLK). Quando o pino 10 fica BAIXO, o IC recebeu um bit START, então usamos o detector de borda descendente PDLY para identificar o início da comunicação. Esse detector de borda descendente clica em DFF0, que permite que o sinal SCLK sincronize o bloco SPI.

Nossa taxa de transmissão é de 9600 bits por segundo, então nosso período SCLK precisa ser 1/9600 = 104 µs. Portanto, definimos a frequência OSC para 2 MHz e usamos o CNT0 como um divisor de frequência.

2 MHz - 1 = 0,5 µs

(104 µs / 0,5 µs) - 1 = 207

Portanto, queremos que o valor do contador CNT0 seja 207. Para garantir que os dados não sejam perdidos, um atraso de meio ciclo de clock no relógio SPI é adicionado para que o bloco SPI seja cronometrado no tempo apropriado. Isso é realizado usando CNT6, LUT1 de 2 bits e o relógio externo do bloco OSC. A saída do CNT6 não aumenta até 52 µs após o DFF0 ser sincronizado, o que é exatamente a metade do nosso período SCLK de 104 µs. Quando fica alto, a porta LUT1 AND de 2 bits permite que o sinal OSC de 2 MHz passe para o EXT. Entrada CLK0, cuja saída está conectada ao CNT0.

Etapa 4: Unidade de Controle

Unidade de controle
Unidade de controle

Nesta seção, os comandos serão executados de acordo com o byte recebido do receptor UART, ou de acordo com os sinais dos botões externos. Os pinos 12, 13, 14, 15 são inicializados como entradas e são conectados a botões externos.

Cada pino é conectado internamente a uma entrada da porta OR, enquanto a segunda entrada da porta é conectada com o sinal correspondente que vem do smartphone via Bluetooth que vai aparecer na saída paralela SPI.

DFF6 é usado para ativar o modo de espera onde sua saída muda para alta com a borda ascendente vindo de LUT4 de 2 bits, enquanto DFF10 é usado para manter o status de iluminação, e sua saída muda de baixa para alta e vice-versa com cada borda ascendente chegando da saída LUT10 de 3 bits.

FSM1 é um contador de 8 bits; ele dá um pulso alto em sua saída quando seu valor atinge 0 ou 255. Consequentemente, é usado para evitar que FSM0 (16 bits) exceda o valor 255, pois sua saída zera DFFs e muda o estado de DFF10 de ligado para desligado e vice-versa se a iluminação for controlada pelos botões +, - e o nível máximo / mínimo for atingido.

Os sinais conectados às entradas FSM1 mantêm, até atingirão FSM0 através de P11 e P12 para sincronizar e manter o mesmo valor em ambos os contadores.

Etapa 5: Geradores CLK e Multiplexador

Geradores CLK e Multiplexador
Geradores CLK e Multiplexador

Nesta seção, três frequências serão geradas, mas apenas uma irá sincronizar os FSMs por vez. A primeira frequência é RC OSC, que é obtida da matriz 0 a P0. A segunda frequência é LF OSC, que também é obtida da matriz 0 a P1; a terceira frequência é a saída CNT7.

LUT9 de 3 bits e LUT11 de 3 bits permitem a passagem de uma frequência, de acordo com a saída LUT14 de 3 bits. Depois disso, o relógio escolhido é transmitido para FSM0 e FSM1 através de CNT1 e CNT3.

Etapa 6: PWM

PWM
PWM

Finalmente, o valor FSM0 se transforma em sinal PWM para aparecer através do pino 20 que é inicializado como uma saída e é conectado aos LEDs externos.

Etapa 7: Aplicativo Android

App Android
App Android
App Android
App Android
App Android
App Android

O aplicativo Android possui uma interface de controle virtual semelhante à interface real. Possui cinco botões; LIGADO / DESLIGADO, PARA CIMA, PARA BAIXO, Modo de suspensão e Conectar. Este aplicativo Android será capaz de converter o pressionamento de botões em um comando e enviará os comandos ao módulo Bluetooth para serem executados.

Este aplicativo foi feito com o MIT App Inventor, que não requer nenhuma experiência de programação. O App Inventor permite que o desenvolvedor crie um aplicativo para dispositivos Android OS usando um navegador da web conectando blocos de programação. Você pode importar nosso aplicativo para o MIT App Inventor clicando em Projetos -> Importar projeto (.aia) do meu computador e selecionando o arquivo.aia incluído com esta nota de aplicativo.

Para criar o aplicativo Android, um novo projeto deve ser iniciado. Cinco botões são necessários: um é um seletor de lista para dispositivos Bluetooth e os outros são os botões de controle. Precisamos adicionar um cliente Bluetooth também. A Figura 6 é uma captura de tela da interface do usuário de nosso aplicativo Android.

Depois de adicionar os botões, atribuiremos uma função de software para cada botão. Vamos usar 4 bits para representar o status dos botões. Um bit para cada botão, portanto, ao pressioná-lo, um número específico será enviado via Bluetooth para o circuito físico.

Esses números são mostrados na Tabela 1.

Conclusão

Este Instructable descreve um dimmer inteligente que pode ser controlado de duas maneiras; um aplicativo Android e botões reais. Quatro blocos separados são delineados no GreenPAK SLG46620V que controlam o fluxo do processo para aumentar ou diminuir o PWM de uma luz. Além disso, um recurso do modo Sleep é descrito como um exemplo de modulação extra disponível para o aplicativo. O exemplo mostrado é de baixa tensão, mas pode ser modificado para implementações de alta tensão.

Recomendado: