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

Sistema de seguridad y automatización del hogar inteligente con 1Sheeld

Componentes y suministros

Arduino UNO
× 1
1Sheeld
× 1
Retransmisión (genérico)
iam usando YW Robot Relay 4 Channel
× 1
Buzzer
× 2
Sensor de temperatura
Estoy usando LM35DZ
× 1
Cables de puente (genéricos)
× 1
Sensor de movimiento PIR (genérico)
× 1
Interruptor de puerta magnético SparkFun
× 2
LCD estándar Adafruit - 16x2 blanco sobre azul
× 1

Herramientas y máquinas necesarias

Cortadora láser (genérica)

Acerca de este proyecto

Hola descripción general

La historia comienza desde aquí.

Decidimos hacer este proyecto porque fue un gran paso construir todas estas cosas juntas, este proyecto lo ayudará a comprender muchos conceptos y obtendrá una buena experiencia, así que comencemos a aprender a construir estas cosas geniales:)

Cómo funciona nuestro proyecto:

Este proyecto te permite controlar todas las luces de tu casa con tus comandos de voz o con un SMS :), no solo esto también era un sistema de seguridad, cuando cualquier extraño entra a tu casa mientras estás durmiendo o fuera de tu casa, envía un correo electrónico Para usted dice que hay un extraño en su casa y un sistema de alarma (zumbador) funcionará en su casa, también cuando envía un SMS para encender o apagar las luces, le envía un correo electrónico para informarle que el pedido fue Se ejecuta, también si el sensor Tmp detecta que la temperatura. Es más de 35 Una alarma (zumbador) funcionará en su casa y el sistema le enviará un correo electrónico que dice que la temperatura. Era superior a 35.

NOTA:No olvide decir Jarvis antes de cualquier comando que desee dar :) Para que el sistema pueda escuchar su comando.

NOTA:Después de cualquier comando que le dé al sistema, Jarvis le responderá :) Como si estuviera hablando con su asistente real.

NOTA:para encender el sistema de seguridad, déle a su teléfono inteligente un comando de voz (seguridad activada), para apagar el sistema de seguridad, diga (seguridad desactivada)

Conozcamos más sobre 1sheeld:

1Sheeld convierte su teléfono inteligente en 40 escudos Arduino diferentes. Por lo tanto, no tenemos que comprar protectores para Arduino, ya que los tenemos en nuestro teléfono inteligente.

Esta es la razón por la que usamos el 1Sheeld Board, no necesita comprar ningún sensor porque ya los tiene en su teléfono inteligente.

Si desea obtener más información sobre cómo comenzar con 1Sheeld, haga clic aquí

Lo primero que debe hacer es tomar el archivo CAD que hemos cargado y cortarlo con la máquina de corte por láser.

  • Entonces necesita colocar el sensor del interruptor de puerta magnético en su puerta de esta manera
  • Era un sensor digital, por lo que devolverá un valor digital 0 O 1
  • Necesita calibrar su sensor antes de usarlo para saber cuál es la lectura cuando estaba abierto y cuando estaba cerca.

Las lámparas de CA

  • Luego, debe cortar las paredes para colocar las lámparas en sus lugares específicos.
  • Conecte todos los cables de las lámparas en paralelo.

El sensor de temperatura

  • Estoy usando LM35DZ, que tiene 3 patas
  • + V está conectado a 5V en el Arduino
  • GND al suelo en el Arduino
  • SALIDA al pin A0 en el Arduino que nos dará la lectura

¿Cómo utilizar 1sheeld?

1- Apila 1Sheeld en la parte superior de tu placa Arduino y escribe el código usando la biblioteca 1Sheeld.

2 - Cargue el código en Arduino usando Arduino IDE (puede descargar Arduino IDE desde aquí)

3 - Nota:asegúrese de que el interruptor UART esté en el modo de carga.

4 - Después de terminar de cargar el código, vuelva a poner el interruptor en el modo operativo

Nota:¡No lo olvide! Si no vuelve a cambiar el interruptor UART al modo operativo, su proyecto no funcionará correctamente ya que no tendrá comunicación entre 1Sheeld y la placa Arduino.

La aplicación 1Sheeld:

  • Abra su aplicación 1Sheeld. Puede descargarla desde aquí
  • Luego, abra su aplicación y conéctese con su placa. Se le pedirá que ingrese el código de emparejamiento (el código de emparejamiento predeterminado es 1234) y se conecte a 1Sheeld a través de bluetooth.
  • Luego, elija los escudos que usaremos (SMS, reconocimiento de voz, texto a voz, reloj, correo electrónico).
  • Ahora pruebe su trabajo :)

NOTA:Hicimos nuestro propio Jarvis femenino:D

Haz tu propio Jarvis.

Código

  • Sistema de seguridad y automatización del hogar inteligente
Sistema de seguridad y automatización del hogar inteligente Arduino
 / * * Equipo de sistemas de seguridad y automatización de hogares inteligentes SADEE * CORREO ELECTRÓNICO:[email protected] * Para más proyectos como nuestra página de Facebook:https://www.facebook.com/Scientific-%D9%90Association-of- the-Department-of-Electrical-Engineering-At-ACU-260274217766395 / * / # define CUSTOM_SETTINGS // Usado para definir protectores específicos con los que trabajaremos para guardar la memoria Arduino # define INCLUDE_VOICE_RECOGNIZER_SHIELD // Ayúdanos a comunicarnos con el 1 Tablero Sheeld con comandos de voz // Variables que guardarán la hora y los minutos en él String strh; // Usará esta línea para convertir el valor int que lee el reloj en StringString strm; char h [4]; char m [4]; LiquidCrystal lcd (2,3,4,5,6,7); # define receptionLamp A1 // Este ES el relé de recepción #define bedRoomLamp A2 // Este es el BedRoom #define pathRoomLamp A3 // Este ES el baño #define balaconyLamp A4 // Esto ES La cocina const char timeCommand [] ="what time is it"; // Los comandos que le diremos a 1Sheeld para realizar su tarea. const char receptionCommandOff [] ="recepción de"; const char whatsUp [] ="buenos días"; const char pathRoomCommandOn [] ="baño encendido"; const char pathRoomCommandOff [] ="baño apagado"; const char balaconyCommandOn [] ="cocina encendida"; const char balaconyCommandOff [] ="cocina apagada"; const char bedRoomCommandOn [] ="dormitorio encendido"; const char bedRoomCommandOff [] ="dormitorio apagado"; const char lightsOn [] ="encendido"; // Esto ES para SMS Shield Cuando enviamos un SMS Contiene (luces encendidas) Las luces se encenderán const char lightsOff [] ="off"; // Esto es para SMS Shield cuando enviamos un SMS contiene (luces apagadas) Las luces se apagarán // ************************ *********************************************** **************************** const char securityModeOn [] ="seguridad activada"; // Esto es para el sistema de seguridad cuando decimos (seguridad activada) Entonces activamos el sistema de seguridad. Cualquiera romperá el sistema. La alarma funcionaráconst char securityModeOff [] ="seguridad desactivada"; // Apagando el sistema de seguridad Alguien rompe el sistema de seguridad La alarma no funcionará // **************************** *********************************************** *********************** const char mainCommand [] ="jarvis"; // Decimos jarvis antes de cualquier comando de voz para que el sistema me escuche String noon; // # define tmp A0 // Para el sensor TMP usamos LM35DZ // int voltage, degree; // Las variables que contendrán los diferentes voltajes durante el cambio de temperatura y el grado en celisus después de un ecualizador matemático simple. byte smile [] ={// Hacer un símbolo de sonrisa en la pantalla de cristal líquido B00000, B01001, B01001, B00000, B00000, B10001, B01110, B00000,}; # define magneticReception 8 // El interruptor magnético para la recepción # define magneticBalacony 9 // El interruptor magnético del Balaconyint buzzer2 =10; // Este zumbador es para sensor de temperatura // D11 estaba libre; int buzzer1 =A5; // Este zumbador es para los interruptores magnéticos. Si alguien rompe el sistema de seguridad, este zumbador funcionará en magneticReceptionState; // La variable contendrá la lectura del interruptor magnético si fue 1 o 0 en magnetBalaconyState; int state =0; // Esto para la seguridad de Jarvisbool; // Esto Para el sistema de seguridad void setup () {noTone (buzzer1); noTone (buzzer2); // analogReference (INTERNAL); // Referencia para que el sensor TMP sea preciso 1.1 VoltagedigitalWrite (receptionLamp, HIGH); digitalWrite (bedRoomLamp, HIGH); digitalWrite (pathRoomLamp, HIGH); digitalWrite (balaconyLamp, HIGH); // passState =false; lcd.begin (16 , 2); // Comienza la pantalla LCD OneSheeld.begin (); // Comienza el OneSheeld BoardpinMode (receptionLamp, OUTPUT); pinMode (bedRoomLamp, SALIDA); pinMode (balaconyLamp, SALIDA); pinMode (pathRoomLamp, SALIDA); pinMode (zumbador1, SALIDA); // para switchpinMode magnético (magneticReception, INPUT_PULLUP); // Usamos la resistencia PULLUP que está incorporada en el BoardpinMode (magneticBalacony, INPUT_PULLUP); // pinMode (tmp, INPUT); pinMode (buzzer2, OUTPUT); // para sensor de temperatura lcd.createChar (0, smile); lcd.clear (); lcd.setCursor (0,0); lcd.print ("Bienvenido al"); delay (4000); lcd.clear (); lcd.setCursor (0,0); lcd.print ("Hogar inteligente"); lcd.setCursor (0,1); lcd.print ("Automatización y"); retraso (4000); lcd.clear (); lcd .setCursor (0,0); lcd.print ("Sistema de seguridad"); retraso (4000); lcd.clear (); lcd.setCursor (0,0); lcd.print ("CALIBRANDO ...."); delay (10000); if (! VoiceRecognition.isNewCommandReceived ()) // Si no hay comandos de voz, imprima estas instrucciones {lcd.clear (); lcd.setCursor (1,0); lcd.print ("Estamos aquí para"); lcd.setCursor (4,1); lcd.print ("AYUDARLE"); } seguridad =falso;} bucle void () {Clock.queryDateAndTime (); // Esta función para consultar la fecha y la hora utilizando el protector de reloj en OneSheeld BoardSMS.setOnSmsReceive (&MyFunction); // Esta función para los minutos de SMS =Clock.getMinutes (); hours =Clock.getHours (); if (hours> 12) // Hacemos esto para cambiar la hora del sistema de 24 horas al sistema de 12 horas y saber si Es AM o PM {horas- =12; mediodía ="P M";} else {mediodía ="A M"; } strh =String (horas); strm =String (minutos); strh.toCharArray (h, 4); // Conversión de las horas que convertimos en cadena para que sean un Char Arraystrm.toCharArray (m, 4); VoiceRecognition.start (); // Iniciar el reconocimiento de voz ShieldOneSheeld.delay (8000); // Retraso para hacer los pedidos Luego inicie Agaimif (VoiceRecognition.isNewCommandReceived ()) {if (! Strcmp (mainCommand, VoiceRecognition.getLastCommand ())) // Compare el último comando de voz con el comando principal que es "Alexa" {TextToSpeech .say ("sí señor"); // Esta función es ordenar el texto al escudo de voz para que realice su tarea lcd.clear (); lcd.setCursor (8,0); lcd.write (byte (0)); estado =1; } if (! strcmp (receptionCommandOn, VoiceRecognition.getLastCommand ()) &&state ==1) // Compare las dos cadenas, el último comando recibido y la cadena que hice antes de {TextToSpeech.say ("ok, señor, la lámpara de la recepción está encendida "); OneSheeld.delay (2500); digitalWrite (lámpara de recepción, BAJA); lcd.clear (); lcd.setCursor (0,0); lcd.print ("La lámpara de pasillo es"); lcd.setCursor (8,1); lcd.print ("ENCENDIDO"); estado =0; } else if (! strcmp (receptionCommandOff, VoiceRecognition.getLastCommand ()) &&state ==1) {TextToSpeech.say ("ok, señor, la lámpara de la recepción está apagada"); OneSheeld.delay (2500); digitalWrite (lámpara de recepción, ALTA); lcd.clear (); lcd.setCursor (0,0); lcd.print ("La lámpara de pasillo es"); lcd.setCursor (7,1); lcd.print ("APAGADO"); estado =0; } else if (! strcmp (bedRoomCommandOn, VoiceRecognition.getLastCommand ()) &&state ==1) {TextToSpeech.say ("ok, señor, la lámpara de la habitación está encendida"); OneSheeld.delay (2500); digitalWrite (bedRoomLamp, LOW); lcd.clear (); lcd.setCursor (0,0); lcd.print ("El dormitorio"); lcd.setCursor (0,1); lcd.print ("la lámpara está:encendida"); estado =0; } else if (! strcmp (bedRoomCommandOff, VoiceRecognition.getLastCommand ()) &&state ==1) {TextToSpeech.say ("ok señor, la lámpara del dormitorio está apagada"); OneSheeld.delay (2500); digitalWrite (bedRoomLamp, HIGH); lcd.clear (); lcd.setCursor (0,0); lcd.print ("El dormitorio"); lcd.setCursor (0,1); lcd.print ("la lámpara está:APAGADA"); estado =0; } else if (! strcmp (pathRoomCommandOn, VoiceRecognition.getLastCommand ()) &&state ==1) {TextToSpeech.say ("ok señor, la lámpara del baño está encendida"); OneSheeld.delay (2500); digitalWrite (pathRoomLamp, LOW); lcd.clear (); lcd.setCursor (0,0); lcd.print ("El baño"); lcd.setCursor (0,1); lcd.print ("la lámpara está:encendida"); estado =0; } else if (! strcmp (pathRoomCommandOff, VoiceRecognition.getLastCommand ()) &&state ==1) {TextToSpeech.say ("ok señor, la lámpara del baño está apagada"); OneSheeld.delay (2500); digitalWrite (pathRoomLamp, ALTA); lcd.clear (); lcd.setCursor (0,0); lcd.print ("El baño"); lcd.setCursor (0,1); lcd.print ("la lámpara está:APAGADA"); } else if (! strcmp (balaconyCommandOn, VoiceRecognition.getLastCommand ()) &&state ==1) {TextToSpeech.say ("ok señor, la lámpara de la cocina está encendida"); OneSheeld.delay (2500); digitalWrite (balaconyLamp, LOW); lcd.clear (); lcd.setCursor (0,0); lcd.print ("La cocina"); lcd.setCursor (0,1); lcd.print ("La lámpara está:ENCENDIDA"); estado =0; } else if (! strcmp (balaconyCommandOff, VoiceRecognition.getLastCommand ()) &&state ==1) {TextToSpeech.say ("ok señor, la lámpara de la cocina está apagada"); OneSheeld.delay (2500); digitalWrite (balaconyLamp, HIGH); lcd.clear (); lcd.setCursor (0,0); lcd.print ("La cocina"); lcd.setCursor (0,1); lcd.print ("La lámpara está:APAGADA"); estado =0; } más si (! strcmp (whatsUp, VoiceRecognition.getLastCommand ()) &&estado ==1) {lcd.clear (); lcd.setCursor (0,0); lcd.print ("Buenos días :)"); lcd.setCursor (0,1); lcd.print ("Es un buen día"); TextToSpeech.say ("buenos días señor"); OneSheeld.delay (1500); TextToSpeech.say ("el tiempo en el cairo es"); OneSheeld.delay (1500); TextToSpeech.say (h); OneSheeld.delay (1000); TextToSpeech.say (m); OneSheeld.delay (1000); TextToSpeech.say (mediodía); estado =0; } else if (! strcmp (timeCommand, VoiceRecognition.getLastCommand ()) &&estado ==1) {lcd.clear (); lcd.setCursor (0,0); lcd.print ("El tiempo en El Cairo es"); lcd.setCursor (0,1); lcd.print (h); lcd.print (":"); lcd.print (m); lcd.print (""); lcd.print (mediodía); TextToSpeech.say ("el tiempo en el cairo es"); OneSheeld.delay (1500); TextToSpeech.say (h); OneSheeld.delay (1000); TextToSpeech.say (m); OneSheeld.delay (1000); TextToSpeech.say (mediodía); estado =0; } // ********************************************* ************************************************* demás if (! strcmp (securityModeOn, VoiceRecognition.getLastCommand ()) &&state ==1) {lcd.clear (); lcd.setCursor (0,0); lcd.write ("Ok, señor, siéntase seguro"); lcd.setCursor (0,1); lcd.write ("Modo de seguridad"); retraso (200); TextToSpeech.say ("se activó el sistema de seguridad"); seguridad =verdadero; estado =0; } else if (! strcmp (securityModeOff, VoiceRecognition.getLastCommand ()) &&state ==1) {lcd.clear (); lcd.setCursor (0,0); lcd.write ("Ok, señor Seguridad"); lcd.setCursor (0,1); lcd.write ("está APAGADO"); retraso (200); TextToSpeech.say ("el sistema de seguridad se apagó"); seguridad =falso; estado =0; }} // ******************************************** ************Sistema de seguridad ************************************ *********************** magnéticoReceptionState =digitalRead (magneticReception); magneticBalaconyState =digitalRead (magneticBalacony); if (security ==true) {if (magneticReceptionState ==HIGH || magneticBalaconyState ==HIGH) // Si alguien abre la puerta mientras el sistema de seguridad estaba funcionando, emitirá una alarma {tone (buzzer1, 1500); Email.send ("[email protected]", "Sistema de seguridad para el hogar", "Alguien ingresó a su hogar, tenga cuidado"); OneSheeld.delay (3500); } más si (estado de recepción magnético ==BAJO || Estado de equilibrio magnético ==BAJO) {noTone (buzzer1); }} else if (seguridad ==falso) {noTone (buzzer1);} / * voltaje =analogRead (tmp); voltaje =voltaje * 1100/1024; grado =voltaje / 10; if (grado> =35) {tono (zumbador2,1500); Email.send ("[email protected]", "Sistema de seguridad para el hogar", "La temperatura en la cocina ES superior a 45, tenga cuidado"); OneSheeld.delay (5000); } else if (grado <25) {noTone (buzzer2); } * /} // ****************************************** *********************************************** ******************************** void MyFunction (char * phoneNumber, char * messageBody) // Función SMS () {if (! strcmp (lightsOn, messageBody)) // Si enviamos "luces encendidas" como SMS, todas las luces se encenderán {digitalWrite (receptionLamp, LOW); retraso (500); digitalWrite (pathRoomLamp, LOW); retraso (500); digitalWrite (bedRoomLamp, LOW); retraso (500); digitalWrite (balaconyLamp, LOW); retraso (500); TextToSpeech.say ("todas las luces estaban encendidas"); lcd.clear (); lcd.setCursor (0,0); lcd.print ("Todas las luces están ENCENDIDAS"); retraso (300); Email.send ("[email protected]", "Sistema de seguridad para el hogar", "todas las luces encendidas"); OneSheeld.delay (3500);} else if (! Strcmp (lightsOff, messageBody)) // Si enviamos "luces apagadas" como SMS, todas las luces se apagarán {digitalWrite (receptionLamp, HIGH); retraso (500); digitalWrite (pathRoomLamp, ALTA); retraso (500); digitalWrite (bedRoomLamp, HIGH); retraso (500); digitalWrite (balaconyLamp, HIGH); retraso (500); TextToSpeech.say ("todas las luces se apagaron"); lcd.clear (); lcd.setCursor (0,0); lcd.print ("Todas las luces están apagadas"); retraso (300); Email.send ("[email protected]", "Sistema de seguridad para el hogar", "todos fueron APAGADOS"); OneSheeld.delay (3500);}} 

Piezas y carcasas personalizadas

drawing_lasser_cutting_lvvsN9X9Xg.dwg

Esquemas


Proceso de manufactura

  1. Aplicaciones de automatización del hogar
  2. Silicon Labs presentará soluciones de conectividad de automatización de edificios y hogares inteligentes
  3. 433MHz Smart Home Controller con Sensorflare y RaspberryPi
  4. Sistema de seguridad para el hogar Raspberry Pi con cámara y sensor PIR
  5. Sistema de asistencia que usa Arduino y RFID con Python
  6. Control remoto universal usando Arduino, 1Sheeld y Android
  7. IOT - Smart Jar usando ESP8266, Arduino y sensor ultrasónico
  8. Sonda usando arduino y visualización en procesamiento IDE
  9. Brazo robótico simple e inteligente con Arduino
  10. Sistema purificador de aire simple e inteligente
  11. Controla tu sistema de iluminación mediante un teléfono inteligente