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.

Circuito Arduino Relé push button

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 :

Circuito Arduino relé lâmpada

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.

5/5 - (2 votes)