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

Construire JARVIS v1 : Automatisation domestique avec Arduino Nano – Tutoriel pas à pas

Composants et fournitures

Outils et machines nécessaires

Applications et services en ligne

À propos du projet

Pourquoi avons-nous construit cela ?

En tant que fan d'Iron Man, j'ai été vraiment inspiré par JARVIS, un assistant personnel à commande vocale, et j'ai fortement voulu construire un système d'automatisation domestique. Bien qu'il existe de nombreux systèmes disponibles, j'ai décidé de construire le mien en utilisant Arduino.

Comment cela fonctionne

Ce projet vise à contrôler des appareils électriques et électroniques tels que lumières, ventilateurs, TV, etc. Cela se fait en utilisant Arduino et le circuit relais installé dans chaque pièce de la maison. Les données sont transmises à l'Arduino via le module Bluetooth et d'autres implémentations peuvent être ajoutées.

La tâche principale consiste à acquérir les données et les publier sur l'Arduino via un mobile. Ensuite, avec ces données, on peut commander l'allumage/extinction des 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

Construire JARVIS v1 : Automatisation domestique avec Arduino Nano – Tutoriel pas à pas

Les composants nécessaires pour ce projet sont :

Étape 2 : Connexions

Les connexions suivantes sont réalisées avec les câbles de liaison. Pour cette démo, j'ai utilisé quatre relais, ce qui signifie que quatre appareils peuvent être contrôlés via l'application.

Construire JARVIS v1 : Automatisation domestique avec Arduino Nano – Tutoriel pas à pas

Arduino → Module BT

Arduino → Carte relais

Étape 3 : Le code

Vous trouverez l'exemple de code ci-dessous.

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);
    // Contrôle multiple
    if (voice == "*all on") { allon(); }
    else if (voice == "*all off") { alloff(); }
    // Allumage individuel
    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); }
    // Extinction individuelle
    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 = "";
  }
}

Étape 4 : Application

Pour l'instant, nous utiliserons une application toute faite. Dans les prochains jours, je publierai l'application une fois les certificats traités.

BT Voice Control for Arduino créé par SimpleLabsIN : Lien de téléchargement

Vidéo de fonctionnement du projet

Actuellement, la fonctionnalité se limite à allumer/éteindre les appareils, mais elle peut traiter le langage naturel à un niveau basique, permettant d'intégrer le traitement du langage naturel à d'autres projets.

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

Merci d'organiser ces activités qui encouragent les jeunes et les adolescents à créer et inventer.

Mettez un pouce vers le haut si cela vous a vraiment aidé et suivez ma chaîne pour des projets intéressants :)

Partagez cette vidéo si vous l'aimez.

Heureux de vous avoir abonné : YouTube

Merci pour votre lecture !

Code

Exemple de code

// 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 = "";
  }
}

Dépôt du projet

https://github.com/Rahul24-06/Arduino-Tutorial-JARVIS-v1-How-to-make-a-Home-Automation

Schémas

Construire JARVIS v1 : Automatisation domestique avec Arduino Nano – Tutoriel pas à pas

Processus de fabrication

  1. Construire un système domotique piloté par Raspberry Pi pour contrôle à distance
  2. Construire sa propre machine à écrire les devoirs à la maison (Traceur à stylo)
  3. Find Me : Localisateur d'objets intelligent avec Arduino et Bluetooth
  4. Créer un bouton clavier personnalisé « frappable » avec Arduino : guide pas à pas
  5. Volant Joystick Arduino Personnalisé pour Jeux Vidéo
  6. Générer des Sons Musicaux avec Arduino : Guide Pas à Pas
  7. Porte automatique Arduino avec capteur ultrasons HC-SR04
  8. Système de Surveillance Domestique Avancé avec Arduino Mega et Capteurs IoT
  9. Construire une voiture Arduino pilotée par Bluetooth : Guide DIY complet