Arduino Nano - Sensor de puerta - relé

Este tutorial te enseña a usar el Arduino Nano y un sensor de puerta para controlar el relé. Conectando el relé a una cerradura de solenoide, una bombilla, una tira de LED, un motor o un actuador, podemos usar un sensor de puerta para controlarlos. Aprenderemos dos aplicaciones diferentes:

Aplicación 1 - El relé se activa cuando la puerta está abierta y el relé se desactiva cuando la puerta está cerrada. El estado del relé está sincronizado con el estado del sensor de la puerta. En detalle:

Aplicación 2 - El estado del relé se alterna cada vez que se abre la puerta. Más específicamente:

Hardware Requerido

1×Official Arduino Nano
1×Alternatively, DIYables ATMEGA328P Nano Development Board
1×Cable USB A a Mini-B
1×Sensor de Puerta
1×Relé
1×Protoboard
1×Cables Puente
1×(Opcional) Cerradura de Solenoide
1×(Opcional) Adaptador de Corriente 12V
1×(Opcional) Conector de Alimentación DC
1×(Recomendado) Placa de Expansión de Terminales de Tornillo para Arduino Nano
1×(Recomendado) Placa de Expansión Breakout para Arduino Nano
1×(Recomendado) Divisor de Alimentación para Arduino Nano

Or you can buy the following kits:

1×DIYables Sensor Kit (30 sensors/displays)
1×DIYables Sensor Kit (18 sensors/displays)
Divulgación: Algunos de los enlaces proporcionados en esta sección son enlaces de afiliado de Amazon. Podemos recibir una comisión por las compras realizadas a través de estos enlaces sin costo adicional para usted. Apreciamos su apoyo.

Acerca de Relé y Sensor de Puerta

Si no está familiarizado con el relé y el sensor de puerta (incluido el esquema de pines, su funcionamiento y su programación), los siguientes tutoriales pueden ayudar:

Diagrama de Cableado

Diagrama de cableado del relé para sensor de puerta Arduino Nano

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Nano y otros componentes.

Aplicación 1 - El estado del relé está sincronizado con el estado del sensor de la puerta

Código de Arduino Nano

/* * Este código de Arduino Nano fue desarrollado por es.newbiely.com * Este código de Arduino Nano se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.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 } }

Pasos R\u00e1pidos

  • Conecta un Arduino Nano a tu ordenador con un cable USB.
  • Inicia el IDE de Arduino y selecciona la placa y el puerto correctos.
  • Copia el código y ábrelo en el IDE de Arduino.
  • Haz clic en el botón Subir en el IDE de Arduino para compilar y subir el código al Arduino Nano.
Subir código al IDE de Arduino
  • Abre y cierra la puerta
  • Revisa el cambio en el estado del relé

Verás que el estado del relé está sincronizado con el estado del sensor de la puerta.

Explicación del código

Consulta la explicación línea por línea que se encuentra en los comentarios del código fuente.

Aplicación 2 - El sensor de la puerta conmuta el relé

Código de Arduino Nano - El sensor de la puerta alterna el relé

/* * Este código de Arduino Nano fue desarrollado por es.newbiely.com * Este código de Arduino Nano se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.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); } }

Explicación del código

Puede encontrar la explicación en las líneas de comentario del código del Arduino Nano anterior.

En el código, la expresión relay_state = !relay_state es equivalente al código siguiente:

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

Pasos R\u00e1pidos

  • Copia el código y ábrelo en el IDE de Arduino.
  • Carga el código al Arduino Nano.
  • Abre y cierra la puerta varias veces.
  • Observa el cambio en el estado del relé.

Notarás que el relé se encenderá o apagará una sola vez cada vez que cierres la puerta.

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!