Arduino - Sensor de Porta Alterna Relé

Em um tutorial anterior, aprendemos a ligar o relé se a porta estiver aberta e desligar o relé se a porta estiver fechada. Neste tutorial, vamos aprender a alternar o relé cada vez que a porta é fechada.

Conectando o relé a uma lâmpada, fita LED, motor ou atuador... podemos usar o sensor de porta para alternar a lâmpada, a fita LED, o motor ou o atuador...

Sobre o Relé e o Sensor de Porta

Se você não conhece o relé e o sensor de porta (pinagem, como funcionam, como programar ...), aprenda sobre eles nos seguintes tutoriais:

Diagrama de Ligação

Diagrama de Ligação do Sensor de Porta e Relé com Arduino

This image is created using Fritzing. Click to enlarge image

Código Arduino - Sensor de Porta Alterna Relé

/* * Este código de Arduino foi desenvolvido por pt.newbiely.com * Este código de Arduino é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino/arduino-door-sensor-toggle-relay */ // constants won't change const int DOOR_SENSOR_PIN = 13; // Arduino pin connected to door sensor's pin const int RELAY_PIN = 3; // Arduino pin connected to relay's pin // variables will change: int relayState = LOW; // the current state of relay int lastDoorState; // the previous state of door sensor int currentDoorState; // the current state of door sensor void setup() { Serial.begin(9600); // initialize serial pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set arduino pin to input pull-up mode pinMode(RELAY_PIN, OUTPUT); // set arduino pin to output mode currentDoorState = digitalRead(DOOR_SENSOR_PIN); } void loop() { lastDoorState = currentDoorState; // save the last state currentDoorState = digitalRead(DOOR_SENSOR_PIN); // read new state if (lastDoorState == HIGH && currentDoorState == LOW) { // state change: HIGH -> LOW Serial.println("The door-closing event is detected"); // toggle state of relay relayState = !relayState; // control relay arccoding to the toggled state digitalWrite(RELAY_PIN, relayState); } }

Passos Rápidos

  • Conecte o Arduino ao PC via cabo USB
  • Abra o Arduino IDE, selecione a placa e a porta corretas
  • Copie o código acima e abra com o Arduino IDE
  • Clique no botão Upload no Arduino IDE para carregar o código no Arduino
  • Aproxime o ímã do reed switch e depois afaste-o do reed switch. Repita isso várias vezes
  • Veja a mudança de estado do relé

Explicação do Código

Leia a explicação linha por linha nas linhas de comentário do código!

No código, relayState = !relayState é equivalente ao seguinte código:

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

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!