Índice:

Lâmpada IoT DIY para automação residencial -- Tutorial ESP8266: 13 etapas (com imagens)
Lâmpada IoT DIY para automação residencial -- Tutorial ESP8266: 13 etapas (com imagens)

Vídeo: Lâmpada IoT DIY para automação residencial -- Tutorial ESP8266: 13 etapas (com imagens)

Vídeo: Lâmpada IoT DIY para automação residencial -- Tutorial ESP8266: 13 etapas (com imagens)
Vídeo: Automação com ESP8266 2024, Novembro
Anonim
Image
Image
Lâmpada IoT DIY para automação residencial || Tutorial ESP8266
Lâmpada IoT DIY para automação residencial || Tutorial ESP8266

Neste tutorial, vamos fazer uma lâmpada inteligente conectada à Internet. Isso vai fundo na internet das coisas e abre um mundo de automação residencial!

A lâmpada é conectada por WiFi e construída para ter um protocolo de mensagem aberta. Isso significa que você pode selecionar qualquer modo de controle que desejar! Ele pode ser controlado por meio de um navegador da web, aplicativos de automação residencial, assistentes inteligentes como Alexa ou Google Assistant e muito mais!

Como bônus, esta lâmpada acompanha um aplicativo para controlar o projeto. Aqui você pode selecionar diferentes modos de cor, esmaecer entre as cores RGB e definir temporizadores.

A lâmpada consiste em uma placa de LED e uma placa de controle. A placa de LED usa três tipos diferentes de LEDs para um total de cinco canais de LED! Isso é RGB junto com branco quente e frio. Como todos esses canais podem ser definidos individualmente, você tem um total de 112,3 combinações peta!

Vamos começar!

[Reproduzir vídeo]

Etapa 1: Peças e Ferramentas

Peças e Ferramentas
Peças e Ferramentas

Peças

  • Wemos D1 Mini
  • 15 x LEDs brancos quentes 5050
  • 15 x LEDs 5050 brancos frios
  • 18 x RGB 5050 LEDs
  • 6 x 300 ohms 1206 resistores
  • 42 x 150 ohm 1206 resistores
  • 5 x resistores de 1k ohm
  • 5 x NTR4501NT1G

    MOSFETs

  • Regulador de tensão linear, 5V
  • PCB

    Baixe os arquivos gerber na etapa de circuito para fazer seus próprios PCBs

  • PSU 12V 2A

Ferramentas

  • Ferro de solda
    • Lata de solda
    • Fluxo de solda líquido
  • Fita adesiva
  • Fita dupla face
  • impressora 3d
  • Decapantes de arame

Etapa 2: O Plano

O plano
O plano

O projeto completo consiste em quatro partes principais:

  1. O circuito

    O circuito é feito em um PCB. O circuito completo consistirá em mais de 100 componentes individuais. É um grande alívio não conectar tudo isso manualmente em um perfboard

  2. Código Arduino

    Estou usando o Wemos D1 Mini que usa um ESP8266 como um microcontrolador conectado por WiFi. O código iniciará um servidor no D1. Quando você visita o endereço deste servidor, o D1 irá interpretar isso como comandos diferentes. O microcontrolador então atua neste comando para definir as luzes de acordo

  3. Controle remoto

    • Fiz um aplicativo só para este projeto para tornar o mais fácil possível o controle da lâmpada ao seu gosto
    • A lâmpada inteligente pode realmente ser controlada por qualquer coisa capaz de enviar uma solicitação http GET. Isso significa que a lâmpada aceita comandos de quase uma gama ilimitada de dispositivos
  4. impressao 3D

    Esta lâmpada inteligente merece uma capa de aparência legal. E como em tantos projetos em que você precisa de uma caixa legal, a impressão 3D vem em seu socorro

Etapa 3: circuito

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

Encomendei meus PCBs em jlcpcb.com. Tempo total de divulgação: eles também patrocinaram este projeto.

O PCB consiste em duas partes. Possui placa de LED e placa de controle. O PCB pode ser separado para posteriormente conectar essas duas partes por meio de um fio flexível. Isso é necessário para manter a lâmpada impressa em 3D fina e inclinar a placa de LED para espalhar a luz uniformemente pela sala do orifício.

A placa de controle aloja o microcontrolador D1 junto com cinco MOSFETs para escurecer os LEDs e um regulador de tensão para dar ao microcontrolador um 5V suave.

A placa de LED possui cinco canais de LED em três tipos diferentes de LEDs. Como usamos uma fonte de alimentação de 12 V, os LEDs são configurados como três LEDs em série com um resistor e repetidos 16 vezes em paralelo.

Um LED branco regular normalmente consome 3,3 V. Em um segmento da placa, três desses LEDs estão em série, o que significa que a queda de tensão é agregada ao circuito. Três LEDs que consomem 3,3 V cada significa que um segmento de LEDs consome 9,9 V. O circuito é alimentado por 12 V, de modo que sobra 2,1 V.

Se o segmento consistisse apenas em três LEDs, eles obteriam mais tensão do que dissipariam. Isso não é bom para os LEDs e pode danificá-los rapidamente. É por isso que cada segmento também possui um resistor em série com todos os três LEDs. Este resistor existe para reduzir os 2,1 V restantes na junção em série.

Portanto, se cada segmento é responsável por 12 V, isso significa que cada um dos segmentos está conectado entre si em paralelo. Quando os circuitos são conectados em paralelo, todos recebem a mesma voltagem e a corrente é agregada. A corrente em uma conexão em série é sempre a mesma.

Um LED normal consome 20 mA de corrente. Isso significa que um segmento, que é três LEDs e um resistor em série, ainda consumirá 20 mA. Quando conectamos vários segmentos em paralelo, adicionamos a corrente. Se você cortar seis LEDs da faixa, terá dois desses segmentos em paralelo. O que significa que seu circuito total ainda consome 12 V, mas consomem 40 mA de corrente.

Etapa 4: LEDs de soldagem

LEDs de soldagem
LEDs de soldagem
LEDs de soldagem
LEDs de soldagem
LEDs de soldagem
LEDs de soldagem

Depois de tentar algumas coisas, descobri que a fita adesiva simples é a mais eficaz e flexível para evitar que o PCB se mova.

Para peças com vários pinos, como os 6 pinos em um LED 5050, começo colocando solda em uma das placas de PCB. Em seguida, é só uma questão de manter essa solda derretida com o ferro de solda enquanto desliza o componente em seu lugar com uma pinça.

Agora, as outras almofadas podem ser facilmente fixadas com um pouco de solda. No entanto, para acelerar este trabalho, sugiro pegar um pouco de fluxo de solda líquido. Eu realmente não posso recomendar essas coisas o suficiente.

Aplique um pouco do fluxo nas almofadas de solda e, em seguida, derreta um pouco de solda na ponta do seu ferro de solda. Agora é só uma questão de colocar a solda derretida nas almofadas e tudo flui no lugar. Bom e simples.

Quando se trata de resistores e outros componentes de duas pastilhas, nenhum fluxo de solda é realmente necessário. Aplique solda em uma das almofadas e coloque o resistor no lugar. Agora apenas derreta um pouco de solda na almofada número dois. Mole-mole.

Dê uma olhada na quinta foto nesta etapa. Preste atenção à orientação dos LEDs. Os LEDs brancos quentes e frios têm seu entalhe orientado no canto superior direito. Os LEDs RGB têm seu entalhe no canto esquerdo inferior. Este é um erro de design da minha parte, porque não consegui encontrar o datasheet dos LEDs RGB usados neste projeto. Bem, viva e aprenda e tudo mais!

Etapa 5: Placa de Controle de Solda

Placa de controle de solda
Placa de controle de solda
Placa de controle de solda
Placa de controle de solda
Placa de controle de solda
Placa de controle de solda
Placa de controle de solda
Placa de controle de solda

Depois de terminar a maratona da placa de LED, a placa de controle é muito fácil de soldar. Coloquei os cinco MOSFETs e resistores porta-fonte correspondentes, antes de passar para o regulador de tensão.

O regulador de tensão possui espaços opcionais para alisar capacitores. Enquanto os soldava nesta foto, acabei removendo-os porque não eram realmente necessários.

O truque para obter uma placa de controle fina é colocar os cabeçotes dos pinos de cima para baixo. Depois que os pinos estiverem no lugar, o comprimento não utilizado pode ser cortado da parte traseira junto com o plástico preto. Isso torna o lado inferior completamente liso.

Com todos os componentes no lugar, é hora de juntar as duas placas. Acabei de cortar e descascar seis pequenos fios de 2,5 polegadas (7 cm) e conectar os dois PCBs.

Etapa 6: configuração de WiFi

Configuração de WiFi
Configuração de WiFi
Configuração de WiFi
Configuração de WiFi

Existem seis linhas simples no código que você precisa alterar.

  1. ssid, linha 3

    Nome do seu roteador. Certifique-se de acertar a caixa das letras ao escrever isto

  2. wifiPass, linha 4

    A senha do seu roteador. Novamente, preste atenção ao revestimento

  3. ip, linha 8

    O endereço IP estático da sua lâmpada inteligente. Escolhi um endereço IP aleatório na minha rede e tentei fazer o ping na janela de comando. Se não houver resposta do endereço, você pode assumir que está disponível

  4. gateway, linha 9

    Este será o gateway do seu roteador. Abra uma janela de comando e digite "ipconfig". O gateway e a sub-rede estão circulados em vermelho na imagem

  5. sub-rede, linha 10

    Tal como acontece com o gateway, esta informação está circulada na imagem para esta etapa

  6. timeZone, linha 15

    O fuso horário em que você está. Altere isso se quiser usar as funções de temporizador integradas para ligar e desligar as luzes em horários específicos. A variável é um simples sinal positivo ou menos GMT

Etapa 7: Código do microcontrolador

Código do microcontrolador
Código do microcontrolador
Código do microcontrolador
Código do microcontrolador
Código do microcontrolador
Código do microcontrolador
Código do microcontrolador
Código do microcontrolador

Depois de alterar todas as configurações relevantes na etapa anterior, é finalmente hora de fazer o upload do código para o Wemos D1 Mini!

O código do arduino requer algumas bibliotecas e dependências. Primeiro, siga este guia do sparkfun se você nunca carregou o código do IDE do arduino para um ESP8266.

Agora baixe a biblioteca Time e a biblioteca TimeAlarms. Descompacte-os e copie para a pasta da biblioteca do arduino em seu computador. Assim como instalar qualquer outra biblioteca do Arduino.

Preste atenção às configurações de upload na imagem nesta etapa. Selecione a mesma configuração, exceto a porta de comunicação. Essa será a porta de comunicação à qual o microcontrolador está conectado ao computador.

Quando o código é carregado, abra o terminal serial para uma mensagem de uma conexão, esperançosamente, bem-sucedida! Agora você pode abrir seu navegador e visitar o endereço IP estático que você salvou no microcontrolador. Parabéns, você acabou de construir seu próprio servidor e está hospedando uma página da web nele!

Etapa 8: Abra o protocolo de mensagem

Protocolo de Mensagem Aberta
Protocolo de Mensagem Aberta
Protocolo de Mensagem Aberta
Protocolo de Mensagem Aberta
Protocolo de Mensagem Aberta
Protocolo de Mensagem Aberta
Protocolo de Mensagem Aberta
Protocolo de Mensagem Aberta

Quando você controla a lâmpada inteligente com o aplicativo, todas as mensagens são tratadas para você automaticamente. Aqui está uma lista das mensagens que a lâmpada aceita, se você deseja construir seu próprio controle remoto. Usei um exemplo de endereço IP para ilustrar como usar os comandos.

  • 192.168.0.200/&&R=1023G=0512B=0034C=0500W=0500

    • Define as luzes vermelhas para o valor máximo, as luzes verdes para a metade e as azuis para 34. O branco frio e quente mal acende
    • Ao inserir valores, você pode escolher entre 0 e 1023. Sempre escreva os valores de luz como quatro dígitos no URL
  • 192.168.0.200/&&B=0800

    Define as luzes azuis para o valor 800 enquanto desliga simultaneamente todas as outras luzes

  • 192.168.0.200/LED=OFF

    Apaga todas as luzes completamente

  • 192.168.0.200/LED=FADE

    Começa a desaparecer lentamente entre todas as cores RGB possíveis. Perfeito para um ambiente

  • 192.168.0.200/NOTIFYR=1023-G=0512-B=0000

    Pisca a cor fornecida duas vezes para indicar a notificação recebida. Perfeito se você deseja, digamos, criar um programa em seu computador para piscar a lâmpada vermelha sempre que você receber um novo e-mail

  • 192.168.0.200/DST=1

    • Ajusta o relógio para o horário de verão. Adiciona uma hora ao relógio
    • / DST = 0 use isto para voltar do DST, remove uma hora do relógio se o DST estiver ativo
  • 192.168.0.200/TIMER1H=06M=30R=1023G=0512B=0034C=0000W=0000

    Salva o estado para o temporizador 1. Este temporizador irá ligar os valores RGB dados às 06:30 da manhã

  • 192.168.0.200/TIMER1H=99

    Defina a hora do cronômetro para 99 para desativá-lo. Os valores RGB ainda estão armazenados, mas o cronômetro não acenderá as luzes quando a hora estiver definida para 99

  • A lâmpada possui quatro temporizadores individuais. Altere "TIMER1" para "TIMER2", "TIMER3" ou "TIMER4" para ajustar um dos outros temporizadores integrados.

Estes são os comandos internos atualmente. Deixe um comentário se você tiver alguma ideia legal para novos comandos a serem construídos no código do arduino ou no aplicativo remoto!

Etapa 9: controle remoto

Controle remoto
Controle remoto
Controle remoto
Controle remoto
Controle remoto
Controle remoto
Controle remoto
Controle remoto

Clique aqui para baixar o aplicativo. A configuração é super fácil, basta inserir o endereço IP da sua lâmpada inteligente e selecionar se deseja controlar apenas LEDs RGB ou RGB + LEDs brancos quentes e frios.

Conforme explicado na etapa anterior, agora você sabe qual protocolo de mensagem o aplicativo está usando. Ele está enviando uma solicitação http GET com os URLs. Isso significa que você também pode criar seu próprio circuito de microcontrolador e ainda usar este aplicativo para controlar as funções que desenvolve por conta própria.

Como realmente analisamos profundamente o protocolo de mensagem, você também pode controlar a lâmpada inteligente por qualquer coisa capaz de enviar uma solicitação HTTP GET. Isso significa qualquer navegador em um telefone ou computador, ou dispositivos domésticos inteligentes ou assistentes como Alexa ou o Google Assistant.

Tasker é um aplicativo que basicamente permite criar condições para controlar quase tudo. Usei isso para acender a lâmpada inteligente com a cor de uma notificação quando a recebo no meu telefone. Eu também configurei o tasker para ligar as luzes totalmente brancas, quando o telefone se conecta à minha rede Wi-Fi depois das 16:00 em um dia de semana. Isso significa que as luzes se acendem automaticamente quando eu chego em casa da escola. É muito legal voltar para casa com as luzes acesas automaticamente!

Etapa 10: Impressão 3D

impressao 3D
impressao 3D

A caixa da lâmpada em si pode ser impressa quase completamente sem suportes. As únicas peças que realmente precisam de suporte são os pinos destinados a serem acoplados ao PCB. Por isso, disponibilizei o stl com e sem uma pequena estrutura de suporte apenas para esses pinos. A vantagem de usar este suporte personalizado é que a impressão é muito mais rápida! E só temos suporte de impressão nas peças que realmente precisam.

Você pode baixar os arquivos.stl aqui

Etapa 11: Junte tudo isso

Junte tudo isso
Junte tudo isso
Junte tudo isso
Junte tudo isso
Junte tudo isso
Junte tudo isso

Após a impressão 3D, comece removendo o suporte de impressão. Os cabos de alimentação vão para canais separados e são amarrados juntos. Este nó criará alívio de tensão, evitando que os cabos sejam arrancados do PCB. Solde os cabos de alimentação na parte traseira do PCB e certifique-se de obter a polaridade correta!

O PCB de controle é então preso com um pedaço de fita adesiva para mantê-lo alinhado dentro da caixa. A placa de circuito impresso de LED pode ser simplesmente colocada em seu lugar, de forma que fique plana contra a caixa por conta própria.

Etapa 12: Pendurar a lâmpada

Pendurando a Lâmpada
Pendurando a Lâmpada
Pendurando a Lâmpada
Pendurando a Lâmpada
Pendurando a Lâmpada
Pendurando a Lâmpada

Existem muitas opções para pendurar esta lâmpada na parede. Como eu poderia atualizar continuamente o código para melhorar a lâmpada, eu queria uma maneira de derrubar a lâmpada de vez em quando. Você pode usar cola quente, mas eu recomendo um pouco de fita dupla-face. É melhor usar a fita dupla-face espessa e espumosa, pois ela segura a lâmpada da melhor maneira possível contra uma parede texturizada.

Etapa 13: Concluída

Finalizado
Finalizado
Finalizado
Finalizado
Finalizado
Finalizado

Com a lâmpada na parede e pronto para aceitar comandos, isso significa que está tudo pronto!

O painel de LED é inclinado de forma a dispersar a luz por igual na sala. É um ótimo complemento para qualquer espaço de trabalho e a capacidade de integração com a automação residencial é uma grande vantagem. Eu realmente gosto da capacidade de definir cores RGB, bem como ajustar os equilíbrios de branco entre luz fria e quente. Tem um aspecto elegante e é uma grande ajuda para definir as luzes ambientais ou de trabalho, para se adequar a quaisquer necessidades de iluminação que tenho no momento.

Parabéns, agora você deu um grande salto no mundo da IoT e da automação residencial!