Commander un arduino avec une application android

Commander un arduino avec une application android

Commander un arduino avec l’application Blueterm

J’ai fait mes premiers essais avec cette application car j’avais déjà eu l’occasion de la tester sur un arduino et j’étais certaine qu’elle fonctionnerait ici.

L’application Blueterm (disponible ici pour android) permet d’envoyer des caractères un à un en connexion série bluetooth.

Le sketch complet est disponible ici, sur GitHub. Voici quelques explications sur son fonctionnement.

Utiliser la librairie SoftwareSerial.h

#include <SoftwareSerial.h>  demande à l’arduino d’utiliser la librairie SoftwareSerial.h. Cette librairie est très utile car elle permet d’avoir plusieurs liaisons série entre l’arduino et divers appareils.

Ensuite, nous déclarons deux connexions séries distinctes :

Entre le module bluetooth et l’arduino :

SoftwareSerial AlSerial(2, 3); déclare une liaison série qui se fait via les ports 2 (correspondant à un « TX » de l’arduino) et 3 (RX de l’arduino).

AlSerial.begin(57600);  déclare que cette liaison se fera à 57 600 bauds. Evidemment, cette vitesse doit être celle à laquelle on a réglé le module bluetooth précédemment.

La variable Btate prend la valeur de ce qui est écrit dans l’application android : int Btate = AlSerial.read() ;

Si cette variable est égale à « a », la led est allumée par la commande digitalWrite(WhiteLed, HIGH);

Entre l’ordinateur et l’arduino, par USB : application android blueterm

Serial  n’est pas déclaré car c’est une liaison par défaut.

Serial.begin(57600);  déclare que cette liaison se fera à 57 600 bauds.

Serial.println(« Setup fait. »);  imprime sur la console de l’ordinateur le texte « Setup fait. »

Et ça fonctionne !

Sur mon téléphone, si je tape « a », la led s’allume et « r » l’éteint.

C’est pareil dans la console série de l’ordinateur.

Avec l’application JoyStick Bluetooth Commander

Cette application est beaucoup plus sophistiquée puisqu’elle permet d’utiliser jusqu’à 6 boutons et un joystick pour commander notre arduino.

L’application android JoystickBluetooth Commander est disponible ici, sur google Play.

Un sketch arduino d’exemple est récupérable ici. C’est ce sketch que j’ai utilisé comme base pour réaliser mon propre sketch.

Mon sketch est disponible sur GitHub ici. J’ai réglé le bouton 1 pour qu’il allume la led de l’arduino (#13) et le bouton 2 pour qu’il allume la led connectée au port 7 de l’arduino. Les données dans les champs data1 et data2 sont bidon, générées par deux fonctions intégrées au sketch. Data3 contient un message généré lorsqu’on actionne un bouton, par l’intermédiaire de la variable displayStatus .

Voici le résultat sur mon téléphone android. Je viens d’appuyer sur le bouton B2 et le champs « Data3 » indique « White LED <ON> pour m’en informer. Comme B1 et B2 sont appuyés, la led blanche branchée sur le port #7 et la led intégrée à l’arduino sont toutes deux allumées. Tout fonctionne donc parfaitement.

Ecran de l'application Bluetooth Android vers Arduino

Ca fonctionne aussi bien avec le module hc-05 qu’avec le module hc-06.

Et maintenant

Je vais pouvoir utiliser ce que j’ai appris ici pour commander un robot par mon téléphone android. Ce robot fait l’objet d’une série d’articles, dont le premier est Robot arduino – étape 0.

 

Arduino et bluetooth (HC-06 ou HC-05)

Arduino et bluetooth (HC-06 ou HC-05)

Pour beaucoup d’applications, il est utile de déconnecter l’arduino de l’ordinateur pour lui donner de la mobilité. Je veux donc pouvoir utiliser des applications android permettant de commander un montage arduino. Dans cette première partie d’une série () sur le bluetooth et arduino, j’explique comment régler les modules HC-O6 ou HC-05 (commandes AT).  (suite…)