Índice:

Luz noturna automática do corredor da IoT com ESP8266: 4 etapas (com fotos)
Luz noturna automática do corredor da IoT com ESP8266: 4 etapas (com fotos)
Anonim
Image
Image
Reúna todos os materiais necessários
Reúna todos os materiais necessários

Comecei este projeto inspirado por uma luz de escada de outro poste instrutível. A diferença é que o cérebro do circuito está usando ESP8266, o que significa que virá um dispositivo IoT.

O que tenho em mente é ter a luz noturna do corredor para as crianças, quando elas saem do quarto, ilumina o caminho que vai ao banheiro. Para isso, estou usando o ESP8266 para detectar o movimento do sensor PIR. Usei 2 sensores PIR, um em cada ponta para a viagem de volta. Dado que o ESP8266 é compatível com IoT, também posso usar isso para detectar se há algum movimento no corredor, postando uma mensagem MQTT no Home Assistant.

Etapa 1: Reúna todos os materiais necessários

Reúna todos os materiais necessários
Reúna todos os materiais necessários
Reúna todos os materiais necessários
Reúna todos os materiais necessários

Para este projeto estou usando os seguintes materiais:

- ESP8266

- sensor PIR

- resistor de 330 Ohm que atua como o limitador de corrente

- Faixa de LED endereçável de 5 V (WS2812B)

- Conduíte elétrico para abrigar as luzes

Etapa 2: conectar o circuito

Conecte o circuito
Conecte o circuito
Conecte o circuito
Conecte o circuito
Conecte o circuito
Conecte o circuito

Estamos essencialmente conectando a linha de dados da tira de LED ao pino D2 ou ESP8266 por meio do resistor de 330 Ohm para limitar a corrente. Lembre-se de que a tensão de operação do ESP8266 é de 3,3V.

Os sensores PIR são conectados aos pinos D5 e D6, um para o sensor esquerdo e outro para o direito. Não se esqueça de conectar a alimentação do PIR e da faixa de LED a 3,3V neste caso.

Etapa 3: faça upload do código

Faça o upload do código
Faça o upload do código
Faça o upload do código
Faça o upload do código

Para que o código funcione, você precisará da seguinte biblioteca:

- Biblioteca "FastLed" de Daniel Garcia, neste caso tenho a versão 3.3.3 instalada

- TimeLib

- ESP8266Wifi

- ESP8266WebServer

- ArduinoOTA

Se você ainda não os instalou, pode instalá-los em "Ferramentas-> Gerenciar Biblioteca" na interface do Arduino.

Na seção seguinte do código

# define FASTLED_ESP8266_D1_PIN_ORDER # include "FastLED.h" FASTLED_USING_NAMESPACE

# define NUM_LEDS 30

#define LEDS_PER_STAIR 2 // Número de Leds por escada. Ainda não modificável atualmente - apenas perceptível # define BRIGHTNESS 120 // 0… 255 (usado em fade7) #define PIN_LED 04 // Pino de dados do LED (GPIO4) D2 # define PIN_PIR_DOWN 14 // PIR PIR de baixo (GPI14) D5 # define PIN_PIR_UP 12 // Pino de cima do PIR (GPI12) D6

Você pode configurar o Número de LED em sua faixa de LED, também a conexão do LEDStrip se decidir conectá-lo a um pino diferente e também o pino do sensor PIR se decidir conectá-lo a um pino diferente do MCU.

A configuração acima está localizada no arquivo "ledsettings.h".

Você pode baixar o código-fonte completo no link a seguir.

Depois de compilar o código com êxito, você pode enviá-lo para o ESP8266.

Etapa 4: teste e teste e solução de problemas

Teste e teste e solução de problemas
Teste e teste e solução de problemas
Teste e teste e solução de problemas
Teste e teste e solução de problemas

Se tudo correr bem, você deve ter luzes de corredor funcionando de que possa se orgulhar. Quando você liga o circuito pela primeira vez, a faixa de LED acenderá com alguma sequência de arco-íris. Em seguida, o ESP8266 funcionará como um ponto de acesso (AP) para permitir que você configure a conexão sem fio.

Se você estiver usando o código que eu tenho, você deve ser capaz de ver "ESP-HallLight" como o ponto de acesso. Por segurança, coloquei proteção de senha para o AP. A senha padrão é "arduino", você pode alterá-la no arquivo settings.h, na seção seguinte.

#define CLOCK_NAME "ESP-HallLight"

# define WIFI_AP_NAME CLOCK_NAME # define WIFI_APPSK "arduino" // senha padrão do AP

Uma vez conectado com sucesso usando um telefone celular ou laptop via WiFi, você deve ser capaz de apontar seu navegador para 192.168.4.1, você deve ver a tela de configurações conforme mostrado na imagem acima. Agora você pode inserir suas configurações de WiFi e, uma vez inserido, o ESP8266 será reiniciado e tentará se conectar ao WiFi. Se conseguir se conectar com sucesso, você não verá mais o ponto de acesso "ESP-HallLight".

Se você ainda estiver conectado à interface do Arduino, poderá monitorar isso por meio do monitor serial.

Nota: Você não precisa configurar o WiFi para que os sensores funcionem, ele deve funcionar após alguns segundos quando as luzes iniciais estiverem apagadas.

Para testar, você pode tentar andar de um lado ou acenar com a mão, a luz deve acender seguindo a direção da viagem, se estiver fazendo o contrário, você precisa trocar o sensor esquerdo e direito no código.

Durante minha primeira construção, eu acidentalmente conectei a extremidade errada da faixa de LED, o que resultou em nenhum dos LEDs acendendo.

Espero que gostem desta construção, se for útil, vote no concurso. Se você tiver alguma dúvida, não hesite em me enviar uma mensagem, e eu irei atendê-la assim que possível.

Pensar bem seria adicionar recursos adicionais, como:

  • Ter uma interface para girar os LEDs de forma independente do sensor, semelhante ao meu post anterior sobre a Faixa de LED controlada por Wi-Fi ou o indicador de Status da Faixa de LED.
  • Adicione um recurso adicional para postar uma mensagem MQTT no Home Assistant semelhante à postagem a seguir.

Recomendado: