Trava elétrica solenoide com Arduino
Imagine que você esteja indo visitar um amigo que mora em um prédio. Muito provavelmente, você chegará, tocará o interfone e alguns segundos depois alguém atenderá o mesmo e abrirá o portão para que você possa entrar no mesmo e chegar até o apartamento onde o seu amigo mora. Por se tratar de algo comum em nosso dia a dia, nós não nos damos conta de todo o processo que acontece até o momento em que o portão é aberto e nem dos elementos que fazem parte do sistema em questão, sendo assim, neste tutorial vamos falar sobre um dos principais elementos de todo o contexto citado: a trava elétrica ou fechadura eletrônica. esse dispositivo permite que o portão possa ser aberto quando desejado e em outros instantes permaneça fechado, entretanto, de modo especial, aprenderemos como controlar uma mini-trava elétrica solenoide em conjunto com uma placa Arduino. Tal projeto nos dará base para futuros projetos de automação residencial, entre outros.
[toc]
A trava elétrica solenoide
A trava elétrica solenoide é um elemento muito semelhante as travas que possuímos nas portas das nossas casas, pois, ambos os tipos pressupõem uma estrutura dotada de uma saliência que impede ou libera a movimentação de uma porta em função da sua posição. A grande diferença entre essas duas modalidades é que enquanto a trava tradicional tem a posição de sua saliência alterada por meio de uma chave, as travas elétricas solenoide têm o estado das suas saliências alterado através da aplicação de um determinado nível de tensão em seus terminais.
Caso 12 V sejam aplicados nos terminais da nossa mini-trava elétrica solenoide, a saliência é recolhida, ou seja, vai para dentro da estrutura e permanece nesta posição enquanto o sinal de tensão estiver sendo aplicado. Em contrapartida, quando não há tensão nos terminais citados, fica para fora da estrutura impedindo a movimentação da porta.
Como você deve ter notado, para utilizarmos a nossa mini-trava elétrica solenoide nós precisamos aplicar um sinal contínuo de tensão de 12 V, no entanto, as nossas placas Arduino não são capazes de nos fornecer esta magnitude de tensão, portanto, podemos notar que precisaremos implementar algum tipo de ideia para atingirmos este objetivo. O que faremos neste tutorial é utilizar um relé cuja bobina possa ser energizada com 5V, de modo que, no momento da ocorrência deste fato, alguns de seus contatos serão fechados fornecendo o caminho para a corrente proveniente de uma fonte externa de 12 V.
Aqui em nosso portal nós temos alguns tutoriais muito interessantes sobre a manipulação de relés:
- Shield Ethernet W5100 – Acionamento remoto de relés com HTML
- Módulo relé – Acionando cargas com Arduino
- Acionando um módulo relé via Bluetooth
Mãos à obra – Acionando a mini-trava elétrica solenoide
Componentes necessários
Para desenvolver este projeto, precisaremos dos seguintes componentes:
- 1 x Arduino UNO
- 1 x Módulo Relé 4 canais ou outro.
- 1 x Mini trava elétrica solenoide 12V
- 1 x Fonte bivolt 12V 2A
- 1 x Adaptador P4/KRE
Apenas como uma observação, neste tutorial nós utilizamos um Módulo relé 4 canais, mas poderíamos tranquilamente recorrer à um único relé ou um módulo com apenas 1 canal.
Montando o projeto
No esquemático de ligação do Arduino UNO com o Módulo relé 4 canais apresentado anteriormente, nós demonstramos a conexão entre os elementos citados utilizando todos os canais de relés, no entanto, neste projeto só utilizaremos o canal 4, ligado a porta digital 5 do Arduino.
Programando
Aqui, nós iremos disponibilizar para você o código que utilizamos para desenvolver a aplicação deste tutorial
void setup() { Serial.begin(9600); pinMode(5,OUTPUT); digitalWrite(5,HIGH); Serial.print("Porta fechada"); } void loop() { char comando; if (Serial.available()>0) { comando = Serial.read(); if (comando == 'a') { digitalWrite(5,LOW); Serial.print("Porta aberta"); delay(2000); digitalWrite(5,HIGH); Serial.print("Porta fechada"); } }
Colocando para funcionar
Em uma situação normal, a mini-trava elétrica se encontrará nesta posição:
Após aplicarmos o nível de tensão de 12V nos terminais da trava ela ficará desta forma:
Veja também o resultado que obtemos no Serial Monitor:
Entendendo a fundo
Hardware
– Alimentação
Alguns pontos devem ser ressaltados no tocante ao hardware utilizado neste tutorial. Primeiramente, para que fosse possível conectarmos a fonte de 12V tanto no módulo relé (fio +) quanto na nossa mini-trava elétrica solenoide (fio -) sem que fosse necessário cortarmos o fio da mesma, nós utilizamos um adaptador P4/KRE fêmea conforme a imagem abaixo.
– Normalmente Fechado e Normalmente Aberto
Um outro ponto muito importante que devemos evidenciar diz respeito ao funcionamento dos relés utilizados. Estes dispositivos possuem dois contatos:
- Um contato Normalmente Aberto (NA), que por sua vez, encontra-se aberto até o momento em que a bobina do relé é alimentada (momento em que este é fechado);
- e um contato Normalmente Fechado (NF), cujo principio de funcionamento é o inverso do apresentado anteriormente, ou seja, este permanece fechado até que a bobina do relé seja alimentada.
– Contato Normalmente Aberto do relé
Para desenvolver esta aplicação nós utilizamos o contato Normalmente Aberto (NA) do relé 4 do módulo utilizado para fazer com que a alimentação da fonte externa só chegasse até a mini-trava elétrica solenoide no momento em que a bobina do relé fosse energizada, ou seja, fechando o contato.
– A Trava elétrica normalmente fechada
Repare que esta forma de montagem faz com que em uma situação de, por exemplo, falta de energia, a porta fique trancada, pois, neste momento, a mini-trava não estará energizada e portanto a saliência da mesma estará para fora, impedindo a movimentação da porta.
É possível dizer que, em particular, essa trava elétrica trabalha como normalmente fechada. Ou seja, na ausência de energia ela se manterá fechada. Quando energizada ela será aberta.
Software
Nesta seção nós iremos explicar passo a passo o funcionamento do nosso código
– Definindo as configurações iniciais do projeto
Dentro da função setup(), temos a definição do modo de operação do pino que será utilizado neste projeto, isto é, do pino 5 como um pino de saída digital. Além desta configuração, por meio da função Serial.begin(), nós inicializamos o procedimento necessário para que seja possível estabelecer alguma comunicação através da porta serial e por último, com a função digitalWrite() nós pedimos ao Arduino que disponibilize nível lógico alto na saída digital previamente configurada (isto é feito para que o relé permaneça na condição inicial, pois, os relés do módulo utilizado são ativados com nível lógico baixo). Por último, nós enviamos uma mensagem através da porta serial indicando que a trava está trancando a porta.
void setup() { pinMode(5,OUTPUT); Serial.begin(9600); digitalWrite(5,HIGH); Serial.print("Porta fechada"); }
– Trancando e destrancando uma porta
Na função loop() nós vamos primeiramente criar uma variável do tipo char chamada comando, que por sua vez, será responsável por armazenar os caracteres que chegarem através da porta serial. Em seguida, nós verificamos se o caractere em questão (enviado através do serial monitor) corresponde à letra a, de modo que, caso esta hipótese seja afirmativa, nós vamos fazer com que o Arduino disponibilize nível baixo na saída digital 5, fazendo com que o relé seja acionado e portanto a saliência da mini-trava seja recolhida. Por outro lado, após 2 segundos nesta posição nós soltamos a saliência com a utilização das funções delay() e digitalWrite().
Além disso, perceba que nós utilizamos sentenças Serial.print() para fazer com que o Arduino apresente as mudanças nos estados da trava sempre que ela for acionada ou desligada.
void loop() { char comando; if (Serial.available()>0) { comando = Serial.read(); if (comando == 'a') { digitalWrite(5,LOW); Serial.print("Porta aberta"); delay(2000); digitalWrite(5,HIGH); Serial.print("Porta fechada"); } }
Considerações finais
Neste tutorial, nós demonstramos como você fazer para utilizar a mini-trava elétrica solenoide em seus projetos, esperamos que você continue nos acompanhando e sinta-se à vontade para nos dar sugestões. Lembre-se de deixar suas dúvidas nos comentários abaixo.
Se cair a energia e ela estiver travada?
O que mudaria se eu fosse controlar a solenóide com o celular via bluetooth?