- Composants requis
- Schéma
- Communication Bluetooth à l'aide de la fenêtre de commande MATLAB
- Communication Bluetooth à l'aide de l'interface graphique MATLAB
Bluetooth est le protocole le plus simple et le plus populaire pour la communication sans fil à courte portée dans les systèmes embarqués. Bluetooth n'est pas seulement utilisé pour transférer les données d'un appareil à un autre, mais également pour contrôler les appareils sans fil. Presque tous les gadgets électroniques prennent en charge Bluetooth de nos jours, il est donc judicieux d'avoir l'option de contrôle Bluetooth dans votre application intégrée.
Ici, dans ce didacticiel, nous allons apprendre à utiliser Bluetooth dans MATLAB pour communiquer sans fil. Nous utiliserons le Bluetooth intégré de l'ordinateur avec MATLAB d'un côté et HC-05 avec Arduino de l'autre côté. Il existe deux façons de configurer la communication entre MATLAB et Arduino via Bluetooth, l'une utilise la fenêtre de commande et l'autre utilise l'interface graphique MATLAB. Le code Arduino pour les deux méthodes restera le même. Si vous êtes nouveau dans MATLAB, il est recommandé de commencer avec un simple programme de clignotement de LED avec MATLAB et d'apprendre la terminologie de base utilisée dans MATLAB. Vous pouvez explorer davantage d'autres projets MATLAB:
- Communication série entre MATLAB et Arduino
- Contrôle de moteur à courant continu avec MATLAB et Arduino
- Contrôle du moteur pas à pas avec MATLAB et Arduino
- Premiers pas avec le traitement d'image à l'aide de MATLAB
Composants requis
- Ordinateur portable installé par MATLAB (préférence: R2016a ou versions supérieures)
- Arduino UNO
- Module Bluetooth (HC-05)
- LED (n'importe quelle couleur)
- Résistance (330 ohms)
- Fils de cavalier
Pour en savoir plus sur HC-05 et son interface avec Arduino, consultez les articles suivants.
- Servomoteur contrôlé par Bluetooth utilisant Arduino
- LED à commande vocale utilisant Arduino et Bluetooth
- AC contrôlé par téléphone portable utilisant Arduino et Bluetooth
Schéma
Les schémas de communication Bluetooth entre MATLAB et Arduino sont donnés ci-dessous:
Communication Bluetooth à l'aide de la fenêtre de commande MATLAB
C'est la méthode simple pour configurer la communication Bluetooth entre Arduino et MATLAB. Ici, le MATLAB utilise le bluetooth de l'ordinateur portable pour connecter le HC-05 connecté à Arduino. Nous devons d'abord coder l'Arduino pour lire les données entrantes série provenant du MATLAB (en utilisant le Bluetooth de l'ordinateur portable).
Ensuite, ces données transmises par Bluetooth depuis MATLAB peuvent être utilisées pour contrôler tout ce qui est connecté à l'Arduino. Ici, nous avons connecté une LED à Arduino qui peut être contrôlée depuis le LAPTOP en utilisant MATLAB.
Tout d'abord, téléchargez le code Arduino donné dans Arduino UNO, puis commencez à coder dans la fenêtre de commande MATLAB.
#comprendre
Ensuite, copiez et collez le code MATLAB ci-dessous dans la fenêtre de commande pour la communication Bluetooth entre MATLAB et Arduino.
instrhwinfo («Bluetooth», «HC-05»); bt = Bluetooth («HC-05», 1); fopen (bt);
Dans le code ci-dessous, la commande fprintf (bt, '0') est utilisée pour éteindre la LED en envoyant '0' à l'Arduino. Maintenant, si vous voulez allumer la LED, envoyez simplement «1» au lieu de «0» en utilisant la commande ci-dessous.
fprintf (bt, '1');
Pour vérifier les informations sur le matériel disponible, utilisez la commande ci-dessous
instrhwinfo ('type', 'Nom de l'appareil');
Pour ouvrir le port Bluetooth, la commande ci-dessous est utilisée
fopen (bt);
Consultez la vidéo ci-dessous pour comprendre le processus complet d' envoi de données de MATLAB à Arduino via Bluetooth.
Communication Bluetooth à l'aide de l'interface graphique MATLAB
Pour démontrer la communication Bluetooth à l'aide de l'interface graphique MATLAB, nous allons créer trois boutons graphiques dans MATLAB pour allumer, éteindre et faire clignoter la LED connectée à l'Arduino. Les données seront envoyées via Bluetooth de MATLAB à HC-05 en cliquant sur ces boutons graphiques. Arduino contient le code pour recevoir les données transmises Bluetooth de MATLAB à HC-05 et contrôler la LED en fonction des données reçues. Le code Arduino restera le même que le précédent, la seule différence est que, auparavant, nous envoyions les données '1' et '0' via la fenêtre de commande de MATLAB, et maintenant les mêmes données seront envoyées en cliquant sur trois boutons graphiques.
Pour lancer l'interface graphique, tapez la commande ci-dessous dans la fenêtre de commande
guider
Une fenêtre contextuelle s'ouvre, puis sélectionnez une nouvelle interface graphique vierge comme indiqué dans l'image ci-dessous,
Choisissez maintenant trois boutons-poussoirs pour allumer, éteindre et faire clignoter la LED, comme indiqué ci-dessous,
Pour redimensionner ou changer la forme des boutons poussoirs, il suffit de cliquer dessus et vous pourrez faire glisser les coins du bouton. En double-cliquant sur le bouton poussoir, vous pouvez changer la couleur, la chaîne et l'étiquette de ce bouton particulier. Nous avons personnalisé trois boutons poussoirs comme indiqué dans l'image ci-dessous.
Vous pouvez personnaliser les boutons selon votre choix. Désormais, lorsque vous enregistrez cela, un code sera généré dans la fenêtre Editeur de MATLAB. Modifiez ce code en fonction de la tâche que vous souhaitez effectuer par votre Arduino lors de la réception de données Bluetooth à l'aide de l'interface graphique MATLAB. Nous avons donc édité ci-dessous le code MATLAB. Pour en savoir plus sur la fenêtre de commande, la fenêtre de l'éditeur, etc.
Le code MATLAB complet, pour contrôler les LED de MATLAB via Bluetooth, est donné à la fin de ce projet. De plus, nous incluons le fichier GUI (.fig) et le fichier de code (.m) ici pour téléchargement, à l'aide desquels vous pouvez personnaliser les boutons selon vos besoins. Vous trouverez ci-dessous quelques modifications que nous avons apportées pour contrôler la LED connectée à Arduino.
Copiez et collez le code ci-dessous sur la ligne no. 74 pour configurer ou connecter le MATLAB au Bluetooth de l'ordinateur portable.
tout effacer; global bt; instrhwinfo («Bluetooth», «HC-05»); bt = Bluetooth («HC-05», 1); fopen (bt);
où, fopen (bt) est utilisé pour ouvrir le port Bluetooth pour la transmission de données.
Maintenant, lorsque vous faites défiler vers le bas, vous verrez qu'il y a trois fonctions créées pour trois boutons poussoirs dans l'interface graphique. Maintenant, écrivez le code dans les fonctions en fonction de la tâche que vous souhaitez effectuer au clic.
Dans la fonction du bouton LED ON , copiez et collez le code ci-dessous juste avant la fin de la fonction pour allumer la LED. Dans le code ci-dessous, fprintf (bt, '1') est utilisé pour envoyer '1' de MATLAB à HC-05 en utilisant le Bluetooth de l'ordinateur portable. Arduino recevra ces données «1» via HC-05 et fera briller la LED en mettant sa 11 ème broche HAUTE.
global bt; fprintf (bt, '1');
Dans la fonction du bouton LED OFF , copiez et collez le code ci-dessous juste avant la fin de la fonction pour éteindre la LED. Dans le code ci-dessous, fprintf (bt, '0') est utilisé pour envoyer '0' de MATLAB à HC-05 en utilisant le Bluetooth de l'ordinateur portable. Arduino recevra '0' via HC-05 et éteindra la LED en rendant sa 11ème broche BAS.
global bt; fprintf (bt, '0');
Dans la fonction du bouton BLINK , utilisez le code ci-dessous pour faire clignoter la LED. Une boucle for est utilisée pour faire clignoter la LED 10 fois.
global bt; pour i = 1:10 fprintf (bt, '1'); pause (0,5); fprintf (bt, '0'); pause (0,5); fin
Après avoir terminé le codage GUI MATLAB et configuré le matériel selon le schéma de circuit, cliquez simplement sur le bouton Exécuter pour exécuter le code modifié dans le fichier.m.
MATLAB peut prendre quelques secondes pour répondre, ne cliquez sur aucun bouton de l'interface graphique jusqu'à ce que MATLAB affiche l'indication BUSY, que vous pouvez voir dans le coin inférieur gauche de l'écran comme indiqué ci-dessous,
Lorsque tout est prêt, cliquez sur le bouton LED-ON, LED OFF et BLINK pour allumer, éteindre et faire clignoter la LED respectivement. Tous les fichiers de code pour ce projet peuvent être téléchargés à partir d'ici ou vous pouvez utiliser le code ci-dessous.
Consultez la vidéo ci-dessous pour comprendre le processus complet d' envoi de données de MATLAB à Arduino via Bluetooth à l'aide de l'interface graphique MATLAB.