Alarma Antirrobo Instantánea con Alertas SMS – Guía DIY con Arduino Yun
Componentes y materiales
| Componente | Cantidad |
|---|---|
| Arduino Yun (o Leonardo + shield WiFi) | 1 |
| Batería 9V (genérica) | 1 |
| Cables de conexión | 1 |
| Sensor ultrasónico HC-SR04 | 1 |
Aplicaciones y servicios online
- Temboo (plataforma IoT para conectar APIs)
- Twilio SMS Messaging API
Sobre el proyecto
Crea una alarma antirrobo que envía SMS a tu móvil al detectar movimiento. El sensor HC-SR04 monitoriza la distancia; si hay un cambio brusco (intruso), el Arduino Yun llama a Temboo vía WiFi, que a su vez invoca la API de Twilio para enviar el mensaje. No requiere soldadura ni conocimientos avanzados; se monta en ~45 minutos.
Funcionamiento
- Sensor HC-SR04 detecta interrupción en los pulsos.
- Arduino Yun llama a Temboo por WiFi.
- Temboo indica a Twilio que envíe el SMS.
Pasos
Paso 1: Conexiones y prueba del sensor
Conecta VCC a 5V, GND a GND, Trig a D2, Echo a D4. Carga el código de prueba (ver abajo), abre el monitor serie a 9600 baudios y verifica que imprime distancias en pulgadas. Cuando detecte un cambio grande, mostrará "Intruder Detected!".
Paso 2: Conectar Yun a WiFi
Sigue la guía oficial de Arduino Yun para configurar la red. Verifica con un escáner de red (ej. LanScan en Mac) que el Yun aparece en la misma red.
Paso 3: Añadir funcionalidad SMS
- Crea un sketch nuevo en Arduino IDE.
- Pega el código completo con SMS.
- Crea pestaña
TembooAccount.hy pega el bloque de cabecera. - Regístrate en Temboo y Twilio para obtener credenciales.
Paso 4: Insertar credenciales
- En Twilio:
Account SID,Auth Token, número From (formato+1XXXXXXXXXX). - En Temboo:
TEMBOO_ACCOUNT,TEMBOO_APP_KEY_NAME,TEMBOO_APP_KEY. - Edita el sketch con tus datos y el número destino (
To).
Paso 5: ¡Listo!
Alimenta con la batería 9V (con interruptor). El monitor serie mostrará "Patrol Mode Initiated...". Ajusta los umbrales de distancia (inches < 20 || inches > 1100) según la ubicación para evitar falsos positivos. El código limita a 10 envíos por ciclo para no gastar llamadas gratuitas de Temboo/Twilio.
Código
Código de prueba (sin SMS)
#include <SoftwareSerial.h>
int trigPin = 2, echoPin = 4;
long duration, inches;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
delay(5000);
Serial.println("Patrol Mode Initiated...");
}
void loop() {
digitalWrite(trigPin, LOW); delayMicroseconds(1);
digitalWrite(trigPin, HIGH); delayMicroseconds(2);
digitalWrite(trigPin, LOW);
pinMode(echoPin, INPUT);
duration = pulseIn(echoPin, HIGH);
inches = (duration / 2) / 74;
Serial.println(inches);
if (inches < 20 || inches > 1000) {
Serial.println("Intruder Detected!");
Serial.println("Sending text Notification...");
delay(5000);
Serial.println("Patrol Mode Initiated...");
}
}
Código completo con SMS (Temboo + Twilio)
#include <Bridge.h>
#include <Temboo.h>
#include "TembooAccount.h"
#include <SoftwareSerial.h>
int numRuns = 1, maxRuns = 5;
int trigPin = 2, echoPin = 4;
long duration, inches;
void setup() {
Serial.begin(9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
delay(5000);
Bridge.begin();
Serial.println("Patrol Mode Initiated...");
}
void loop() {
digitalWrite(trigPin, LOW); delayMicroseconds(1);
digitalWrite(trigPin, HIGH); delayMicroseconds(2);
digitalWrite(trigPin, LOW);
pinMode(echoPin, INPUT);
duration = pulseIn(echoPin, HIGH);
inches = (duration / 2) / 74;
Serial.println(inches);
if (inches < 20 || inches > 1100) {
Serial.println("Intruder Detected!");
Serial.println("Sending text Notification...");
if (numRuns <= maxRuns) {
Serial.println("Running SendSMS - Run #" + String(numRuns++));
TembooChoreo SendSMSChoreo;
SendSMSChoreo.begin();
SendSMSChoreo.setAccountName(TEMBOO_ACCOUNT);
SendSMSChoreo.setAppKeyName(TEMBOO_APP_KEY_NAME);
SendSMSChoreo.setAppKey(TEMBOO_APP_KEY);
SendSMSChoreo.addInput("AuthToken", "TU_AUTH_TOKEN");
SendSMSChoreo.addInput("To", "+1TU_NUMERO");
SendSMSChoreo.addInput("From", "+1TU_NUMERO_TWILIO");
SendSMSChoreo.addInput("Body", "¡Intruso detectado!!!");
SendSMSChoreo.addInput("AccountSID", "TU_ACCOUNT_SID");
SendSMSChoreo.setChoreo("/Library/Twilio/SMSMessages/SendSMS");
SendSMSChoreo.run();
while(SendSMSChoreo.available()) {
char c = SendSMSChoreo.read();
Serial.print(c);
}
SendSMSChoreo.close();
}
Serial.println("Waiting...");
delay(10000);
Serial.println("Patrol Mode Initiated...");
}
}
Esquemático

Enlace original: wirebeings.com/arduino-intruder-alarm.html (código, librerías y detalles).
Proceso de manufactura
- Integración de datos de sensores en Raspberry Pi: Guía práctica
- Sensor de seguimiento de línea con Raspberry Pi – Detector simple KY‑033 para puerta/línea
- Construya una API robusta de temperatura y sensores en Raspberry Pi usando el módulo GY‑91
- Monitorización segura del hogar con Home Assistant en Raspberry Pi: Movimiento, alarma y captura de vídeo
- Construya una Alarma de Agua Headless para Raspberry Pi 2 con Adafruit T‑Cobbler Plus
- Conectar sensor ultrasónico HC-SR04 a Raspberry Pi: guía práctica
- Construye un sistema aeropónico automatizado con Raspberry Pi y sensor de humedad
- Domina GPIO de Raspberry Pi: interfaz sensor PIR movimiento en B+/Model 2
- Integrar radar pulsado Acconeer A111 con Raspberry Pi: guía práctica
- Cómo Conectar, Calibrar y Programar el Sensor PIR HC‑SR501 con Raspberry Pi
- Logger de Sensores Python/MicroPython: Almacena Datos de Sensores en Google Sheets Fácilmente