Comment concevoir la domotique à commande vocale?

L'idée de Automatisation de la maison prend de l'importance car il aide à réduire l'effort humain et les erreurs et donc à accroître l'efficacité. Il utilise une combinaison d'équipements et d'avancées de programmation qui permettent de contrôler les machines et autres gadgets électroniques à l'intérieur d'une maison. Avec l'aide de la domotique, nous pouvons contrôler nos appareils électriques à distance et un gros avantage est que la consommation d'énergie est réduite dans une large mesure. Il existe plusieurs types de domotique tels que le contrôle Bluetooth, le contrôle à distance et le contrôle Internet, etc. et chacun d'eux a ses avantages et ses inconvénients. Dans ce projet, nous allons concevoir une domotique à commande vocale où différents appareils seront contrôlés en envoyant la commande vocale. Ce système est très coûteux lorsqu'il est acheté sur le marché mais lorsque nous intégrons tous ces appareils via Arduino , il devient très facile et peu coûteux de contrôler tous les appareils électroménagers.



Domotique à commande vocale

Comment automatiser les appareils ménagers à l'aide d'Arduino?

Comme nous avons l'idée de base, passons maintenant à la collecte des composants, à leur assemblage pour faire un circuit et à l'écriture du code pour automatiser vos appareils électroménagers.



Étape 1: Composants utilisés (matériel)

  • Arduino uno
  • Module Bluetooth HC-05
  • Transistor NPN 2N2222
  • Module de relais 12V
  • Résistance 1k ohms
  • Adaptateur 12V CA vers CC
  • Diode de jonction 1N4007 PN
  • Fils de cavalier

Étape 2: Composants utilisés (logiciel)

  • Proteus 8 Professional (peut être téléchargé depuis Ici )

Après avoir téléchargé le Proteus 8 Professional, concevez le circuit dessus. Nous avons inclus des simulations logicielles ici afin qu'il puisse être pratique pour les débutants de concevoir le circuit et de faire les connexions appropriées sur le matériel.



Étape 3: étude des composants

Comme nous avons fait une liste de composants que nous allons utiliser dans notre projet. Avançons d'un pas en avant et passons par une brève étude du fonctionnement de ces composants.



  1. Arduino UNO: L'Arduino UNO est une carte microcontrôleur qui comprend une puce ATMega 328P et est développée par Arduino.cc. Cette carte a un ensemble de broches de données numériques et analogiques qui peuvent être interfacées avec d'autres cartes d'extension ou circuits. Cette carte dispose de 14 broches numériques, 6 broches analogiques et programmable avec l'IDE Arduino (environnement de développement intégré) via un câble USB de type B. Il faut 5 V pour alimenter SUR et un Code C opérer.

    Arduino UNO

  2. Émetteur-récepteur série Bluetooth sans fil HC-05 : Nous avons besoin d'une communication sans fil dans ce projet, nous allons donc utiliser la technologie Bluetooth et pour ce module qui sera utilisé est HC-05. Ce module dispose de plusieurs vitesses de transmission programmables mais la vitesse de transmission par défaut est de 9600 bps. Il peut être configuré en maître ou en esclave, tandis qu'un autre module HC-06 ne peut fonctionner qu'en mode esclave. Ce module a quatre broches. Un pour VCC (5V) et les trois autres pour GND, TX et RX. Le mot de passe par défaut de ce module est 1234 ou 0000 . Si nous voulons communiquer entre deux microcontrôleurs ou communiquer avec n'importe quel appareil doté de la fonctionnalité Bluetooth comme un téléphone ou un ordinateur portable, HC-05 nous aide à le faire. Plusieurs applications Android sont déjà disponibles, ce qui facilite grandement ce processus.

    Module Bluetooth HC-05

  3. Commande vocale Bluetooth pour Arduino : Cette application est développée par SimpleLabsIN pour les projets Arduino basés sur la voix. Cette application Android utilisera la fonction de reconnaissance vocale du téléphone et convertira les commandes vocales en texte et transférera la chaîne via Bluetooth. L'application peut être téléchargée depuis Ici

    Application de commande vocale BT



  4. Module de relais 12 V: Si quelqu'un veut commuter des charges haute tension à partir d'un microcontrôleur, cette carte relais 12V peut le faire. Il contient 8 relais 12 V évalués à 10 A / 250 V CA (CC 30 V / 10 A). Chaque module de relais est activé / désactivé par une entrée numérique opto-isolée qui peut être connectée directement à une broche de sortie du microcontrôleur. Il ne nécessite qu'une tension d'environ 1,0 V pour activer les entrées, mais peut gérer des tensions d'entrée jusqu'à 12V. Cela le rend idéal pour les appareils 5V et 3,3V. Vous pouvez acheter le module de relais en fonction du nombre d'appareils que vous souhaitez contrôler. Par exemple, si vous souhaitez contrôler 4 appareils, vous devez acheter 4 modules relais.

    Module de relais 12V

Étape 4: Comprendre la conception du circuit avec le schéma de circuit

Tout d'abord, nous devons connecter HC-05 à Arduino UNO. Comme Bluetooth utilise le protocole UART, nous devons utiliser les broches RX et TX de l'Arduino. Nous utiliserons la bibliothèque «SoftwareSerial» pour définir nos propres broches RX et TX (la broche 2 est RX et la broche 3 est TX). La broche RX du module Bluetooth et la broche TX de l'Arduino seront déconnectées. Deuxièmement, nous connecterons les relais à l'Arduino. Nous avons utilisé une carte de relais prête à l'emploi avec 4 canaux, nous devons donc connecter les entrées des relais individuels à l'Arduino. Pour connecter la charge au module de relais, reportez-vous au schéma ci-dessous:

Assemblage du circuit du module de relais

Quatre charges sont connectées au module de relais à des fins de démonstration et soyez extrêmement prudent lorsque vous utilisez le secteur CA avec une carte de relais. Juste pour la démonstration, nous avons changé SUR les charges alternatives:

Schéma

Étape 5: Principe de fonctionnement du projet

Dans ce projet, les commandes vocales sont utilisées pour contrôler différents appareils. Assemblez le matériel selon le schéma de circuit ci-dessus. Assemblez tous les composants sur la maquette. Après avoir effectué les connexions nécessaires, allumez l’alimentation électrique du circuit et associez le Bluetooth du téléphone au module Bluetooth HC-05. Avant le couplage, installez l'application mentionnée ci-dessus sur votre smartphone.

Maintenant, connectez le téléphone au module Bluetooth. Cliquez sur l'option ' Connecter le robot »Et sélectionnez le périphérique Bluetooth approprié. Si les appareils ne sont pas couplés plus tôt, associez-les maintenant en saisissant le code PIN 0000 ou 1234.

Couplage d'un smartphone

Après une connexion réussie, les appareils sont prêts à transmettre des données. Pour transmettre des données, appuyez sur l'icône du microphone sur l'application et commencez à donner des commandes vocales. Assurez-vous que la fonction de reconnaissance vocale est activée sur votre smartphone (elle est généralement associée à l'application Google). Par exemple, lorsque nous appuyons sur l'icône du microphone et disons 'Allume la lumière', l'application reconnaîtra la commande et la transférera vers le module Bluetooth.

Reconnu par la voix

Lorsque la chaîne est reconnue par l'application, elle enverra la chaîne comme «allumer la lumière #» et le message réel reçu par le module Bluetooth a ce type de format ( '*Message#' ). La raison de remplir les «*» et «#» au début et à la fin de la chaîne est d'identifier le début et la fin du message. Le message reçu est comparé à certaines chaînes prédéfinies et si le message correspond avec elles, l'action correspondante comme «allumer» et éteindre se produit.

Dans ce projet, nous avons utilisé les commandes suivantes: 'allumer le courant alternatif', 'éteindre le courant alternatif', 'allumer la lumière', 'éteindre la lumière', 'allumer le téléviseur', 'éteindre le téléviseur', 'allumer le ventilateur »,« Allumer tout »et« éteindre tout ».

Étape 6: Premiers pas avec Arduino

Si vous n'êtes pas familier avec Arduino IDE auparavant, ne vous inquiétez pas car ci-dessous, vous pouvez voir des étapes claires de gravure de code sur la carte du microcontrôleur à l'aide de l'IDE Arduino. Vous pouvez télécharger la dernière version d'Arduino IDE à partir de ici et suivez les étapes mentionnées ci-dessous:

1). Lorsque la carte Arduino est connectée à votre PC, ouvrez «Panneau de configuration» et cliquez sur «Matériel et audio». Cliquez ensuite sur «Périphériques et imprimantes». Trouvez le nom du port auquel votre carte Arduino est connectée. Dans mon cas, c'est «COM14» mais cela peut être différent sur votre PC.

Trouver un port

2). Ouvrez maintenant l'IDE Arduino. Dans Outils, réglez la carte Arduino sur Arduino / Genuino UNO.

Conseil de réglage

3). Dans le même menu Outil, définissez le numéro de port que vous avez vu dans le panneau de commande.

Réglage du port

4). Pour utiliser cette application à commande vocale, nous avons besoin d'une bibliothèque spéciale à inclure dans Arduino IDE. Cette bibliothèque est jointe dans le lien ci-dessous, avec le code. Pour inclure la bibliothèque, accédez à Sketch> Inclure la bibliothèque> Ajouter un ZIP. Bibliothèque .

Inclure la bibliothèque

5). Téléchargez le code ci-dessous et copiez-le dans votre IDE. Pour télécharger le code, cliquez sur le bouton de téléchargement.

Vous pouvez télécharger le code en cliquez ici.

Étape 7: Comprendre le code

Le Code n'est pas si complexe, mais certaines de ses parties sont décrites brièvement ci-dessous.

1. Au début, une bibliothèque est incluse pour permettre la communication série sur d'autres broches numériques de l'Arduino, en utilisant un logiciel pour reproduire la fonctionnalité. Deux broches sont initialisées pour être utilisées avec le module Bluetooth. Quatre broches sont initialisées pour être utilisées pour les appareils ménagers connectés au système et une variable de chaîne est initialisée pour stocker les données provenant de Bluetooth en série.

#include const int rxPin = 2; // Initialise les pisns pour le module bluetooth const int txPin = 3; SoftwareSerial mySerial (rxPin, txPin); int ac = 4; // Initialisation des broches pour les appareils ménagers int light = 5; ventilateur int = 6; int tv = 7; Données de chaîne;

2. void setup() est une fonction dans laquelle nous définissons les broches initialisées à utiliser comme INPUT et OUTPUT. La vitesse de transmission est également initialisée ici. Le débit en bauds est la vitesse à laquelle la carte Arduino communique avec les composants connectés. Dans notre fonction, nous avons mis toutes les broches connectées aux appareils sur FAIBLE.

void setup () {Serial.begin (9600); mySerial.begin (9600); pinMode (ac, sortie); pinMode (lumière, sortie); pinMode (ventilateur, SORTIE); pinMode (tv, sortie); DigitalWrite (AC, LOW); digitalWrite (léger, FAIBLE); digitalWrite (ventilateur, LOW); DigitalWrite (tv, LOW); }

3. boucle vide () est une fonction qui s'exécute à plusieurs reprises dans une boucle. Ici, toutes les conditions sont définies pour que le système fonctionne correctement. Le suivant Tandis que() La boucle est utilisée pour prendre les données qui arrivent en série au microcontrôleur.

while (1) // Obtenir une entrée en série {while (mySerial.available ()<=0); ch = mySerial.read(); if(ch=='#') break; data+=ch; }

Ci-dessous, toutes les conditions sont définies pour allumer tous les appareils électriques connectés, selon les commandes de l'utilisateur. Ces conditions sont assez simples et explicites.

if (data == '* allumer AC') {digitalWrite (ac, HIGH); Serial.println ('ac on'); } else if (data == '* désactiver AC') {digitalWrite (ac, LOW); Serial.println ('ac off'); } else if (data == '* allumer la lumière') {digitalWrite (light, HIGH); Serial.println («allumé»); } else if (data == '* éteindre la lumière') {digitalWrite (light, LOW); Serial.println ('éteint'); } else if (data == '* allumer le ventilateur') {digitalWrite (fan, HIGH); Serial.println ('fan on'); } else if (data == '* éteindre le ventilateur') {digitalWrite (fan, LOW); Serial.println ('fan off'); } else if (data == '* allumer la télévision') {digitalWrite (tv, HIGH); Serial.println ('tv on'); } else if (data == '* allumer la télévision') {digitalWrite (tv, LOW); Serial.println ('tv off'); } else if (data == '* allumer tout') {digitalWrite (ac, HIGH); digitalWrite (léger, HAUT); digitalWrite (ventilateur, HIGH); DigitalWrite (tv, HIGH); Serial.println ('tout activé'); } else if (data == '* tout désactiver') {digitalWrite (ac, LOW); digitalWrite (léger, FAIBLE); digitalWrite (ventilateur, LOW); DigitalWrite (tv, LOW); Serial.println ('tout éteint'); }}

Applications

  1. Le système domotique à commande vocale nous aidera à contrôler différentes charges (appareils électriques) avec de simples commandes vocales.
  2. Les personnes handicapées peuvent tirer de nombreux avantages de ce projet, car si elles ne peuvent pas se déplacer, elles peuvent donner une commande vocale et se retourner SUR ou DE l'appareil.
  3. Ce projet peut également être élargi en ajoutant différents capteurs (lumière, fumée, etc.).