Nous connaissons tous le mot «automatisation», où l'interaction humaine est minimale et les choses peuvent être contrôlées automatiquement ou à distance. La domotique est un concept très populaire et exigeant dans le domaine de l'électronique, et nous faisons également de notre mieux pour rendre ce concept facilement compréhensible et gérable en tant que projets électroniques. Nous avons déjà développé plusieurs types de projets domotiques avec une vidéo et un code fonctionnels, veuillez vérifier:
- Domotique basée sur DTMF
- Domotique basée sur GSM utilisant Arduino
- Domotique contrôlée par PC utilisant Arduino
- Domotique contrôlée par Bluetooth avec 8051
- Domotique télécommandée IR utilisant Arduino
Et dans ce projet, nous allons construire notre prochain projet domotique en utilisant MATLAB et Arduino, qui est un système domotique basé sur l'interface graphique utilisant Arduino et MATLAB
Composants:
- Arduino UNO
- Cable USB
- ULN2003
- Relais 5 volts
- Ampoule avec support
- Fils de connexion
- Portable
- Source de courant
- PVT
Explication de travail:
Dans ce projet, nous utilisons MATLAB avec Arduino pour contrôler les appareils électroménagers, via une interface utilisateur graphique dans l'ordinateur. Ici, nous avons utilisé la communication filaire pour envoyer des données d'un ordinateur (MATLAB) à Arduino. Côté ordinateur, nous avons utilisé l'interface graphique de MATLAB pour créer des boutons permettant de contrôler les appareils ménagers. Pour la communication entre Arduino et MATLAB, nous devons d'abord installer le « Support MATLAB et Simulink pour Arduino » ou « Arduino IO Package ». Pour ce faire, suivez les étapes ci-dessous ou regardez la vidéo ci-dessous:
- Téléchargez le package Arduino IO à partir d'ici. Vous devez vous inscrire avant de télécharger.
- Ensuite, gravez / téléchargez le fichier adioe.pde sur l'Arduino en utilisant Arduino IDE. Ce fichier adioe.pde se trouve dans le package Arduino IO - ArduinoIO \ pde \ adioe \ adioe.pde
- Ensuite, ouvrez le logiciel MATLAB, parcourez le dossier Arduino IO, ouvrez le fichier install_arduino.m et exécutez-le dans Matlab. Vous verrez un message «Dossiers Arduino ajoutés au chemin» dans la fenêtre de commande de MATLAB, ce qui signifie que le chemin MATLAB est mis à jour dans les dossiers Arduino.
C'est ainsi que nous fabriquons l'Arduino, communiquons avec MATLAB. La méthode ci-dessus convient à «MATLAB R2013b ou versions antérieures», si vous utilisez la version supérieure de MATLAB (comme R2015b ou R2016a), vous pouvez directement cliquer sur l'onglet Add-ons dans MATLAB, puis cliquer sur «Get Hardware Support Packages», d'où vous pouvez installer les packages Arduino pour MATLAB.
Après avoir installé les fichiers, vous pouvez maintenant créer une interface graphique pour le projet domotique. Fondamentalement, dans l'interface graphique, nous créons des boutons poussoirs pour contrôler les appareils ménagers à partir d'un ordinateur. Les boutons peuvent être créés en allant dans «Interface utilisateur graphique» dans le menu «Nouveau» de MATLAB. En outre, nous pouvons définir le nom et les couleurs de ces boutons, nous avons créé 8 boutons, dont six à ON et OFF trois appareils électroménagers et deux boutons à ON et OFF tous les appareils simultanément.
Maintenant, après avoir créé les boutons, lorsque vous cliquez sur le bouton Exécuter dans cette fenêtre GUI, il vous demandera de sauvegarder ce fichier GUI (avec l'extension.fig), également connu sous le nom de « fichier fig». Dès que vous avez enregistré le fichier, il créera automatiquement un fichier de code (avec l'extension.m), également connu sous le nom de `` fichier M '' (voir la capture d'écran ci-dessous), où vous pouvez mettre le code (donné dans la section Code ci-dessous). Vous pouvez télécharger le fichier GUI et le fichier de code pour ce projet à partir d'ici: Home_Automation_system.fig et Home_Automation_system.m (clic droit et sélectionnez Enregistrer le lien sous…), ou vous pouvez les créer vous-même comme nous l'avons expliqué.
Après le codage, vous pouvez enfin exécuter le fichier.m à partir de la fenêtre de code, vous verrez «Tentative de connexion..» dans la fenêtre de commande. Ensuite, un message «Arduino connecté avec succès» apparaît, si tout se passe bien. Et enfin, vous verrez l'interface graphique (boutons) créée précédemment dans la fenêtre GUI, à partir de laquelle vous pouvez contrôler les appareils ménagers en cliquant simplement sur les boutons de votre ordinateur. Assurez-vous qu'Arduino est connecté à Arduino via un câble USB. Ici, dans ce projet, nous avons utilisé 3 ampoules pour la démonstration, qui indiquent Fan, Light et TV.
Le fonctionnement de l'ensemble du projet, de l'installation du package de support Arduino MATLAB à la mise sous ou hors tension de l'appareil, peut être compris à la vidéo à la fin.
Explication du circuit:
Le circuit de ce projet est très facile. Ici, nous avons utilisé une carte Arduino UNO et un pilote de relais ULN2003 pour piloter les relais. Trois relais SPDT 5 volts sont connectés aux broches Arduino numéros 3, 4 et 5, via le pilote de relais ULN2003, pour contrôler respectivement LIGHT, FAN et TV.
Explication de la programmation:
Lorsque nous appuyons sur n'importe quel bouton de la fenêtre GUI, il envoie des commandes à Arduino, puis Arduino effectue cette opération. Après avoir installé le package de support Arduino MATLAB IO, nous pouvons accéder à Arduino à partir du MATLAB en utilisant les mêmes fonctions Arduino, avec quelques petites variations, comme:
Pour créer une broche HIGH dans Arduino, nous écrivons le code en tant que digitalWrite (pin, HIGH)
Dans MATLAB, nous utiliserons cette fonction à l'aide d'un objet ou d'une variable comme, et de même ainsi de suite.
Avant de faire cela, nous devons initialiser la variable comme ceci:
Dans ce projet, il n'y a pas de code Arduino à l'exception du code ou du fichier du package de support Arduino MATLAB. Comme expliqué précédemment, ce fichier de code (fichier.m) est automatiquement généré lors de l'enregistrement du fichier GUI (fichier.fig). Il y a déjà du code pré-écrit dans le fichier.m. Fondamentalement, ce sont des fonctions de rappel pour les boutons poussoirs, ce qui signifie que nous pouvons définir ce qui doit se passer en cliquant sur ces boutons poussoirs.
Dans le code MATLAB, nous initialisons d'abord le port série et en faisons un objet en utilisant une variable. Et puis nous pouvons commencer à programmer comme Arduino en utilisant la variable.
clear ar; global ar; ar = arduino ('COM13'); ar.pinMode (3, 'OUTPUT'); ar.pinMode (4, 'OUTPUT'); ar.pinMode (5, 'OUTPUT'); ar.pinMode (13, 'OUTPUT');
Dans la fonction de rappel de chaque bouton, nous avons écrit le code associé pour activer ou désactiver les appareils ménagers respectifs, connectés à Arduino via un relais. Comme par exemple, la fonction de rappel pour Light ON est donnée ci-dessous:
function light_on_Callback (hObject, eventdata, handles)% hObject handle vers light_on (voir GCBO)% eventdata reserved - à définir dans une future version de MATLAB% gère la structure avec des handles et des données utilisateur (voir GUIDATA) global ar; ar.digitalWrite (3, 1); ar.digitalWrite (13, 1);
De même, nous pouvons écrire le code dans les fonctions de rappel de tous les boutons, pour contrôler les autres appareils ménagers connectés, vérifiez le code MATLAB complet ci-dessous (fichier.m).