quarta-feira, outubro 12, 2011

Interruptor "touch" com Arduino Pro Mini

 O interruptor da lâmpada do quarto estava indo... já não funcionava mais como deveria. Decidi que poderia tentar fazer um interruptor touch, usando um Arduino Pro Mini  e a lib CapSense.
Depois de montar um protótipo com um vidro de porta-retrato e ver realmente que seria funcional, resolvi fazer.

Usei um vidro fumê de 15x10 com as bordas arredondadas como "espelho", colei um vinil preto (tipo contact) e com um compasso de corte, fiz um círculo no vinil para ficar com uma faixa vazada por onde passa a luz de um led.
O sensor propriamente dito é um círculo de alumínio colado atrás do vinil, e a parte que "faz funcionar" são algumas linhas de código...
É um interruptor com firmware e que pode ter funcionalidades ampliadas com um upload de software, legal né? Futuramente posso programar uma função para desligar após certo tempo... e outras idéias mirabolantes que possam surgir.

=)


Vidro fumê 10x15 4mm, com as bordas arredondadas

Vinil/contact preto colado no vidro. Foi usado um secador de cabelo para esquentar o vinil e não deixar bolhas.

Dois cortes em forma de círculo para fazer um buraco...


... para passar a luz do led.

Aparência final do vidro com o vinil/contact por baixo.

 Esse é o sensor, um pedaço de alumínio de lata de nescau.

Essa é a parte de tras do "interruptor". O círculo de alumínio está colado atras do círculo de vinil/contact para ficar escondido. Esse fio branco está soldado na plaquinha de alumínio e a outra ponta vai para o Arduino.
É este círculo de alumínio que faz o Arduino "sentir" que tem um dedo do outro lado do vidro, por isso que basta encostar no vidro para a lâmpada acender.

Testando se tudo funciona em uma protoboard



...

 O cone é para a luz do led sair somente pelo vidro e não iluminar o interior da tomada.

Tudo pronto e...

... empacotado para ir para o lugar.

Montando...

... e colando com fita dupla face 3M.
Essa luminosidade do led é quando a luz está acesa.
Quando a lâmpada está apagada, o led emite uma luz bem fraca, mas suficiente para ver onde está o interruptor à noite.


Segue 2 vídeos...





 
 
Quanto à parte técnica, usei isso para o relé, só troquei o transistor 2N2222 por um BC548 (tem funcionado bem). E o código, usei o exemplo da lib CapSense como base e fiz as modificações necessárias para usar o led e determinar o funcionamento como se fosse um interruptor. 
 
Edição 11/08/2012: