
La Puerta de Zafira: puerta automática activada por imán
🐾 La Puerta de Zafira
Una puerta inteligente con Arduino, Tinkercad y un pequeño imán
Una historia de los Centuriones de la Verdad
En las montañas cercanas a Sierra Bermeja existe una base secreta que muy pocas personas conocen.
Allí vive el Lince de la Noche, protector de la naturaleza y defensor de los más débiles. Pero no está solo.
Su compañera inseparable es Zafira, una perrita inteligente, valiente y curiosa que le acompaña en todas sus aventuras.
La entrada a la guarida está protegida por una puerta muy especial. No tiene llaves, ni códigos secretos, ni huellas dactilares.
Solo se abre cuando detecta el pequeño imán escondido en el collar verde de Zafira.
Si cualquier otro animal intenta entrar, la puerta permanece cerrada.
Hoy vamos a construir una versión de esa puerta utilizando Arduino.
Y descubriremos que una idea tan sencilla como un pequeño imán puede convertirse en un sistema inteligente.
🌍 Objetivos de Desarrollo Sostenible
Este proyecto contribuye especialmente a:
- ODS 9 – Industria, innovación e infraestructura, aplicando tecnología para resolver problemas cotidianos.
- ODS 11 – Ciudades y comunidades sostenibles, mediante automatización inteligente.
- ODS 12 – Producción y consumo responsables, evitando pérdidas de energía al abrir únicamente cuando es necesario.

🎯 Objetivo
Construir una puerta automática que:
- Detecte el imán del collar de una mascota.
- Abra la puerta mediante un servomotor.
- Espere unos segundos.
- Vuelva a cerrarse automáticamente.
🧰 Material necesario
- Arduino UNO
- Reed Switch (o sensor Hall)
- Servomotor SG90
- LED verde
- LED rojo
- Resistencias de 220 Ω
- Protoboard
- Cables

⚙️ Funcionamiento
Estado normal
- 🚪 Puerta cerrada.
- 🔴 LED rojo encendido.
- El servo permanece en 0°.
Zafira se acerca
El pequeño imán oculto en su collar activa el reed switch.
Entonces:
- 🟢 Se enciende el LED verde.
- 🚪 El servo gira hasta 90°.
- La puerta permanece abierta durante cinco segundos.
Zafira entra en la guarida
Pasados esos segundos:
- El servo vuelve a 0°.
- La puerta se cierra.
- Se apaga el LED verde.
- Se vuelve a encender el rojo.
La base vuelve a estar protegida.
🔌 Conexiones
Reed Switch
| Reed Switch | Arduino |
|---|---|
| Terminal 1 | D2 |
| Terminal 2 | GND |
Se utilizará INPUT_PULLUP, por lo que no es necesaria una resistencia externa.
Servomotor
| Servo | Arduino |
|---|---|
| Señal | D9 |
| VCC | 5V |
| GND | GND |
LED verde
| LED | Arduino |
|---|---|
| Ánodo | D6 |
| Cátodo | Resistencia → GND |
LED rojo
| LED | Arduino |
|---|---|
| Ánodo | D7 |
| Cátodo | Resistencia → GND |
💻 Código Arduino
#include <Servo.h>
Servo puerta;
const int reed = 2;
const int ledVerde = 6;
const int ledRojo = 7;
void setup() {
puerta.attach(9);
pinMode(reed, INPUT_PULLUP);
pinMode(ledVerde, OUTPUT);
pinMode(ledRojo, OUTPUT);
puerta.write(0);
digitalWrite(ledRojo, HIGH);
Serial.begin(9600);
}
void loop() {
if (digitalRead(reed) == LOW) {
Serial.println("🐾 Zafira ha llegado.");
digitalWrite(ledRojo, LOW);
digitalWrite(ledVerde, HIGH);
puerta.write(90);
delay(5000);
puerta.write(0);
digitalWrite(ledVerde, LOW);
digitalWrite(ledRojo, HIGH);
Serial.println("🚪 La puerta vuelve a cerrarse.");
}
}
🧠 ¿Cómo funciona?
El reed switch es un interruptor especial que solo cambia de estado cuando un imán se acerca.
En nuestro proyecto:
- El imán está en el collar de Zafira.
- Cuando pasa junto a la puerta, el sensor lo detecta.
- Arduino recibe esa señal.
- El servomotor abre automáticamente la entrada.
- Después de unos segundos, la vuelve a cerrar.
Es exactamente el mismo principio que utilizan muchos sistemas reales de control de acceso.
#include <Servo.h> // Library for Servo Motor
int potpin=0;// initialize analog pin 0, connected with photovaristor
int ledpin=13;// initialize digital pin 13, output regulating the brightness of LED
int val=0;// initialize variable val
Servo myServo;
Servo myServo2; // define servo name
/* The setup() function is called when a sketch starts. It is used to initialize variables, pin modes, start using libraries, etc. This function will only run once, after each power up or reset of the Arduino board. */
void setup()
{
pinMode(ledpin,OUTPUT);// set digital pin 13 as “output”
Serial.begin(9600); // set baud rate at “9600”
myServo.attach(3); // servo pin
myServo.write(0); // servo start position
myServo2.attach(6); // servo pin
myServo2.write(0); // servo start position
}
/* The loop() function executes the program repeatedly until Specified. */
void loop()
{
val=analogRead(potpin);// read the analog value of the sensor and assign it to val
Serial.println(val);// display the value of val
analogWrite(ledpin,val);// turn on the LED and set up brightness(maximum output value 255)
delay(10);// wait for 0.01
if(val>250)
{
myServo.write(0);
myServo2.write(0);
}else{
myServo.write(180); //180 degree rotation
myServo2.write(180); //180 degree rotation
}
}
🚀 Mejoras para el alumnado
Nivel 1
Añadir un zumbador que haga sonar un pequeño aviso cuando Zafira llegue.
Nivel 2
Incorporar una pantalla LCD mostrando:
Bienvenida, Zafira 🐶
Nivel 3
Contar cuántas veces entra y sale durante el día.
Nivel 4
Guardar las entradas en una tarjeta SD para estudiar sus hábitos.
Nivel 5
Conectar una ESP32 y enviar una notificación al móvil:
“Zafira acaba de entrar en casa.”
💙 Un auténtico Labour of Love
Este proyecto no solo automatiza una puerta.
Hace la vida más cómoda a las mascotas y a sus dueños.
Evita que otros animales entren donde no deben.
Reduce pérdidas de calor o aire acondicionado.
Y demuestra que la robótica puede resolver problemas cotidianos con soluciones sencillas y elegantes.
🐾 Reto MonteSTEAM
Ahora imagina que eres el ingeniero del Lince de la Noche.
¿Qué otros inventos podrías construir utilizando un simple imán?
Algunas ideas:
- 🚲 Un aparcamiento inteligente para bicicletas.
- 📚 Un sistema automático de préstamo de libros.
- 🗝️ Una caja fuerte que solo se abra con una llave magnética.
- 🦇 Una caja nido que registre la entrada de murciélagos.
- 🐱 Un comedero que solo se abra para una mascota concreta.
- 🚪 Un armario secreto que solo se abra cuando detecte un objeto especial.
🌟 Reflexión final
Cuando pensamos en robótica solemos imaginar grandes robots o máquinas muy complicadas.
Pero muchas veces las mejores ideas son las más sencillas.
Un pequeño imán.
Un sensor.
Un servomotor.
Y un programa de apenas unas líneas son suficientes para construir una puerta inteligente capaz de reconocer a quien tiene permiso para entrar.
Quizá Zafira solo sea una perrita.
Pero gracias a la tecnología, también tiene su propia llave.
Y nosotros hemos aprendido que la electrónica no solo sirve para crear máquinas.
También sirve para cuidar, proteger y hacer la vida un poco mejor.
Porque incluso una puerta puede abrirse… con cariño.
Ejemplo similar con Tinkercad:

// C++ code
// 6.4 Reed Switch (Magnetic Field Detector)
const int kPinReedSwitch = 2;
const int kPinLed = 13;
void setup() {
pinMode(kPinReedSwitch, INPUT);
digitalWrite(kPinReedSwitch, HIGH);
pinMode(kPinLed, OUTPUT);
}
void loop() {
if(digitalRead(kPinReedSwitch) == LOW){
digitalWrite(kPinLed, HIGH);
}
else{
digitalWrite(kPinLed, LOW);
}
}
Etiqueta:4eso, AIDARAC, arduino, desarrollo sostenible, ies monterroso, imán, lince, robótica, tecnología, zafira


