Arduino Nano - Sensor de Porta - Relé

Este tutorial ensina como usar o Arduino Nano e o sensor de porta para controlar o relé. Ao conectar o relé a uma trava solenoide, lâmpada, fita LED, motor ou atuador..., podemos usar um sensor de porta para controlá-los. Vamos aprender duas aplicações diferentes:

Aplicação 1 - O relé é ativado quando a porta está aberta e é desativado quando a porta está fechada. O estado do relé fica sincronizado com o estado do sensor de porta. Em detalhes:

Aplicação 2 - O estado do relé é alternado cada vez que a porta é aberta. Mais especificamente:

Hardware Necessário

1×Official Arduino Nano
1×Alternatively, DIYables Nano V3.0 Development Board
1×Cabo USB A para Mini-B
1×Sensor de Porta
1×Relé
1×Protoboard
1×Fios Jumper
1×(Opcional) Fechadura Solenoide
1×(Opcional) Fonte de Alimentação 12V
1×(Opcional) Conector de Alimentação DC
1×(Recomendado) Placa de Expansão com Bornes de Parafuso para Arduino Nano
1×(Recomendado) Placa de Expansão Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentação para Arduino Nano

Or you can buy the following kits:

1×DIYables Sensor Kit (18 sensors/displays)
Divulgação: Alguns dos links desta seção são links de afiliado da Amazon. Podemos receber uma comissão pelas compras feitas por meio desses links, sem custo adicional para você. Agradecemos o seu apoio.

Sobre o Relé e o Sensor de Porta

Se você não conhece o relé e o sensor de porta (incluindo pinagem, funcionamento e programação), os tutoriais a seguir podem ajudar:

Diagrama de Ligação

The wiring diagram between Arduino Nano and door sensor relay

This image is created using Fritzing. Click to enlarge image

Veja A melhor forma de alimentar o Arduino Nano e outros componentes.

Aplicação 1 - O estado do relé fica sincronizado com o estado do sensor de porta

Código Arduino Nano

/* * Este código de Arduino Nano foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano/arduino-nano-door-sensor-relay */ #define DOOR_SENSOR_PIN 5 // The Arduino Nano pin connected to the door sensor's pin #define RELAY_PIN 2 // The Arduino Nano pin connected to the relay module int door_state; void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set arduino pin to input pull-up mode pinMode(RELAY_PIN, OUTPUT); // set arduino pin to output mode } void loop() { door_state = digitalRead(DOOR_SENSOR_PIN); // read state if (door_state == HIGH) { Serial.println("The door is open"); digitalWrite(RELAY_PIN, HIGH); // turn on relay } else { Serial.println("The door is closed"); digitalWrite(RELAY_PIN, LOW); // turn off relay } }

Passos Rápidos

  • Conecte um Arduino Nano ao seu computador com um cabo USB.
  • Abra a Arduino IDE e selecione a placa e a porta corretas.
  • Copie o código e abra-o na Arduino IDE.
  • Clique no botão Upload da Arduino IDE para compilar e fazer o upload do código para o Arduino Nano.
Arduino IDE Upload Code
  • Abra e feche a porta
  • Observe a mudança no estado do relé.

Você verá que o estado do relé fica sincronizado com o estado do sensor de porta.

Explicação do Código

Confira a explicação linha por linha contida nos comentários do código-fonte!

Aplicação 2 - O sensor de porta alterna o relé

Código Arduino Nano - O sensor de porta alterna o relé

/* * Este código de Arduino Nano foi desenvolvido por pt.newbiely.com * Este código de Arduino Nano é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-nano/arduino-nano-door-sensor-relay */ #define DOOR_SENSOR_PIN 5 // The Arduino Nano pin connected to the door sensor's pin #define RELAY_PIN 2 // The Arduino Nano pin connected to the relay module int relay_state = LOW; // The current state of relay int prev_door_state; // The previous state of door sensor int door_state; // The current state of door sensor void setup() { Serial.begin(9600); // Initialize the Serial to communicate with the Serial Monitor. pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set arduino pin to input pull-up mode pinMode(RELAY_PIN, OUTPUT); // set arduino pin to output mode door_state = digitalRead(DOOR_SENSOR_PIN); } void loop() { prev_door_state = door_state; // save the last state door_state = digitalRead(DOOR_SENSOR_PIN); // read new state if (prev_door_state == HIGH && door_state == LOW) { // state change: HIGH -> LOW Serial.println("The door-closing event is detected"); // toggle state of relay relay_state = !relay_state; // control relay according to the toggled state digitalWrite(RELAY_PIN, relay_state); } }

Explicação do Código

Você encontra a explicação nas linhas de comentário do código do Arduino Nano acima.

No código, a expressão relay_state = !relay_state equivale ao seguinte código:

if(relay_state == LOW) relay_state = HIGH; else relay_state = LOW;

Passos Rápidos

  • Copie o código e abra-o na Arduino IDE.
  • Faça o upload do código para o Arduino Nano.
  • Abra e feche a porta várias vezes.
  • Observe a mudança no estado do relé.

Você notará que o relé liga ou desliga uma vez sempre que você fecha a porta.

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!