Índice:
- Etapa 1: Ferramentas e materiais
- Etapa 2: desmentindo a unidade original
- Etapa 3: Circuito explicado
- Etapa 4: Preparando o ATTiny85
- Etapa 5: Construindo o Escudo Wemos
- Etapa 6: Preparando os Wemos
- Etapa 7: juntando tudo
Vídeo: IOToilet: 7 etapas (com imagens)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
O IOToilet é o primeiro porta-papel higiênico inteligente, que rastreia nosso uso diário de papel higiênico e permite acumular estatísticas mostrando essas métricas. E por que devo me preocupar com meu uso diário de papel higiênico, você pode perguntar? Bem, ao que parece, nossa saúde abdominal, especialmente o ciclo digestivo, tem muito a ver com nossa saúde física e mental. Por exemplo, aqui está uma boa palestra TED (uma de várias, a propósito) que desenvolve sobre esse assunto:
Fui inicialmente contratado para construir 10 unidades desse dispositivo para uma agência de branding, cujo clipe você pode ver acima (2ª localização), para uma campanha de marketing para uma grande empresa. No início, descartei a ideia como se viesse de uma outra mente supercriativa tentando desesperadamente ganhar uma conta de cliente, mas aos poucos ela cresceu em mim, até que percebi o valor das informações coletadas por meio desse dispositivo.
A construção foi baseada em um hardware existente que meu cliente adquiriu no eBay, um dispositivo de gravação de voz encapsulado em um suporte de papel higiênico. Ele tinha o formato certo e todos os periféricos necessários já integrados, como um alto-falante, um sensor de movimento para acionar o dispositivo, molas para segurar o próprio papel higiênico, compartimento da bateria e um botão liga-desliga, então optei com prazer usando este produto pronto em vez de modelar e imprimir por conta própria.
Etapa 1: Ferramentas e materiais
Materiais utilizados:
Suporte de rolo de papel higiênico
Wemos D1 Mini
Chip ATTiny85, embalagem DIP
2 x 2n2222 transistor
Resistor de 220 ohms
2 * 1 resistor KOhm
Acelerômetro MPU6050
Opcional, caso não esteja usando meu PCB:
Escudo de prototipagem Wemos
fio, solda, etc.
Ferramentas usadas:
Dremel com um disco de corte
ATTiny dev board (para upload de firmware de forma conveniente)
Programador USB Tiny ISP
chave de fenda triangular, usei este kit:
Etapa 2: desmentindo a unidade original
Após obter o fuso de papel higiênico original, abri sua caixa usando uma chave de fenda triangular e retirei o PCB original, desconectando o alto-falante e deixando o máximo de fio possível conectado a ele.
Em seguida, soldei o LED e o sensor de inclinação do PCB original para serem posteriormente incorporados ao novo circuito. Preste atenção para não superaquecer o interruptor de inclinação, pois isso pode danificá-lo. O meu era cinza, mas como não tirei uma boa foto ao retirar do aparelho original, tive que usar uma foto da rede (veja acima), onde era verde. Apenas um pequeno detalhe.
Depois de abrir a caixa e remover os componentes eletrônicos, também usei uma Dremel para remover o excesso de plástico que era usado para segurar o PCB original no lugar, essas pequenas prateleiras de plástico e um dos 4 tubos de rosca. Você pode adiar isso para a fase de montagem, se quiser, mas em qualquer caso, será necessário um aparamento de plástico.
Etapa 3: Circuito explicado
Então, aqui está um pouco sobre a lógica por trás do circuito:
Para que as baterias durassem muito, tive que colocar o acelerômetro MPU6050 e o processador ESP8266 no Wemos D1 Mini para hibernar entre as ativações. O primeiro foi feito facilmente usando um transistor que ligava e desligava o MPU6050.
Nota: Inicialmente pensei que poderia programá-lo para enviar um sinal de interrupção que despertará o processador principal. Infelizmente, não consegui encontrar uma maneira de fazer isso acontecer, configurar os registros adequados do MPU6050 foi uma tarefa complicada que ainda não sei se possível…
Minha segunda opção foi usar o interruptor de inclinação fornecido com a unidade original para despertar o ESP. Primeiro, amarrei diretamente ao pino RESET do Wemos, conforme descrito nas fotos acima, usando um transistor para ativar / desativar o mecanismo. Quando a base do transistor estava alta, o GND poderia passar pelo interruptor de inclinação e fazer com que ele se conectasse temporariamente ao pino RESET, causando a reinicialização do MCU (esta é a única maneira de acordar um ESP do sono profundo, aparentemente). Em seguida, conectei o D0 à base do transistor, seguindo a premissa de que esta perna fica ALTA enquanto o MCU estiver em hibernação, e assim que acordar, o D0 volta para BAIXO, desabilitando o mecanismo de reset. Afinal, não precisei de uma reinicialização recorrente, apenas pela primeira vez quando o porta-papel higiênico começou a se mover.
No entanto, o que descobri foi que o pino D0 leva muito tempo após a reconfiguração do MCU para voltar para BAIXO, cerca de 200ms. Isso significava que, se eu girasse o suporte de papel higiênico rápido o suficiente enquanto o MCU estava dormindo, ocorreria vários RESETs, em vez de contar as rodadas, como deveria.
Então, tentei resolver essa nova situação com alguns componentes discretos (capacitores, transistores etc.) mas só consegui uma solução parcial para o problema.
Acabei adicionando outro MCU, um ATTiny85, que despertava do sono pelo interruptor de inclinação, então, acordava o ESP8266 e esperava um pouco antes de voltar a dormir. Eu sei que esta provavelmente não é a solução mais econômica para o problema, mas eu tinha um prazo …
Você pode ver a solução detalhada no esquema que incluí. Observe que os resistores de 10K foram substituídos por 1K porque os de 10K eram muito altos para que os transistores se abrissem totalmente.
Etapa 4: Preparando o ATTiny85
Se você nunca programou um ATTiny85, não se preocupe! Usar o amado IDE Arduino pode ajudá-lo em tudo. Comece com estas instruções sobre como configurar o IDE Arduino:
github.com/SpenceKonde/ATTinyCore/blob/mas…
Em seguida, instale os drivers para o USBTinyISP aqui:
learn.adafruit.com/usbtinyisp/drivers
Agora, carregue o código de teste anexado: WakeOnExternalInterruptTest.ino
e conecte (consulte o diagrama de pinagem ATTiny85):
1. Botão de toque entre o pino 3 e o solo
2. Um resistor led e um de 220 Ohm em série, entre o pino 2 e o terra
Próximo, Selecione o USBTinyISP como o programador (em Ferramentas -> Programador) e carregue o esboço de teste para a placa.
O LED deve piscar 5 vezes e, em seguida, o chip deve entrar no modo de hibernação. Pressionar o botão fará com que ele acorde e repita a sequência.
Tem que funcionar? excelente! Carregue o esboço final "Despertador" no ATTiny, para ser usado no circuito final.
Etapa 5: Construindo o Escudo Wemos
Portanto, para construir o escudo, você tem 3 opções à sua escolha:
1. Use uma protuberância padrão para o Wemos e solde o circuito nele.
2. Fabrique um PCB, com base nos arquivos EAGLE anexados.
3. Peça-me um PCB que posso enviar por correio tradicional (tenho alguns por aí, o custo é quase nada).
Em qualquer caso, eu recomendo construir o circuito em uma placa de ensaio antes de se comprometer com o PCB!
Se estiver usando as opções de PCB, certifique-se de conectar o fio preto como nas fotos, na parte frontal ou traseira da placa (esta última funcionou melhor para mim). Este fio conecta o GND do Wemos ao ATTiny85 e sem ele, o despertar não ocorrerá.
Basta dar uma boa olhada nas imagens e ler as anotações que adicionei, isso deve ser o suficiente.
Etapa 6: Preparando os Wemos
Se você nunca usou o IDE Arduino para programar uma placa Wemos, comece instalando o gerenciador de placa e selecionando a placa no menu Ferramentas -> Placa, conforme descrito aqui:
github.com/esp8266/Arduino
Comece enviando o esboço intermitente para o seu quadro, certificando-se de que o código seja carregado corretamente.
Etapa 7: juntando tudo
Instale a blindagem no Wemos. Você pode soldá-lo, mas eu recomendo usar conectores fêmeas soldados ao Wemos que permitirão a conexão temporária entre o Wemos e a blindagem, em caso de algum problema. Basta lembrar que o cabeçalho fêmea terá que sair na fase final de montagem para que a unidade se encaixe no invólucro de plástico. Além disso, para tornar as coisas um pouco mais complicadas, há uma boa chance de que quando o shield for conectado ao Wemos, o upload do código seja desabilitado. Encontrei esse fenômeno de uma forma inconsistente e não tive tempo de pesquisá-lo.
Um conselho: planeje com antecedência.
Agora, testando!
Uma vez instalado, comece carregando o esboço de teste BlinkAccelerometer para o Wemos e certifique-se de ligar e desligar o LED MPU6050. Caso contrário, verifique a fiação do transistor que é responsável por alimentar o MPU6050. Sua base deve ser conectada ao pino D5 do Wemos, o coletor deve ser conectado ao GND do acelerômetro e o Emissor deve ser conectado ao GND comum.
Em seguida, carregue o esboço TurnCountTest1 para a placa Wemos e abra o Serial Monitor. Você deve ver os dados provenientes do acelerômetro apresentados no monitor. Se não estiver funcionando, verifique o relógio e a fiação de dados: CLK deve ser conectado a D1 e DATA deve ser conectado a D2.
Agora, solde a chave de inclinação nos orifícios designados na placa (veja as anotações), certificando-se de que esteja perpendicular ao eixo de rotação para que girar o fuso feche e abra a conexão entre seus dois cabos.
Em seguida, conecte a entrada da bateria 3V ao Wemos VCC e seu terminal negativo ao Wemos GND. Certifique-se de que ligar o interruptor liga a unidade. Por último, conecte o alto-falante ao GND e pino D4 do Wemos.
Faça upload do código final para o Wemos - um esboço chamado SmartWipe. Abra um monitor serial e certifique-se de que a unidade hiberne após 3 minutos e seja despertada movendo o interruptor de inclinação (as mensagens correspondentes devem aparecer no monitor).
Se você deseja diminuir o tempo de vigília do Wemos (principalmente para fins de teste), diminua o valor de WIFI_CONFIGURATION_IDLE_TIMEOUT definido em params.h e carregue o esboço no quadro. Certifique-se de que, após o Wemos entrar em hibernação, mover o botão de inclinação faz com que o ATTiny acorde (sinalizado pelo LED), o que, por sua vez, desperta o Wemos.
Altere o valor do parâmetro de volta para 180000L (3 minutos, em milissegundos) e certifique-se de que o Wemos acione um Hotspot chamado IOToilet_XXXXXXXX onde XXXXXXX será recuperado do endereço MAC do chip. Conecte-se a este Wifi usando um smartphone, e você será direcionado para um formulário de registro (um mecanismo chamado Portal Cativo). Preencha os detalhes, especialmente importantes é o SSID e a senha do seu wifi local, e envie o formulário. A unidade deve então tentar se conectar à rede usando as credenciais fornecidas e, se for bem-sucedido, reproduzir 3 sons ascendentes no alto-falante. Se tiver ocorrido um problema de conexão com o Wifi, serão reproduzidos 3 sons descendentes. Depois disso, os Wemos devem dormir profundamente, até serem acordados pelo movimento.
Finalmente: Teste de sistema de ponta a ponta.
Role o suporte de papel higiênico ao longo de seu eixo de rotação algumas voltas e, em seguida, coloque-o em uma superfície estável (para sinalizar que o rolo terminou e acionar o upload de dados). Aguarde cerca de 10 segundos para que a contagem de rolos seja enviada para a nuvem, vá para https://smartwipe-iot.appspot.com/ e clique em Consultar. Você deve ver seus detalhes de registro e sua contagem recente de uso na nuvem! Certifique-se de anotar seu uuid, que é seu id único no sistema, extraído do endereço MAC de seu Wemos.
Se você deseja extrair apenas suas estatísticas no formato JSON, use um URL semelhante a este:
smartwipe-iot.appspot.com/api?action=query&uuid=1234567890
apenas substitua uuid pelo seu.
Incluí todas as fontes para o aplicativo da web, que é hospedado no mecanismo do Google App para que os usuários que desejam obter mais privacidade para os dados, possam implantá-los em seus próprios usuários do Google, adicionar autenticação etc.
Quando tudo estiver funcionando, encaixe os componentes eletrônicos no invólucro de plástico, aparando o plástico com uma dremel conforme necessário. A peça inteira deve se encaixar perfeitamente na caixa.
Problema? Me escreva!
UNIDOS NÓS POOP!
Recomendado:
Howto: Instalando Raspberry PI 4 Headless (VNC) com Rpi-imager e imagens: 7 etapas (com imagens)
Howto: Instalando Raspberry PI 4 Headless (VNC) com Rpi-imager e imagens: Eu pretendo usar este Rapsberry PI em um monte de projetos divertidos em meu blog. Sinta-se à vontade para dar uma olhada. Eu queria voltar a usar meu Raspberry PI, mas não tinha um teclado ou mouse no meu novo local. Já fazia um tempo desde que configurei um Raspberry
Gesture Hawk: robô controlado por gestos manuais usando interface baseada em processamento de imagens: 13 etapas (com imagens)
Gesture Hawk: Robô controlado por gestos manuais usando uma interface baseada em processamento de imagem: Gesture Hawk foi apresentado no TechEvince 4.0 como uma interface homem-máquina baseada em processamento de imagem simples. Sua utilidade reside no fato de que nenhum sensor adicional ou vestível, exceto uma luva, é necessário para controlar o carro robótico que funciona em diferentes
Como desmontar um computador com etapas e imagens fáceis: 13 etapas (com imagens)
Como desmontar um computador com etapas e imagens fáceis: Esta é uma instrução sobre como desmontar um PC. A maioria dos componentes básicos é modular e facilmente removível. No entanto, é importante que você seja organizado sobre isso. Isso ajudará a evitar que você perca peças e também a fazer a remontagem e
Salvando suas imagens para sua tarefa: 4 etapas (com imagens)
Salvando suas imagens para sua tarefa: 1. Abra um novo documento do Google e use esta página para proteger suas imagens.2. Use ctrl (control) e " c " chave para copy.3. Use ctrl (control) e " v " chave para colar
Fazendo imagens sem costura horizontal ou verticalmente apenas (para "The GIMP").: 11 etapas (com imagens)
Fazendo imagens sem costura horizontalmente ou verticalmente apenas (para "The GIMP") .: Se você tentar o plug-in "Make seamless" no GIMP, ele tornará a imagem contínua tanto horizontal quanto verticalmente ao mesmo tempo. Ele não permitirá que você faça isso perfeito em apenas uma dimensão. Este instrutível irá ajudá-lo a fazer ima