Arduino UNO R4 - Sensor de puerta

Este tutorial te enseña cómo usar un Arduino UNO R4 y un sensor de puerta para monitorizar el estado abierto o cerrado de tu puerta o ventana. Aprenderemos a instalar el sensor de puerta y conectarlo al Arduino, y luego a programar el Arduino para leer el estado del sensor de la puerta.

Sensor de puerta para Arduino UNO R4

Acerca del sensor de la puerta

Disposición de pines

El sensor de la puerta tiene dos partes.

  • Un interruptor de láminas con dos conectores metálicos
  • Un imán
Diagrama de pines del sensor de puerta

Como un interruptor o botón normal, no es necesario distinguir entre los dos pines del interruptor de láminas.

Cómo funciona

El imán está fijado a la puerta o ventana, que se mueve, y el interruptor de láminas está fijado al marco de la puerta, que no se mueve. Cuando la puerta está cerrada, estas dos piezas quedan cerradas entre sí.

  • Cuando el imán está cerca del interruptor de láminas, el circuito del interruptor de láminas se cierra.
  • Cuando el imán está lejos del interruptor de láminas, el circuito del interruptor de láminas se abre.
Sensor de puerta: cómo funciona; diagrama de pines

※ Nota:

El interruptor de láminas NO genera señales LOW o HIGH directamente. Solo muestra estados abiertos o cerrados. Cómo lo conectamos al Arduino UNO R4 afecta si el pin se lee como LOW, HIGH, o si tiene un valor flotante (lo cual es impredecible). Para evitar este valor flotante, necesitamos conectar una resistencia pull-up o pull-down al pin en el Arduino UNO R4.

Si conectamos una de las terminales del interruptor de láminas a GND, y la otra terminal a una entrada del Arduino UNO R4 con una resistencia pull-up (puede ser interna o añadida por separado):

  • Cuando el imán está cerca del interruptor de efecto Reed, el pin de entrada del Arduino UNO R4 lee BAJO.
  • Cuando el imán está lejos del interruptor de efecto Reed, el pin de entrada del Arduino UNO R4 lee ALTO.

Así:

  • Para saber si la puerta está abierta o cerrada, observe el pin de entrada del Arduino UNO R4:
    • Si el pin muestra BAJO, la puerta está cerrada.
    • Si el pin muestra ALTO, la puerta está abierta.
  • Para saber cuándo la puerta se abre o se cierra, observe los cambios en el estado del pin de entrada del Arduino UNO R4:
    • Un cambio de BAJO a ALTO significa que la puerta se está abriendo.
    • Un cambio de ALTO a BAJO significa que la puerta se está cerrando.

Diagrama de Cableado

Diagrama de cableado del sensor de puerta Arduino UNO R4

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Uno R4 y otros componentes.

Cómo programar para el sensor de la puerta

  • El pin del Arduino UNO R4 se configura en modo de entrada digital utilizando la función llamada pinMode(). Por ejemplo, el pin 9.
pinMode(9, INPUT_PULLUP);
  • Lee el estado del pin del Arduino UNO R4 utilizando la función digitalRead().
int door_state = digitalRead(9);

Código Arduino UNO R4 - Verificar si la puerta está abierta o cerrada

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-door-sensor */ #define DOOR_SENSOR_PIN 9 // The Arduino UNO R4 pin connected to door sensor's pin int door_state; void setup() { Serial.begin(9600); // initialize serial pinMode(DOOR_SENSOR_PIN, INPUT_PULLUP); // set arduino pin to input pull-up mode } void loop() { door_state = digitalRead(DOOR_SENSOR_PIN); // read state if (door_state == HIGH) { Serial.println("The door is open"); } else { Serial.println("The door is closed"); } }

Pasos R\u00e1pidos

Siga estas instrucciones paso a paso:

  • Si es la primera vez que usas el Arduino Uno R4 WiFi/Minima, consulta el tutorial sobre configurar el entorno para Arduino Uno R4 WiFi/Minima en el IDE de Arduino.
  • Conecta los componentes de acuerdo con el diagrama proporcionado.
  • Conecta la placa Arduino Uno R4 a tu ordenador utilizando un cable USB.
  • Inicia el IDE de Arduino en tu ordenador.
  • Selecciona la placa Arduino Uno R4 adecuada (p. ej., Arduino Uno R4 WiFi) y el puerto COM.
  • Copia el código anterior y ábrelo en el IDE de Arduino.
  • Haz clic en el botón Subir en el IDE de Arduino para cargar el código al Arduino UNO R4.
  • Acerca el imán al interruptor de láminas y luego aléjalo del interruptor de láminas.
  • Verifica los resultados en el Monitor Serial.
COM6
Send
The door is open The door is open The door is closed The door is closed The door is closed The door is closed The door is closed The door is open The door is open
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

Código Arduino UNO R4 - Detección de eventos de apertura y cierre de la puerta

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-door-sensor */ #define DOOR_SENSOR_PIN 9 // The Arduino UNO R4 pin connected to door sensor's pin int door_state; // current state of door sensor int prev_door_state; // previous 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 door_state = digitalRead(DOOR_SENSOR_PIN); // read state } void loop() { prev_door_state = door_state; // save the last state door_state = digitalRead(DOOR_SENSOR_PIN); // read new state if (prev_door_state == LOW && door_state == HIGH) { // state change: LOW -> HIGH Serial.println("The door opening is detected"); // TODO: turn on alarm, light or send notification ... } else if (prev_door_state == HIGH && door_state == LOW) { // state change: HIGH -> LOW Serial.println("The door closing is detected"); // TODO: turn off alarm, light or send notification ... } }
  • Copia el código y ábrelo en el IDE de Arduino.
  • Haz clic en el botón Subir en el IDE de Arduino para transferir el código a tu Arduino UNO R4.
  • Acerca un imán al interruptor de láminas, luego aléjalo del interruptor de láminas.
  • Verifica los resultados en el Monitor Serial.
COM6
Send
The door closing is detected The door opening is detected
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

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.

Tutoriales Relacionados

※ 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!