Magos do Arduino

Relé

Aprenda a utilizar um relé com o Arduino

Magos do Arduino

Relé

Um relé é um interruptor eletromecânico que usa um eletroímã para abrir ou fechar circuitos elétricos automaticamente.

Ele permite acionar diferentes voltagens das suportadas pelo Arduino, como corrente alternada de 110V.

O relé pode ser utilizado para controlar dispositivos externos como lâmpadas, motores, etc.

Muito utilizado em automação para controle de dispositivos externos.

No Arduino ele é controlado por um único sinal, que indica se ele deve ou não ser acionado.

Em um relé, NA/NO (normalmente aberto) significa que o contato está aberto (desligado) quando a bobina não está energizada, e NF/NC (normalmente fechado) significa que o contato está fechado (ligado) nesse mesmo estado.

Já o pino COM (comum) é o terminal central que se conecta ao NA (normalmente aberto) ou NF (normalmente fechado), dependendo se a bobina está energizada ou não.

Os outros dois pinos restantes, DC- e DC+, são conectados ao Arduino para fornecer Ground(0V) e 5V para o relé, respectivamente.

Relé

Neste projeto você criará um circuito que faz o uso de um relé com o Arduino.

Para a criação deste circuito serão necessários os seguintes componentes:

  • 1x Breadboard
  • 1x Arduino UNO
  • 1x Módulo Relé
  • 1x Push button
  • 1x Lâmpada de 9V-12V
  • 1x Bateria de 9V
  • Jumpers

Circuito Relé

Para montar o circuito, visualize na imagem a seguir como conectar os componentes entre a placa Arduino e a breadboard.

Circuito Relé

Schematics Relé

A seguir temos o schematics do circuito, que detalha suas conexões e fornece detalhes mais específicos do que o circuito da imagem anterior.

Schematics Relé

Código fonte para o circuito do relé

Uma vez criado o circuito, use o código fonte a seguir no Arduino IDE para fazer o upload dele na placa Arduino e assim ver o resultado do circuito em funcionamento.

/**
 * Código do curso Magos do Arduino para utilizar um relê no Arduino.
 * 
 * Utilize um relé com o Arduino para ligar e desligar uma lâmpada 
 * conectada a uma fonte externa.
 *
 * (c) Copyright KazaleIT
 * @kazaleitoficial no YouTube
 **/

#define PINO_RELE 8
#define PINO_BOTAO 2

void setup() {
  // inicializam os pinos do relê e botão
  pinMode(PINO_RELE, OUTPUT);
  pinMode(PINO_BOTAO, INPUT_PULLUP);
}

int estadoBotao = -1;

void loop() {
  // faz a leitura do botão
  int valorBotao = digitalRead(PINO_BOTAO);

  // caso botão pressionado, 0/LOW porque é pull-up
  if (valorBotao == LOW) {
    estadoBotao *= -1; // inverte o valor
  }

  // espera para debounce do botão
  delay(300);

  // ativa/desativa o relê
  if (estadoBotao == -1) {
    digitalWrite(PINO_RELE, LOW);
  } else {
    digitalWrite(PINO_RELE, HIGH);
  }
}