Neste artigo anterior sobre como ligar uma lâmpada utilizando relé, eu mostrei como ligar um relé ao Arduino, utilizando transistor, diodo e resistor. Neste post teremos uma evolução do post anterior, mostrando como ligar uma lâmpada utilizando relé e push button.
Seguindo a sugestão de alguns leitores, vou usar o mesmo circuito como base, e mostrar o acionamento do relé via push button, ou seja, cada vez que o botão é pressionado, o estado do led é alterado, acendendo e apagando conforme o controle do usuário. Veja no vídeo abaixo o circuito em funcionamento :
Acionando relé utilizando push-button
Antes de montar o circuito do Arduino com relé e push button, vamos apenas recapitular a “lista de material” que utilizei anteriormente:
- Rele 5v
- 1 Diodo 1N4007 (ou similar)
- 1 Transistor BC548 (ou equivalente NPN)
- 2 resistores de 10 K
- Led
e vamos acrescentar mais dois componentes muito fáceis de encontrar:
- 1 push button
- 1 resistor 330 ohms
Com o material em mãos, vamos ao circuito, que como citei anteriormente, é o mesmo do artigo anterior, agora com um push button ligado à porta 2 do Arduino. Observe que estamos conectando a saída NO (Normal Open ou Normal Aberto) do relé no anodo do led.
Também usei o programa anterior como base, acrescentando uma rotina que inverte o estado do relé conforme o botão é pressionado. Esta mudança de estado do relé é feita na linha 29 do programa:
// Programa: Acionamento de rele com push button // Autor: Arduino e Cia int sinalparaorele = 4; //define a porta para o acionamento do rele int pinobotao = 2; //Porta utilizada para o botão de acionamento int leitura; //Armazena informações sobre a leitura do botão int estadorele = 0; //Armazena o estado do relé (ligado/desligado) void setup() { //Define o pino como saida (sinal para o rele) pinMode(sinalparaorele, OUTPUT); //Define o pino como entrada (Pino do botao) pinMode(pinobotao, INPUT); //digitalWrite(sinalparaorele, 0); } void loop() { leitura = digitalRead(pinobotao); if (leitura != 1) { while(digitalRead(pinobotao) != 1) { delay(100); } // Inverte o estado estadorele = !estadorele; digitalWrite(sinalparaorele, estadorele); } }
E finalmente, se você precisar utilizar este mesmo esquema e programa para acionar uma lâmpada, use a ligação abaixo :
Essa é apenas uma opção de uso de botão para acionamento do relé. Conforme as suas necessidades, o botão pode ser facilmente substituído por uma chave, um sensor ou a entrada pode até mesmo ser acionada via bluetooth, como neste artigo, onde explico como utilizar um celular Android para controlar o Arduino, via bluetooth.