Índice:

Árvore de Natal NeoPixel controlada por Bluetooth: 5 etapas
Árvore de Natal NeoPixel controlada por Bluetooth: 5 etapas

Vídeo: Árvore de Natal NeoPixel controlada por Bluetooth: 5 etapas

Vídeo: Árvore de Natal NeoPixel controlada por Bluetooth: 5 etapas
Vídeo: Bluetooth RGB strip for HNY 2024, Julho
Anonim

Você está se perguntando como adicionar IoT (Internet of Things) em sua árvore de Natal este ano? Bem, é totalmente possível! Eu pessoalmente chamo este projeto de "ArduXmas", e consiste em uma faixa de led RGB NeoPixel controlada por uma placa Arduino via Bluetooth. Este é um projeto amigável para iniciantes e uma ótima introdução ao Arduino e IoT, então pegue suas ferramentas e vamos lá!

Suprimentos:

Para este projeto, você precisará de:

  • Arduino (usei o Nano, mas qualquer versão funcionará, apenas certifique-se de ligar a placa corretamente)
  • Fita LED NeoPixel WS2812b
  • Módulo de Bluetooth HC-06
  • Fonte de alimentação 5V 2A DC
  • Conector / Tomada de Energia do Barril DC
  • Placa de fenolito para segurar os componentes
  • Caixa de proteção
  • Smartphone Android com aplicativo Blynk instalado

Etapa 1: O circuito

O circuito
O circuito
O circuito
O circuito
O circuito
O circuito

A eletrônica deste projeto é muito simples. O Arduino, o módulo Bluetooth e a faixa de LED são alimentados pela fonte de 5 V (certifique-se de que todos os GNDs estejam conectados juntos). A placa Arduino é alimentada pela porta de 5 V (ATENÇÃO: Ligar o Arduino usando a porta de 5 V pode danificar sua placa se você não tomar cuidado. Certifique-se de usar uma fonte de alimentação regulada de 5 V e não misture os + 5 V e fios GND). A corrente fornecida por sua fonte de alimentação dependerá do comprimento de sua faixa de LED. Estou usando 180 leds com 40% do brilho total e 2 amperes estão resistindo bem, mas sempre certifique-se de fornecer a corrente necessária (LEMBRE-SE: Cada LED RGB usa cerca de 20mA + 20mA + 20mA = 60mA).

O módulo HC-06 Bluetooth é conectado aos pinos 0 e 1 (RX, TX) do Arduino, basta lembrar que para usar este módulo, o pino RX do HC-06 é conectado ao TX do Arduino e o pino TX do HC-06 é conectado ao RX do Arduino. São os pinos de conexão serial da placa, e são usados para receber os comandos do smartphone. Eu adicionei uma chave para ligar / desligar facilmente o módulo, portanto, posso desligá-lo ao programar a placa, caso contrário, o computador não pode se comunicar com o Arduino.

No circuito, o pino de saída de dados que vai para a faixa de LED é o pino digital 2, mas você pode escolher qualquer pino PWM e alterá-lo de acordo com o código (LEMBRETE: as faixas de LED do NeoPixel têm uma direção para o sinal de dados. Sempre procure o ícones de seta em sua tira).

Para fazer as conexões, estou usando uma placa de fenolita com orifícios para que seja fácil de soldar e desmontar no próximo ano.

Etapa 2: o gabinete

The Enclosure
The Enclosure
The Enclosure
The Enclosure
The Enclosure
The Enclosure

Para o gabinete, estou usando apenas um gabinete de fonte de alimentação de um notebook antigo que se encaixa perfeitamente nos componentes. Prenda tudo com cola quente e deixe buracos para a porta USB do Arduino, switch do HC-06, conector DC e conector de faixa de LED.

Etapa 3: aplicativo Blynk

Blynk App
Blynk App
Blynk App
Blynk App
Blynk App
Blynk App

Para comunicação com o Arduino, estamos usando o aplicativo Blynk. Com o Blynk você pode facilmente criar interfaces para enviar dados do smartphone para o hardware ou vice-versa, também é possível controlar diretamente as portas do microcontrolador sem alterar uma linha de código!

AVISO LEGAL: Infelizmente este aplicativo só funcionará para smartphones Android porque o recurso Bluetooth ainda está em Beta e não disponível para IOS, isso também significa que não será possível exportar o projeto como um aplicativo independente.

Configure seu aplicativo para receber o token de autenticação para seu projeto em sua caixa de entrada de e-mail (esta autenticação será necessária posteriormente no código do Arduino). O site do Blynk tem um ótimo tutorial passo a passo sobre isso, dê uma olhada:

Para este projeto, estou usando dois botões para ativar 2 animações de luz pré-codificadas; um componente RGB para definir a cor da faixa de LED; um controle deslizante para controlar o brilho e um componente bluetooth para conectar ao Arduino. Verifique as imagens para ver como cada componente está configurado. Preste atenção aos pinos usados para este projeto, pois estamos usando os pinos virtuais de Blynk, este é um bom recurso que permite enviar dados do app para o hardware. Para obter mais informações sobre os Pins virtuais:

Etapa 4: Código Arduino

Código Arduino
Código Arduino

É hora de fazer algum código! O arquivo que forneci tem a estrutura básica para executar o projeto, mas você pode alterá-lo como desejar. Para que funcione corretamente, no entanto, você precisa substituir o char auth pelo token que recebeu na caixa de entrada de e-mail. Lembre-se também de alterar as variáveis LED_PIN e LED_COUNT de acordo com sua configuração.

O comportamento dos LEDs é ditado pela variável anim que muda quando uma solicitação é recebida pelo aplicativo. Você pode adicionar quantas possibilidades de animações desejar, basta adicionar sua função à estrutura do switch na função toggleAnimation () e atribuir a leitura do pino virtual correspondente no topo do código.

A animação rodando em loop () está ligada a um cronômetro rodando em intervalos de 100ms. Isso é necessário e não recomendo alterá-lo, porque interfere no comando Blynk.run () e a conexão é encerrada se a biblioteca Blynk detectar muitas solicitações em um curto período de tempo.

Recomendado: