Construye JARVIS v1: Automatización del hogar con Arduino Nano – Tutorial paso a paso
Componentes y suministros
| Arduino Nano R3 | × | 1 |
| Módulo de relés (genérico) – 4 canales | × | 4 |
| Módulo Bluetooth Low Energy (BLE) genérico (ej. HC-05/HC-06) | × | 1 |
| Protoboard (genérica) | × | 1 |
| Cables de conexión (genéricos) | × | 10 |
Herramientas y máquinas necesarias
- Soldador (genérico)
Aplicaciones y servicios en línea
- Arduino IDE
Sobre este proyecto
¿Por qué construimos esto?
Siendo fan de Iron Man, me inspiró mucho JARVIS, un asistente personal controlado por voz, y quise construir mi propio sistema de automatización del hogar. Aunque hay muchos sistemas existentes, decidí crear el mío usando Arduino.
Cómo funciona
Este proyecto controla dispositivos eléctricos y electrónicos (luces, ventilador, TV, etc.) usando Arduino y el circuito de relés instalado en cada habitación. Los datos se envían al Arduino vía módulo Bluetooth y se pueden hacer más implementaciones.
La tarea principal es adquirir los datos y publicarlos en el Arduino usando un móvil. Luego, con esos datos, se controla el encendido/apagado de los dispositivos.
Construcción del hardware
El circuito es muy simple. El coste total sería menos de 20 $.
Paso 1: Piezas y materiales

Componentes necesarios:
- Arduino
- Placa de relés (breakout board)
- Módulo Bluetooth – HC-05
- Cables de conexión (jumper cables)
Paso 2: Conexiones
Las siguientes conexiones se hacen con cables jumper. Para esta demo usé 4 relés, así que se pueden controlar 4 dispositivos con la app.

Arduino → Módulo BT
- TX → RX
- RX → TX
- VCC → 3.3 V
- GND → GND
Arduino → Placa de relés
- IN1 → D2
- IN2 → D3
- IN3 → D4
- IN4 → D5
- VCC → VCC
- GND → GND
Paso 3: El código
Puedes encontrar el código de ejemplo a continuación.
String voice;
int led1 = 2, led2 = 3, led3 = 4, led4 = 5, led5 = 6;
void allon() {
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
}
void alloff() {
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
}
void setup() {
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
}
void loop() {
while (Serial.available()) {
delay(10);
char c = Serial.read();
if (c == '#') break;
voice += c;
}
if (voice.length() > 0) {
Serial.println(voice);
// Control múltiple
if (voice == "*all on") { allon(); }
else if (voice == "*all off") { alloff(); }
// Encendido individual
else if (voice == "*TV on") { digitalWrite(led1, HIGH); }
else if (voice == "*fan on") { digitalWrite(led2, HIGH); }
else if (voice == "*computer on") { digitalWrite(led3, HIGH); }
else if (voice == "*bedroom lights on") { digitalWrite(led4, HIGH); }
else if (voice == "*bathroom lights on") { digitalWrite(led5, HIGH); }
// Apagado individual
else if (voice == "*TV off") { digitalWrite(led1, LOW); }
else if (voice == "*fan off") { digitalWrite(led2, LOW); }
else if (voice == "*computer off") { digitalWrite(led3, LOW); }
else if (voice == "*bedroom lights off") { digitalWrite(led4, LOW); }
else if (voice == "*bathroom lights off") { digitalWrite(led5, LOW); }
voice = "";
}
}
Paso 4: Aplicación
Por ahora usaremos una aplicación ya hecha. En los próximos días publicaré la propia una vez procesados los certificados.
BT Voice Control for Arduino de SimpleLabsIN: https://apkpure.com/bt-voice-control-for-arduino/robotspace.simplelabs.amr_voice/download?from=details
Vídeo de funcionamiento del proyecto
Actualmente la funcionalidad se limita a encender/apagar dispositivos, pero puede procesar lenguaje natural a nivel básico, permitiendo integrar procesamiento de lenguaje natural en otros proyectos.
Muchas gracias a Hackster.io por permitirme participar en esta gran plataforma.
Gracias por realizar actividades que animan a jóvenes y adolescentes a crear e inventar.
Dale like si te ayudó y sígueme para más proyectos. Comparte si te gusta. Suscríbete: https://www.youtube.com/c/rahulkhanna24june?sub_confirmation=1
¡Gracias por leer!
Código
Código de ejemplo
//Coded By: Angelo Casimiro (4/27/14)
//Voice Activated Arduino (Bluetooth + Android)
//Feel free to modify it but remember to give credit
String voice;
int led1 = 2, led2 = 3, led3 = 4, led4 = 5, led5 = 6;
void allon() {
digitalWrite(led1, HIGH); digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH); digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
}
void alloff() {
digitalWrite(led1, LOW); digitalWrite(led2, LOW);
digitalWrite(led3, LOW); digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
}
void setup() {
Serial.begin(9600);
pinMode(led1, OUTPUT); pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT); pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
}
void loop() {
while (Serial.available()) {
delay(10);
char c = Serial.read();
if (c == '#') break;
voice += c;
}
if (voice.length() > 0) {
Serial.println(voice);
if (voice == "*all on") { allon(); }
else if (voice == "*all off") { alloff(); }
else if (voice == "*TV on") { digitalWrite(led1, HIGH); }
else if (voice == "*fan on") { digitalWrite(led2, HIGH); }
else if (voice == "*computer on") { digitalWrite(led3, HIGH); }
else if (voice == "*bedroom lights on") { digitalWrite(led4, HIGH); }
else if (voice == "*bathroom lights on") { digitalWrite(led5, HIGH); }
else if (voice == "*TV off") { digitalWrite(led1, LOW); }
else if (voice == "*fan off") { digitalWrite(led2, LOW); }
else if (voice == "*computer off") { digitalWrite(led3, LOW); }
else if (voice == "*bedroom lights off") { digitalWrite(led4, LOW); }
else if (voice == "*bathroom lights off") { digitalWrite(led5, LOW); }
voice = "";
}
}
Repositorio del proyecto
https://github.com/Rahul24-06/Arduino-Tutorial-JARVIS-v1-How-to-make-a-Home-Automation
Esquemáticos

Proceso de manufactura
- Construye sistema domótico con Raspberry Pi para control remoto
- Construye tu propia máquina de escribir deberes casera (DIY Homework Writing Machine)
- Find Me: Localizador Inteligente de Objetos con Arduino y Bluetooth
- Crea un Botón de Teclado Personalizado y "Apuñalable" con Arduino: Guía Paso a Paso
- Construye un volante joystick personalizado con Arduino para gaming
- Genera Tonos Musicales con Arduino: Guía Paso a Paso
- Puerta automática con Arduino y sensor ultrasónico HC-SR04
- Sistema Avanzado de Monitorización Doméstica con Arduino Mega y Sensores IoT
- Construye un Coche Bluetooth Controlado con Arduino Nano: Guía DIY Completa
- Domina Modbus en Arduino: Guía Paso a Paso
- Construye un Mini Piano con Arduino UNO – Tutorial Paso a Paso