jeudi 19 juillet 2018

Bluetooth et MPLAB Xpress Evaluation Board

Voici un petit tutoriel qui pourrait vous être utile si vous désirez envoyer ou recevoir de l'information par bluetooth avec une carte MPLAB Xpress Evaluation Board (ou un autre microcontrôleur PIC).

Pour ce faire, nous utiliserons un module bluetooth HC-06 et, bien entendu, un appareil pouvant converser en bluetooth (télépĥone, tablette...).

Avant d'aller plus loin, je vous mentionne tout de suite que si vous désirez plutôt communiquer en bluetooth avec un Raspberry Pi, un Arduino, un MSP430 Launchpad ou un STM32 Nucleo, vous trouverez sur ce blog des tutos spécialement conçus pour votre plateforme de développement préférée!  Si vous voulez programmer vous-même l'application android qui conversera avec votre carte, c'est déjà couvert aussi.

Connexions

Nous allons régler la carte MPLAB Xpress Evaluation Board afin qu'elle émette un signal UART par sa broche RB1, et qu'elle le reçoive sur sa broche RB0.  Par conséquent, les quatre connexions sont:
  • RXD du module HC-06 ----- RB1 de la carte MPLAB Xpress
  • TXD du module HC-06 ----- RB0 de la carte MPLAB Xpress
  • GND du module HC-06 ----- GND de la carte MPLAB Xpress
  • VCC du module HC-06 ----- 5 V de la carte MPLAB Xpress
(Je crois que certains modules HC-06 sont conçus pour une alimentation de 3,3 V.  Le mien indique clairement "Power 3.6 V - 6 V" même si le niveau logique est de 3.3 V.)




Exemple 1: transmission d'information (carte MPLAB Xpress vers téléphone)

Dans ce premier exemple, la carte MPLAB Xpress va émettre par bluetooth une série de messages qui pourront être captés par un téléphone ou une tablette.

Configuration dans MCC

Après avoir créé un nouveau projet dans l'IDE en ligne MPLAB Xpress, nous ouvrons le logiciel MPLAB Xpress Code Configurateur, afin d'effectuer quelques réglages.

Nous devons d'abord ajouter un module "EUSART" à notre projet.  Pour ce faire, nous cliquons deux fois sur "EUSART" dans la liste "Device Resources"...


On coche les cases "Enable Transmit" et "Redirect STDIO to EUSART". Si votre module HC-06 est réglé à une vitesse autre que 9600 bauds, vous en profitez pour modifier ce paramètre aussi.



On clique ensuite sur les petits cadenas correspondant au port B0 pour EUSART RX, et au port B1 pour EUSART TX.


Ne pas oublier de cliquer sur le bouton "Generate" afin que ces réglages soient transmis à MPLAB Xpress.

Script

Le script ci-dessous (à insérer dans le fichier main.c de votre projet), permet d'émettre un message par bluetooth chaque seconde.



Couplage avec un appareil hôte

S'il s'agit de la première utilisation de ce module HC-06 avec le deuxième appareil (smartphone, tablette, ordinateur) il faut coupler les deux dispositifs.  Voici la procédure pour l'appairage avec un appareil android (c'est similaire si vous utilisez autre chose qu'un appareil android).

Dans Paramètres, Bluetooth, assurez-vous d'abord que Bluetooth est activé.  S'il est alimenté, le module HC-06 devrait figurer dans la liste des appareils disponibles.



Cliquez sur le nom du module. Le mot de passe par défaut est généralement "1234" (si ce mot de passe ne vous plaît pas, il est possible de le modifier).


Si tout se passe bien, le HC-06 apparaît ensuite dans la liste des périphériques couplés.



À cette étape, la LED rouge du module HC-06 continue de clignoter.  Ce n'est que lorsque la connexion sera établie avec une application de l'appareil android qu'elle demeurera allumée de façon continue.

Appli bluetooth

Il existe tout plein d'applications android permettant la communication bluetooth.  Pour effectuer mes tests, j'ai utilisé Serial Bluetooth Terminal par Kai Morich.

Après avoir démarré Serial Bluetooth Terminal, il est important d'établir la communication bluetooth avec le Nucleo en cliquant sur le bouton illustré ci-dessous:


Lorsque la communication est établie, le bouton change de forme, et la LED rouge du module HC-06 cesse de clignoter.

Résultats

Les messages émis de façon répétitive par la carte MPLAB Xpress s'affichent à l'écran de la tablette.



Exemple 2: réception d'information (téléphone vers carte MPLAB Xpress)

Dans ce deuxième exemple, nous contrôlerons les 4 LEDs intégrées à la carte MPLAB Xpress par bluetooth, à partir d'un téléphone ou d'une tablette.

Configuration dans MCC

Il s'agit des mêmes réglages que pour le premier exemple, sauf qu'il n'est pas nécessaire de cocher la case "Enable Transmit". De plus, dans la zone des cadenas, il est important de définir les ports A0, A1, A2 et A3 comme des sorties:  "GPIO output" (elles sont reliées aux  LEDs de la carte).


Script

On peut ensuite utiliser le script ci-dessous (à coller dans le fichier main.c).  Si on reçoit par bluetooth le message "a", on allume la première LED. Si on reçoit le message "b", on allume la deuxième, etc.



Résultats

La zone située dans le bas de l'écran de l'appli Serial Bluetooth Terminal permet d'envoyer un message. Si vous écrivez la lettre a, puis cliquez sur le bouton de droite, la première LED de la carte MPLAB Xpress Evaluation Board s'allume.


Yves Pelletier   (TwitterFacebook)

Aucun commentaire:

Enregistrer un commentaire