Babá Eletrônica com ESP32Cam

Nesse BlogPost vou contar a aventura que foi construir uma Babá Eletrônica usando ESP32Cam.

Caso você não saiba, eu faço lives na Twitch, lá converso com o pessoal enquanto vou desenvolvendo projetos, seja de Impressão 3D, de Arduino e de um monte de coisas bacanas.

Babá ELetronica (FilipeFlop)

No ano passado recebi a noticia que seria tio novamente, e como à alguns meses antes havia encomendado alguns ESP32Cam para o projeto do Time-Lapse, que você pode conhecer mais clicando aqui, surgiu então a ideia de bolar uma babá eletrônica para meu novo sobrinho, muito baseado no projeto de Babá Eletrônica da FilipeFlop, porém queria fazer algumas coisas “a mais”.

Como sempre quando se inventa moda, vem um montão de coisas “a mais pra fazer” e com isso um montão de problemas aprendizados também.

TTGO Camera

No começo o projeto iria usar um TTGO Camera, pois essa plaquinha tinha alguns recursos bem legais, como microfone, sensor de movimento (PIR), lentes olho de peixe e possibilidade de pedir a camera sem o filtro de IR, o que faria ser possível ela “enxergar no escuro”, o que para uma Babá Eletrônica parece ser um recurso bem interessante ;).

Enquanto a TTGO Camera não chegava, fui testando alguns recursos do ESP32Cam mesmo, e já deixo a dica aqui: – quando for comprar seu ESP32Cam, escolha comprar junto um ESP32Cam MB (Mother Board, uma plaquinha que tem o USB para programar o ESP32Cam) ou então um ESP32Cam que já vem com um conversor Serial USB integrado , visto que ninguém merece ficar fazendo aqueles jumpers com o FTDI pra programar o ESP… (eu sei que funciona, mas é tão chato! 😛 )

O Sketch padrão de demonstração da Camera do ESP32 já é bem legal, porém tem várias opções estranhas, que precisei dar uma buscada na internet até entender quais eu deveria alterar pra funcionar na nova placa, e para configurar as qualidades que gostaria para as fotos/vídeos. Aqui uma menção ao Randon Nerd Tutorials e a excelente documentação para diversos MCUs, dentre eles o ESP32Cam.

Opções “aprendidas”, hora de começar a pensar nos recursos que gostaríamos para o projeto.

Características desejadas

Durante a live conversando com o pessoal do chat, fiz uma lista do que seria legal ter no projeto, veja abaixo os pontos:

  • Integração com a Alexa
  • Acessar o Stream de vídeos via Browser
  • Acessar o Stream de vídeos no celular (preferencialmente de um aplicativo, ou um WPA)
  • Aplicativo de Celular para ver o stream
  • Poder mandar notificações de eventos através da Alexa (Movimentação (sensor PIR))
  • Aplicativo de controle (visualização da Camera, ascender e apagar luzes)
  • Detecção de choro (usando o microfone)
  • Modelo 3D “Legal” Urso com Camera

Como eu disse, cheio das “coisas a mais” 😀

Nem tudo deu certo, fiz diversas PoCs (Provas de conceito) para verificar como fazer essas implementações e então vi que consegui implementar algumas das características mas algumas idéias precisaram ser pivotadas, mas no geral ficou bem legal.

Vamos agora ver como ficou o projeto!

Projeto 3D para o Case

Nesse projeto travamos diversas batalhas, uma delas foi a batalha de não fazer uma caixa quadrada e colocar o eletrônico dentro, queria aprender a modelar algo mais “fluido”, e então depois de vários vídeos na internet, tivemos a primeira versão um pouco menos “quadrada”, veja:

Como você pode perceber, é um quadrado, mas não um quadrado qualquer, já tem ali uma “carinha” com direito até a um nariz, e digo mais, ficou bem legal, do lado temos o recorte para o botão de liga e desliga, abaixo dele um espaço para o conector USB, além de um suporte para prender a Babá no berço.

Aqui está uma versão impressa do desenho, ficou bem bacana, ainda que alguns detalhes ainda seriam acertados, porém ficou grandão, porque esse desenho contemplava um pack de bateria 18650 com seis “pilhas” com todo o hardware de controle (BMS + Carregador + Regulador de tensão), enfim, “Grande”… E daqui temos um aprendizado, depois de montar todo o pack de bateria e testar quanto tempo de autonomia a Babá Eletrônica teria, descobri que seria menos do que 8 horas ligados, caso a luz de Infra Vermelho ficasse todo o tempo acessa, logo seria bem chato precisar carregar todo dia, no caso de usar no modo “bateria”.

Então resolvi remover o modo “bateria” da Babá, o que resultou em sobra de espaço, logo seria necessário um novo case, ainda na ideia de não ser um “quadradão” criei a proposta acima

Esse case não ficou tão legal quando o primeiro, mas resolvemos o problema do “tamanho”, digo, da espessura do anterior, ficando mais estreito, já que não precisava deixar o espaço para o pack de baterias.
Agora como eu disse, quero ressaltar o aprendizado, fiz a modelagem no Fusion360 e a primeira tomou um tempão até sair alguma coisa, já a segunda foi bem mais rápido, ainda que ela tenha menos detalhes, e já ganhou algumas medidas vindas da “irmã mais velha”.
Mas adivinhe, esse não foi o case final, … em um final de semana resolvi abrir Live e refazer o case, estava achando que ele poderia ficar “BEM” menor, foi então que projetei o case final… Lógico que tudo motivado pelo tamanho da placa, que também foi diminuindo, mas essa história ficará mais abaixo :D.

Olha só que cute-cute essa Babá Eletrônica diminuta. Muito menor do que as outras, direto ao ponto, e todo trabalhado nas curvas 😀

Olá, Eu sou a “LeviCAM”

Finalmente, ai está a versão final! 😀 – O que achou?

Projeto Eletrônico

Esse acredito ter sido a primeira coisa que fizemos depois que definimos as características da Babá Eletrônica, e o projeto em si, é bem simples, os desafios aqui foram em como produzir a plaquinha no estilo “Do-It-Yourself” e depois no formato “Do-It-Yourself Gourmet”

O esquemático

Projeto mais simples, praticamente impossível.

Como você pode ver, o projeto não tem complexidade alguma, basicamente ESP, um transistor e alguns conectores para ligar a Luz, o Botão de liga e desliga e o Led IR. Daria até pra soldar direto no ESP, mas ai não teria complicação, e como não gostamos disso, resolvemos por fazer uma PCB que nos primeiros testes foram em plaquinhas ilhadas e depois passaram a ser produzida em uma CNC (3018 Pro)

EasyEDA

Esse foi o desenho final da plaquinha, que ficou compacta e permitiu que nosso case diminuísse muito de tamanho, e a versão usinada da placa ficou assim:

Logico que deu trabalho, até gerou aqui no blog o post sobre os parâmetros usados no FlatCam para a produção da plaquinha, confere aqui.

PCB

Aplicativo

Feito tudo isso, como ver a imagem da camera ?

-> Vamos criar um aplicativo para isso: “Topo, porque não”.. já diria o Zina

Como programar Java/Android/Kotlin/ReactNative/QqTeconologia não estava muito nos planos, e depois de receber a excelente dica do José Clayton, conheci o Kodular, uma versão mais bonita do MIT App Inventor e fiz toda a interação utilizando essa plataforma, que facilita bastante a programação do aplicativo, vou deixar algumas telas do projeto pra você ver como é:

No aplicativo fiz uma visualização da página que mostra o vídeo, além de uma opção para ascender e apagar a luz, bem básico porém bem útil. Assim estando na mesma rede, a pessoa será capaz de visualizar a camera.

Aqui está o Github do projeto, com os códigos da parte de hardware.

Ligações

Abaixo um diagrama simples de como ficaram as ligações

Só uma ilustração das ligações (verificar ligações corretas na PCB)

Para finalizar!

Esse post ficou gigante né 😀

Valeu por chegar até aqui! e se ficou alguma dúvida, deixa um comentário, lança um sinal de fumaça, pergunta.
Terei o prazer de responder!

So long and thanks for all the fish

Deixe um comentário