Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

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

Aplicaciones y servicios en línea

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

Construye JARVIS v1: Automatización del hogar con Arduino Nano – Tutorial paso a paso

Componentes necesarios:

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.

Construye JARVIS v1: Automatización del hogar con Arduino Nano – Tutorial paso a paso

Arduino → Módulo BT

Arduino → Placa de relés

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

Construye JARVIS v1: Automatización del hogar con Arduino Nano – Tutorial paso a paso

Proceso de manufactura

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