Il est possible de piloter une LED RGB à l’aide d’une application Android.
Nous allons ici, étudier la mise en place de cette solution en plusieurs étapes :
- Branchement du module RGB et du module Bluetooth
- Configuration du Bluetooth
- Mise en œuvre de l’application Android sous APP Inventor.
- Mise en œuvre du code Arduino
Branchement du module RGB et du module Bluetooth :
Il est possible que vous possédiez déjà un module d’une led RGB de ce type :
… Si oui, il n’est donc pas nécessaire d’ajouter les résistances présentes dans le schémas de câblage précédent.
Configuration du Bluetooth
Nous utilisons un module HC05 :
Tous les modules Bluetooth HC-05 possèdent la même configuration. Le nom du module est « HC 05 » et le code d’appareillage est « 1234 ».
Si vous souhaitez garder cette configuration, passez au paragraphe suivant, sinon, mettre en place ces étapes :
- Brancher l’interface EN du module HC-05 au 5V, par l’intermédiaire d’un câble
- Débrancher puis rebrancher l’alimentation de votre carte Arduino. Normalement, le capteur HC-05 doit clignoter lentement.
- Téléverser le code suivant :
- Dans le moniteur série, vous devez déjà sélectionner « NL et CR » puis envoyer le message AT, et attendre la réponse OK.
-
Changer le nom :AT+NAME=Votre_Nom (Attention, il faut utiliser 12 caractères maximum et ne pas utiliser de lettres accentuées, ni d’espaces.)
Changer le PIN :AT+PSWD=XXXX (Avec XXXX des chiffres de 0 à 9) -
Une fois le changement effectué, le module nous répond OK
-
Débrancher le fil KEY ou EN du module HC-05
-
Débrancher et rebrancher la carte Arduino
Mise en œuvre de l’application Android sous App Inventor
L’application finale est disponible au format .apk ici et au format .aia (qu’il est possible de modifier dans App Inventor) ici.
La partie liée au Bluetooth reste très classique : un bouton permettant de se connecter, un autre de se déconnecter :
Il faut ensuite créer 3 variables permettant d’enregistrer la valeur de rouge, de vert et de bleu. Une trame sera envoyée au format « Rouge, Vert, Bleu », avec chacune des composantes utilisant la plage de valeurs 0 – 255. Nous initialisons donc une trame à la valeur maximale :
Dans cette application, nous avons créé 3 ascenseurs, permettant de gérer les trois composantes de couleurs : rouge, vert et bleu. Le bloc arrondi permet de ne récupérer que la valeur entière de l’ascenseur. Ne pas oublier d’ajouter, dans le bloc de configuration à droite, la valeur minimale à 0, et la valeur maximale à 255.
Nous utilisons un bouton permettant l’affichage de la couleur sélectionnée avec les ascenseurs. Lorsque nous appuyons sur le bouton, la couleur est appliqué au bouton « Boite_couleur » et si la liaison Bluetooth est disponible, les couleurs sont envoyés par cette liaison sous la forme d’une trame « Rouge;Vert;Bleu ».
Mise en œuvre du code Arduino :
Nous allons donc récupérer la trame complète, puis extraire les éléments, qui sont séparés par des « ;« .
Nous utiliserons la commande ParseInt : http://www.mon-club-elec.fr/pmwiki_reference_arduino/pmwiki.php?n=Main.StreamparseInt
Il ne vous reste plus qu’à vous connecter à votre module Bluetooth à l’aide de votre smartphone. Une fois les deux périphériques associés, vous pouvez lancer l’application et tester la mise en place d’une couleur !
Bonjour,
J’ai un message d’erreur à la compilation du code Arduino pour le pilotage LED
pour toutes les couleurs j’ai:
error ‘bleu’ was not declared in this scope
Avez vous testé avec le même message?
Il faut ajouter cette ligne, avant le void setup() :
int bleu;
well done
Bonjour, la led ne change pas de couleur malgré le fait qu’elle sois connecté. Pouvez-vous m’aidé ?
Est-elle branchée dans le bon sens ?