Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
O Projeto Totoro é um bom projeto IoT que você pode copiar em muitas outras formas diferentes.
Usando a placa ESP01, com o protocolo MQTT, você pode comunicar o status do botão ao MQTT Broker (no meu caso, AdafruitIO).
Um guia útil para MQTT e Adafruit:
Você pode usar cada MQTT Broker que desejar e o mesmo para a função do botão.
Como funciona?
Todos os dispositivos da rede são conectados ao MQTT Broker e leem o canal chamado "love_box".
Quando você pressiona o botão em um dispositivo, ele envia uma mensagem no canal e os outros dispositivos piscam o led. Até que você não pressione o botão, o dispositivo pisca.
Com este sistema você pode enviar um pequeno "blare" para outro dispositivo.
Etapa 1: os materiais
Para criar este projeto você precisa de alguns materiais:
-
Placa ESP01
Útil - O programador para ESP01 (DIY)
-
Modelo 3D
- Totoro - https://goo.gl/n3mAsi -
- Meshmixer - https://goo.gl/qqMzh - para modelar qualquer modelo 3D
-
Componentes eletrônicos
- Regulador de tensão LM317
- Resistores: 150ohm, 270ohm, 10K e 68ohm.
- Capacitores: 10uF
- Led - ou led interno -
- Mini interruptor de botão de pressão
- Solda
- Protoboard
- Cabeçalhos femininos
- Filamento 3D transparente
- Fonte de energia
Conector BNC - https://goo.gl/DrD8k2 -
- Alguns fios
Etapa 2: Faça o protoboard
O poder da placa:
Pegue o protoboard e solde os componentes de acordo com a primeira foto.
Essa configuração permitiu que o LM317 - https://goo.gl/VtzNz - produzisse cerca de 3,4 volts para o ESP01.
Pergunta: por que não consigo usar o LM7805?
Resposta: a série LM780x não funciona com menos de 5 volts e não pode produzir 3,3 volts.
Ao terminar, verifique a tensão de saída com o multímetro. Deve ter cerca de 3,4 volt e 4,3 volt.
Como fonte de alimentação, você pode usar uma fonte de alimentação de 5 V ou maior. Eu recomendo que você não use mais de 9 volts, ele emite muito calor - perda de energia -!
O quadro:
A ESP01 é uma placa da série ESP, é pequena e prática, mas não muito amigável.
Lembre-se, você não pode usar os pinos do Arduino para se comunicar diretamente com o ESP01, porque ele é tolerante a pinos de 3,3 volts.
É um programador muito útil feito para programar o ESP01 com um FTDI:
Use a segunda imagem como um guia e lembre-se das funções especiais dos pinos, terceira imagem, vista no guia acima.
Para mais informações, leia os primeiros passos deste guia:
Se você é italiano, pode ler meu guia do ESP01 e FTDI DIY:
Conclua o Protoboard:
A quarta imagem é o final do projeto no protoboard.
Eu recomendo fortemente os conectores fêmeas para conectar a placa ao protoboard. Caso algo dê errado, você pode reconectar outra placa.
Não conecte o botão e o resistor dela, faremos isso depois.
Etapa 3: MQTT Broker - Adafruit IO
O MQTT Broker é um "servidor" para todas as suas mensagens, de e para os dispositivos. Dê uma olhada na primeira imagem.
Para obter mais informações, use este guia útil:
No meu caso, eu uso o Adafruit IO, mas você pode usar qualquer MQTT Broker que desejar.
Acesse o Adafruit IO e faça o cadastro.
Agora você precisa criar um novo painel e:
-
Adicionar feed - https://goo.gl/z2Npto -
Pois meu código é "love_box"
-
Adicionar blocos - https://goo.gl/YJsCqX -
- Botão momentâneo: link para "love_box" com Press Value = 1 e Release Value = 0
- Gráfico de linha: link para "love_box" com Mínimo do eixo Y = 0 e Máximo do eixo Y = 2
No final, você terá algo parecido com a segunda imagem.
Pergunta: por que é tão importante o nome "love_box" no painel?
Resposta: no MQTT Broker - Ada IO - você criou o canal chamado "love_box", e se no código você usou um canal diferente, o MQTT não funcionará.
A última etapa no MQTT Broker - Ada IO - é a "CHAVE AIO". No painel, clique na pequena tecla superior direita.
Agora copie o "nome de usuário" e a "chave ativa" e escreva-os no código do Arduino.
Etapa 4: Código Arduino
Instale ESP Core para Arduino IDE:
O guia principal é este: https://goo.gl/yAqlU4 e siga o “Instalando com Gerenciador de Placas”.
Agora dê uma olhada na primeira imagem. A versão preta do ESP01 tem um tamanho de disco flash de 1 MB e a versão azul tem 512k. O que significa? Olhe para a segunda imagem, você precisa selecionar o "tamanho do Flash" correto.
O código do Arduino está neste repositório: Código muito claro para ler.
Lembre-se de editar:
- AIO_USERNAME
- AIO_KEY
- Wifi_number
Se você decidiu editar o canal "Adafruit_MQTT_Publish" e "Adafruit_MQTT_Subscribe", você deve editar as mesmas linhas e as chamadas no código.
Etapa 5: Meshmixer e impressão 3D
Modelo 3D
Para o meu projeto, preciso de um modelo 3D do Totoro.
Eu o encontrei no thingiverse, neste link:
Você pode usar todos os modelos 3D que quiser, as próximas etapas são as mesmas.
Concha
É hora de instalar o Meshmixer. Com esta ferramenta poderosa, você pode fazer o shell para o seu projeto.
Importe no Meshmixer o Totoro STL, e use a ferramenta Hollow:
Na mesma ferramenta, lembre-se de fazer um Escape Holes nas costas.
Agora você precisa cortar o modelo pela metade usando a ferramenta Plane Cut:
Use o botão exportar para exportar a parte inferior.
No final, você deve cortar a orelha. Selecione a orelha e use a ferramenta Separar - cinco imagens -.
Use o botão de exportação para exportar a orelha.
Volte para a metade superior do modelo e use a ferramenta Apagar e Preencher: https://goo.gl/d4LR76 - seis imagens -.
Impressão 3D
Prefiro imprimir as peças uma de cada vez, lembre-se de usar o filamento 3D transparente!
Etapa 6: Montagem
Faça um furo no topo da cabeça. Este furo é necessário para colocar dentro do botão.
Bloqueie o botão com a cola quente, e teste a conexão com um multímetro em modo de continuidade.
Pegue a orelha e acrescente um pedacinho no fundo, usando hot blue ou super attack. Corte a peça se estiver muito alta.
Agora você pode conectar o botão e seu resistor de acordo com o esquema na etapa 2.
Primeiro teste
Lembre-se de não fechar o modelo 3D antes de testar o funcionamento correto!
Pressione o botão no Adafruit IO e o led interno deve piscar, até que você pressionou o botão na orelha.
Repita o teste com o botão na orelha.
Etapa 7: pronto para ir
Finalmente, este é o resultado final.
- Questão: você utilizou o led interno ou o led vermelho externo?
- Resposta: nesta foto e vídeo usei o led interno. Para esclarecer melhor, o LED vermelho é o led de força - não dá para desligar - e o LED azul é o led interno. O led interno e o led externo, no meu esquema, é o mesmo pino.
- Pergunta: posso usá-lo na rede desconhecida?
- Resposta: não, você não pode. Você deve reprogramar o ESP01, pois esta placa não tem espaço para OTA.
Muita informação para o OTA:
Mas você pode fazer isso de maneira espessa: adicione um ID de conexão especial e uma senha para o seu Hotspot pessoal no seu telefone!