Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Tutoriel Arduino :JARVIS v1 | Comment faire une domotique

Composants et fournitures

Arduino Nano R3
× 1
Module relais (générique)
× 4
Module Bluetooth basse énergie (BLE) (générique)
× 1
Planche à pain (générique)
× 1
Câbles de raccordement (générique)
× 10

Outils et machines nécessaires

Fer à souder (générique)

Applications et services en ligne

Arduino IDE

À propos de ce projet

Pourquoi avons-nous construit cela ?

Étant un fan d'Iron man, j'ai été vraiment inspiré par JARVIS, un assistant personnel à commande vocale et j'avais très envie de construire un système domotique. Bien qu'il existe de nombreux systèmes existants, j'ai décidé de créer mon propre système domotique en utilisant Arduino.

Comment ça marche :

Ce projet vise à contrôler les appareils électriques et électroniques tels que la lumière, le ventilateur, la télévision, etc. Cela se fait à l'aide d'Arduino et du circuit de relais qui est installé dans chaque pièce de la maison. Les données seront publiées sur Arduino via le module Bluetooth et d'autres implémentations peuvent être effectuées.

La tâche principale serait d'acquérir les données et de les publier sur l'Arduino à l'aide d'un mobile. Et plus tard avec les données, un contrôle peut être fait pour allumer/éteindre les appareils.

Construction matérielle

Le circuit est très simple. Le coût global de ce produit serait inférieur à 20 $.

Étape 1 : pièces et matériel

Les composants nécessaires pour ce projet sont :

  • Arduino
  • Panneau de dérivation de relais
  • Module Bluetooth - HC-05
  • Câbles de démarrage

Étape 2 :Connexions

Les connexions suivantes sont effectuées à l'aide des câbles de démarrage. Pour cette démo, j'ai utilisé quatre relais, ce qui signifie que quatre appareils peuvent être contrôlés à l'aide de l'APP.

*Arduino -> MODULE BT*

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

*Arduino -> Carte relais*

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

Étape 3 :Le code

Vous pouvez trouver l'exemple de code ci-dessous.

String voice ;
int
led1 =2, //Connectez la LED 1 à la broche #2
led2 =3, //Connectez la LED 2 à la broche #3
led3 =4, //Connectez la LED 3 à la broche #4
led4 =5, //Connectez la LED 4 à la broche #5
led5 =6 ; //Connectez la LED 5 à la broche #6
//-------------------------Appelez une fonction------ -------------------------//
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);
}
//-------------------------------------------- ------------------------------------------//
configuration vide () {
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
}
//-------------------- -------------------------------------------------- -//
void loop() {
while (Serial.available()){ //Vérifiez s'il y a un octet disponible à lire
delay(10) ; //Délai ajouté pour rendre les choses stables
char c =Serial.read(); //Effectuer une lecture en série
if (c =='#') {break;} //Quitter la boucle lorsque le # est détecté après le mot
voice +=c; //Shorthand for voice =voice + c
}
if (voice.length()> 0) {
Serial.println(voice);
//---- -------------------------------------------------- ------------------//
//---------- Contrôle plusieurs broches/ LED ---------- //
if(voice =="*all on") {allon();} //Désactiver toutes les broches (fonction d'appel)
else if(voice =="*all off"){ alloff();} //Activer toutes les broches (fonction d'appel)

//----------Activer une par une-------- --//
else if(voice =="*TV on") {digitalWrite(led1, HIGH);}
else if(voice =="*fan on") {digitalWrite(led2, HIGH);}
else if(voice =="*ordinateur allumé") {digitalWrite(led3, HIGH);}
else if(voice =="*lumières de la chambre allumées") {digitalWrite(led4 , HIGH);}
else if(voice =="*lumières de la salle de bain allumées") {digitalWrite(led5, HIGH);}
//--------- Turn Off One -By-One----------//
else if(voice =="*TV off") {digitalWrite(led1, LOW);}
else if(voice =="*fan off") {digitalWrite(led2, LOW);}
else if(voice =="*compute r off") {digitalWrite(led3, LOW);}
else if(voice =="*les lumières de la chambre éteintes") {digitalWrite(led4, LOW);}
else if(voice ==" *lumières de la salle de bain éteintes") {digitalWrite(led5, LOW);}
//---------------------------- ------------------------------------------//
voice="";}} //Réinitialiser la variable après l'initialisation

Étape 4 :Candidature

Pour l'instant, nous allons utiliser l'application prête à l'emploi. Dans les jours suivants, je publierai la demande une fois après le traitement des certificats.

Commande vocale BT pour Arduino créé par SimpleLabsIN :https://apkpure.com/bt-voice-control-for-arduino/robotspace.simplelabs.amr_voice/download?from=details

Vidéo de travail de ce projet :

À l'heure actuelle, la fonctionnalité se limite à allumer ou éteindre les appareils, mais elle peut traiter le langage naturel au niveau de base, ce qui permet à l'utilisateur d'intégrer le traitement du langage naturel aux autres projets.


Un grand merci à Hackster.io pour m'avoir permis, ainsi qu'à tous les utilisateurs de cette formidable plateforme, de participer.

Merci de réaliser ces activités qui encouragent les jeunes et les adolescents à créer et à inventer.

Donnez un coup de pouce si cela vous a vraiment aidé et suivez ma chaîne pour des projets intéressants. :)

Partagez cette vidéo si vous le souhaitez.

Heureux de vous avoir abonné :https://www.youtube.com/c/rahulkhanna24june?sub_confirmation=1

Merci d'avoir lu !

Code

  • Exemple de code
Exemple de code Arduino
//Codé par :Angelo Casimiro (4/27/14)//Arduino activé par la voix (Bluetooth + Android)//N'hésitez pas à le modifier mais n'oubliez pas de donner la voix CreditString ; intled1 =2, //Connectez la LED 1 À la broche #2led2 =3, //Connectez la LED 2 à la broche #3led3 =4, //Connectez la LED 3 à la broche #4led4 =5, //Connectez la LED 4 à la broche #5led5 =6 ; //Connectez la LED 5 à la broche #6//------------ Appel d'une fonction---------- ---------------------// void allon(){ digitalWrite(led1, HIGH); digitalWrite(led2, HAUT); digitalWrite(led3, HAUT); digitalWrite (led4, HAUT); 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, SORTIE); pinMode(led2, SORTIE); pinMode(led3, SORTIE); pinMode(led4, SORTIE); pinMode(led5, SORTIE);}//---------------------------------------- -------------------------------// void loop() { while (Serial.available()){ //Check s'il y a un octet disponible pour lire delay(10) ; //Délai ajouté pour rendre les choses stables char c =Serial.read(); //Effectuer une lecture en série if (c =='#') {break;} //Quitter la boucle lorsque le # est détecté après le mot voice +=c; //Abréviation de la voix =voix + c } if (voice.length()> 0) { Serial.println(voice);//-------------------- -------------------------------------------------- -// //----------Contrôle plusieurs broches/ LED ----------// if(voice =="*all on") {allon();} / /Désactiver toutes les broches (fonction d'appel) else if(voice =="*all off"){alloff();} //Activer toutes les broches (fonction d'appel) //---------- Activer On One-By-One ----------// else if(voice =="*TV on") {digitalWrite(led1, HIGH);} else if(voice =="*fan on" ) {digitalWrite(led2, HIGH);} else if(voice =="*ordinateur allumé") {digitalWrite(led3, HIGH);} else if(voice =="*lumières de la chambre allumées") {digitalWrite(led4, HIGH );} else if(voice =="*les lumières de la salle de bain allumées") {digitalWrite(led5, HIGH);} //----------Désactiver un par un------ ----// else if(voice =="*TV off") {digitalWrite(led1, LOW);} else if(voice =="*fan off") {digitalWrite(led2, LOW);} else if (voice =="*ordinateur éteint") {digitalWrite(led3, LOW);} else if(voice =="*les lumières de la chambre éteintes") {digitalWrite(led4, LOW);} else i f(voice =="*lumières de la salle de bain éteintes") {digitalWrite(led5, LOW);}//--------------------------- --------------------------------------------// voix="";}} //Réinitialiser la variable après le lancement
Référentiel de projet
https://github.com/Rahul24-06/Arduino-Tutorial-JARVIS-v1-How-to-make-a-Home-Automation

Schémas


Processus de fabrication

  1. DOMOMATISATION RASPBERRY PI
  2. Fabriquer une machine à écrire pour les devoirs à la maison
  3. Trouvez-moi
  4. Comment créer un bouton de clavier personnalisable personnalisable
  5. Joystick Arduino
  6. Comment faire de la musique avec un Arduino
  7. Comment créer une ouverture de porte automatique basée sur Arduino
  8. Moniteur d'accueil
  9. Comment fabriquer une voiture contrôlée par Bluetooth Arduino