Envía Alertas de Apertura de Puerta por Gmail con Arduino Uno – Guía para Principiantes
Componentes y materiales
| Componente | Cantidad |
|---|---|
| Arduino UNO | 1 |
| PHPoC Shield para Arduino | 1 |
| Sensor magnético (reed switch) | 1 |
Sobre este proyecto
Si eres principiante, puedes aprender sobre WiFi y sensores en Arduino con los tutoriales: WiFi y Arduino y Sensor de Puerta.
En este tutorial te mostraré cómo detectar la apertura de una puerta y enviar una notificación por Gmail usando Arduino Uno. ¡Está diseñado para principiantes y es muy fácil!
Detección del evento de apertura
El sensor magnético consta de dos partes: sensor e imán. Cuando están cerca, el pin de salida del sensor está en HIGH; cuando se separan, pasa a LOW. Instalamos una parte en la hoja de la puerta y la otra en el marco. Comprobando el estado del pin de salida, detectamos la apertura y disparamos la alerta.
Gestión del evento
Cuando ocurre el evento, se envía una notificación por Gmail.
Librerías necesarias
El código usa dos librerías: PHPoC y Button (ezButton).
El mejor kit de inicio Arduino para principiantes
Si buscas un kit Arduino, consulta The Best Arduino Kit for Beginners.
Referencias de funciones
loop()setup()Serial.begin()Serial.println()delay()- Bucles
forywhile - Condicionales
if else String.toInt()
Código
Código fuente
#include <Phpoc.h>
#include <ezButton.h>
PhpocEmail email;
ezButton button(A0); // Objeto botón en pin A0
void setup() {
Serial.begin(9600);
Phpoc.begin(PF_LOG_SPI | PF_LOG_NET | PF_LOG_APP);
// Phpoc.beginIP6(); // Descomentar para IPv6
button.setDebounceTime(100); // Antirrebotes 100ms
}
void loop() {
button.loop(); // Llamar obligatoriamente
if (button.isPressed()) { // Puerta abierta
email.setOutgoingServer("smtp.gmail.com", 587);
email.setOutgoingLogin("Tu_Google_ID", "Tu_Google_Password");
email.setFrom("Tu_Gmail", "Nombre_Remitente");
email.setTo("Email_Destinatario", "Nombre_Destinatario");
email.setSubject("Puerta abierta. [#905]");
email.beginMessage();
email.println("#905");
email.println("");
email.println("La puerta ha sido abierta.");
email.endMessage();
if (email.send() > 0)
Serial.println("Email enviado correctamente");
else
Serial.println("Error al enviar email");
}
else if (button.isReleased()) { // Puerta cerrada
// Código similar para notificación de cierre
}
}
Librería PHPoC para Arduino
Esta librería comunica con el PHPoC Shield para conexión a Internet e incluye funcionalidad Gmail. Instalación: manual oficial | GitHub
Esquemático
- Apilar PHPoC Shield sobre Arduino
- Conectar cable LAN o dongle USB WiFi al shield para Ethernet
- Cableado entre Arduino y sensor:
- 5V (Arduino) → Pin rojo (sensor)
- A0 (Arduino) → Pin negro (sensor)

Proceso de manufactura
- Sensor K30 CO₂: Monitorización en tiempo real de la calidad del aire interior
- Construye un estadiómetro digital: Controla tu altura con Arduino y sensor láser
- Integración del sensor de huella capacitivo DFRobot (ID809) con Arduino o ESP8266
- Construye una Torre de Sensores con Arduino Cloud: Temperatura, Movimiento y Gas
- Pistola de Agua Inteligente Activada por Movimiento con Arduino Nano
- Puerta de control de temperatura sin contacto para detección rápida y precisa
- Arduino UNO + Shield WiFi: Visualización de Temperatura en Tiempo Real en Web vía Serial
- Sistema inteligente de monitorización de temperatura para escuelas: preciso, en tiempo real y seguro
- Sistema Radar Compacto con Arduino Nano, Sensor HC-SR04 y Pantalla 1.8"
- Interruptor Táctil Capacitivo LED con Arduino UNO – Proyecto DIY Fácil
- Estación Inteligente de Monitorización de Salud: Arduino, Bluetooth y Sensores