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

Tutorial de Arduino:JARVIS v1 | Cómo hacer una automatización del hogar

Componentes y suministros

Arduino Nano R3
× 1
Módulo de relé (genérico)
× 4
Módulo Bluetooth de baja energía (BLE) (genérico)
× 1
Breadboard (genérico)
× 1
Cables de puente (genéricos)
× 10

Herramientas y máquinas necesarias

Soldador (genérico)

Aplicaciones y servicios en línea

Arduino IDE

Acerca de este proyecto

¿Por qué construimos esto?

Siendo un fan de Iron Man, estaba realmente inspirado por JARVIS, un asistente personal controlado por voz y tenía muchas ganas de construir un sistema de automatización del hogar. Aunque hay muchos sistemas existentes disponibles, decidí construir mi propio sistema de automatización del hogar usando Arduino.

Cómo funciona:

Este proyecto tiene como objetivo controlar dispositivos eléctricos y electrónicos como luz, ventilador, TV, etc. Esto se realiza utilizando Arduino y el circuito de relés que se instala en cada habitación de la casa. Los datos se publicarán en Arduino a través del módulo Bluetooth y se pueden realizar más implementaciones.

La tarea principal sería adquirir los datos y publicarlos en Arduino usando un móvil. Y luego con los datos, se puede hacer un control para encender / apagar los dispositivos.

Compilación de hardware

El circuito es muy simple. El costo total de este producto sería inferior a 20 dólares.

Paso 1:piezas y material

Los componentes necesarios para este proyecto son:

  • Arduino
  • Tablero de ruptura de relés
  • Módulo Bluetooth - HC-05
  • Cables de puente

Paso 2:Conexiones

Las siguientes conexiones se realizan utilizando los cables de puente. Para esta demostración, he usado cuatro relés, lo que significa que se pueden controlar cuatro dispositivos usando la APLICACIÓN.

* Arduino -> MÓDULO BT *

  • TX -> RX
  • RX -> TX
  • VCC -> 3.3v
  • GND -> GND

* Arduino -> Placa de relés *

  • IN1 -> D2
  • IN2 -> D3
  • IN3 -> D4
  • IN4 -> D5
  • VCC -> VCC
  • GND -> GND

Paso 3:el código

Puede encontrar el código de muestra a continuación.

  String voice; 
int
led1 =2, // Conecte el LED 1 al pin # 2
led2 =3, // Conecte el LED 2 al pin # 3
led3 =4, // Conecte el LED 3 al pin # 4
led4 =5, // Conecte el LED 4 al pin # 5
led5 =6; // Conecte el LED 5 al pin # 6
// -------------------------- Llamar a una función ------ ------------------------- //
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, BAJO);
}
// ----------------------------- ------------------------------------------ //
configuración nula () {
Serial.begin (9600);
pinMode (led1, SALIDA);
pinMode (led2, SALIDA);
pinMode (led3, SALIDA);
pinMode (led4, SALIDA);
pinMode (led5, SALIDA);
}
// -------------------- -------------------------------------------------- - //
void loop () {
while (Serial.available ()) {// Verifica si hay un byte disponible para leer
delay (10); // Retraso agregado para hacer algo estable
char c =Serial.read (); // Realizar una lectura en serie
if (c =='#') {break;} // Salir del bucle cuando se detecta el # después de la palabra
voice + =c; // Abreviatura de voz =voz + c
}
if (voice.length ()> 0) {
Serial.println (voice);
// ---- -------------------------------------------------- ----------------- //
// ---------- Controla varios pines / LED ---------- //
if (voice =="* all on") {allon ();} // Turn Off All Pins (Call Function)
else if (voice =="* all off") { alloff ();} // Activar todos los pines (función de llamada)

// ---------- Activar uno por uno -------- - //
else if (voice =="* TV on") {digitalWrite (led1, HIGH);}
else if (voice =="* fan on") {digitalWrite (led2, ALTA);}
else if (voz =="* computadora encendida") {digitalWrite (led3, HIGH);}
else if (voz =="* luces del dormitorio encendidas") {digitalWrite (led4 , HIGH);}
else if (voice =="* luces del baño encendidas") {digitalWrite (led5, HIGH);}
// ---------- Apague uno -By-One ---------- //
else if (voice =="* TV off") {digitalWrite (led1, LOW);}
else if (voice =="* ventilador apagado") {digitalWrite (led2, LOW);}
else if (voice =="* compute r off ") {digitalWrite (led3, LOW);}
else if (voice ==" * luces del dormitorio apagadas ") {digitalWrite (led4, LOW);}
else if (voice ==" * luces del baño apagadas ") {digitalWrite (led5, LOW);}
// ----------------------------- ------------------------------------------ //
voz ="";}} // Restablecer la variable después de iniciar

Paso 4:Aplicación

Por ahora usaremos la aplicación lista para usar. En los días siguientes, publicaré la solicitud una vez que se procesen los certificados.

BT Voice Control para Arduino creado por SimpleLabsIN:https://apkpure.com/bt-voice-control-for-arduino/robotspace.simplelabs.amr_voice/download?from=details

Video de trabajo de este proyecto:

En la actualidad, la funcionalidad se limita a encender o apagar los dispositivos, pero puede procesar el lenguaje natural a un nivel básico que permite al usuario integrar el procesamiento del lenguaje natural a los otros proyectos.


Muchas gracias a Hackster.io por permitirnos participar a mí y a todos los usuarios de esta gran plataforma.

Gracias por realizar estas actividades que animan a los jóvenes y adolescentes a crear e inventar.

Dale un pulgar hacia arriba si realmente te ayudó y sigue mi canal para proyectos interesantes. :)

Comparta este video si lo desea.

Feliz de que se haya suscrito:https://www.youtube.com/c/rahulkhanna24june?sub_confirmation=1

¡Gracias por leer!

Código

  • Código de muestra
Código de muestra Arduino
 // Codificado por:Angelo Casimiro (27/4/14) // Arduino activado por voz (Bluetooth + Android) // Siéntase libre de modificarlo pero recuerde dar créditoString voice; intled1 =2, // Connect LED 1 Al pin n. ° 2led2 =3, // Conecte el LED 2 al pin n. ° 3led3 =4, // Conecte el LED 3 al pin n. ° 4led4 =5, // Conecte el LED 4 al pin n. ° 5led5 =6; // Conecte el LED 5 al pin n. ° 6 // -------------------------- Llamar a una función ---------- --------------------- // void allon () {digitalWrite (led1, HIGH); digitalWrite (led2, ALTO); digitalWrite (led3, ALTO); digitalWrite (led4, ALTO); digitalWrite (led5, HIGH);} void alloff () {digitalWrite (led1, LOW); digitalWrite (led2, BAJO); digitalWrite (led3, BAJO); digitalWrite (led4, BAJO); digitalWrite (led5, BAJO);} // ---------------------------------------- ------------------------------- // configuración vacía () {Serial.begin (9600); pinMode (led1, SALIDA); pinMode (led2, SALIDA); pinMode (led3, SALIDA); pinMode (led4, SALIDA); pinMode (led5, SALIDA);} // ---------------------------------------- ------------------------------- // bucle vacío () {while (Serial.available ()) {// Comprobar si hay un byte disponible para leer el retardo (10); // Retraso agregado para hacer algo estable char c =Serial.read (); // Realizar una lectura en serie if (c =='#') {break;} // Salir del bucle cuando se detecta el # después de la palabra voice + =c; // Abreviatura de voice =voice + c} if (voice.length ()> 0) {Serial.println (voice); // -------------------- -------------------------------------------------- - // // ---------- Controlar varios pines / LED ---------- // if (voice =="* all on") {allon ();} / / Apagar todos los pines (Función de llamada) else if (voice =="* todo apagado") {alloff ();} // Activar todos los pines (Función de llamada) // ---------- Activar On One-By-One ---------- // else if (voice =="* TV on") {digitalWrite (led1, HIGH);} else if (voice =="* fan on" ) {digitalWrite (led2, HIGH);} else if (voice =="* computadora encendida") {digitalWrite (led3, HIGH);} else if (voz =="* luces del dormitorio encendidas") {digitalWrite (led4, HIGH );} else if (voice =="* luces del baño encendidas") {digitalWrite (led5, HIGH);} // ---------- Apagar uno por uno ------ ---- // else if (voice =="* TV off") {digitalWrite (led1, LOW);} else if (voice =="* fan off") {digitalWrite (led2, LOW);} else if (voz =="* computadora apagada") {digitalWrite (led3, LOW);} else if (voz =="* luces del dormitorio apagadas") {digitalWrite (led4, LOW);} else i f (voz =="* luces del baño apagadas") {digitalWrite (led5, LOW);} // --------------------------- -------------------------------------------- // voz ="";}} // Restablece la variable después de iniciar 
Informe del proyecto
https://github.com/Rahul24-06/Arduino-Tutorial-JARVIS-v1-How-to-make-a-Home-Automation

Esquemas


Proceso de manufactura

  1. RASPBERRY PI HOME AUTOMATION
  2. Haga una máquina de escribir para hacer tareas caseras en casa
  3. Encuéntrame
  4. Cómo hacer un botón de teclado perforable personalizable
  5. Joystick de Arduino
  6. Cómo hacer música con un Arduino
  7. Cómo hacer una apertura automática de puerta basada en Arduino
  8. Monitor de casa
  9. Cómo hacer un coche controlado por Bluetooth Arduino
  10. Cómo utilizar Modbus con Arduino
  11. Tutorial de Arduino:Mini piano