Applications pour cartes ARDUINO
Triporteur ARDUINO piloté par Bluetooth à partir d'un Smartphone Android
Ce programme B4R permet le pilotage à distance via
le système Bluetooth d'un petit véhicule à deux roues motrices que nous
appellerons "triporteur" soit à partir d'un Smartphone Android,
soit en utilisant les boutons d'une carte «Joystick Shield».
1 - Construction du véhicule: le
«triporteur»
2 - Pilotage à partir d'un Smartphone
Android
3 - Pilotage avec les boutons d'une carte Joystick Shield
Téléchargements - Exemples vidéo
1 - Partie technologie Arduino: Construction et équipement du véhicule
Matériel: Une carte ARDUINO UNO, un quart de plaque
de connexions rapides, un module Bluetooth HC-05, deux batteries
rechargeables Li-ION et leur boîte de connexion avec couvercle, un module L298N
shield, le châssis avec deux roues motorisées par 2 moteurs DC, 3 résistances de 1 Kohm , 1 résistance de 220 ohms, 1 LED
bleue, 1 petit interrupteur central, une fiche mâle 5,5 X 2,5 pour
l'alimentation de la carte Arduino Uno, câbles et jumpers pour les connexions,
un Smartphone Android disposant du système Bluetooth ou une carte Joystick
Shield avec une second module Bluetooth HC-05.
Pièces détachées avant le montage du «triporteur» -
Notons que nous n'utilisons que la moitié de la demi-plaque de connexions, soit
un quart de plaque.
(Conseil: Sciez délicatement cette plaque en deux avec
une fine scie à métaux afin de ne pas endommager les connecteurs métalliques
incrustés.)
Châssis du triporteur assemblés avec leurs deux
moteurs
Ces deux modèles se trouvent facilement dans le
commerce en ligne spécialisé, le modèle de gauche est plus solide et les
moteurs sont pré-câblés
Composants installés sur le châssis: de gauche à
droite > Quart de
"breadboard" avec module Bluetooth HC-05, module L298N, interrupteur
général, carte Arduino Uno
Vue du triporteur renversé avec la boîte de rangement
des batteries Li-ION placée au dessous du support
Batteries mises en place avant la fermeture du
couvercle
Module Bluetooth HC-05 enfiché dans un quart de
"breadboard" à l'arrière
Connexion des moteurs, des modules et de la carte
Arduino Uno
Un petit interrupteur central facilement accessible
permet la mise sous tension du triporteur
Gros plan sur les connexions de la carte Arduino Uno
placée à l'avant du triporteur
Ajout d'un bouton "Test de fonctionnement des
moteurs" sur la mini-plaque de connexions
(L'appui
sur ce bouton-poussoir déclenche le test de fonctionnement des 2 moteurs: 3
secondes en marche avant puis 3 secondes en marche arrière, même si le véhicule
n'est pas connecté en Bluetooth)
Connexions du module L298N
Notez-bien que les cavaliers installés par défaut sur
les ports ENA et ENB doivent être retirés du module L298N afin de permettre les
variations de vitesse des deux moteurs.
Si vous laissez ces cavaliers en place, les
moteurs tourneront systématiquement à la même vitesse et le pilotage sera
réduit à marche avant et marche arrière à une vitesse constante.
Notes: Si après le montage complet et les connexions réalisées, vous
constatez des dysfonctionnements du système, notamment lors des tests des
moteurs, pas de panique. Si une roue ou les 2 roues recule(nt) au lieu
d'avancer, inversez les connexions + et - aux sorties OUT1 (et/ou OUT2) de
l'alimentation des moteurs. Si le triporteur tourne à gauche au lieu de tourner
à droite et inversement, permutez simplement la connexion des câbles en
provenance du module L298N (broches ENA et ENB) au niveau des bornes 9 et 10 de
la carte ARDUINO UNO. Tout devrait rentrer dans l'ordre...
2 - Application Android
pour piloter
le véhicule via
le système Bluetooth d'un
Smartphone Android
2-1 - Application Android développée par Marc
DANIEL: Pilote Bluetooth pour triporteur ARDUINO
Application développée en Visual BASIC
(B4A) - Version en langue française - Programme disponible ici au
téléchargement plus bas
Lorsque l'écran d'accueil est affiché, la mention "Aucun
dispositif connecté" apparaît par défaut. Branchez le courant sur le
triporteur afin que le module Bluetooth HC-05 soit disponible à la connexion
(Voyant rouge clignotant rapidement). Cliquez alors sur le bouton vert:
"Connexion" du Smartphone et patientez quelques instants. Si le
module n'est pas détecté, le message "Dispositif HC-05 non détecté"
s'affichera, dans le cas contraire, le message "HC-05 trouvé, veuillez
patienter." s'affichera puis la connexion Bluetooth sera confirmée
par le message: "Module Bluetooth HC-05 connecté". Le voyant rouge du
module Bluetooth du triporteur effectuera deux clignotements rapides séparés
par 2 secondes au moins, la diode témoin (bleue sur notre triporteur)
s'allumera pour confirmer la connexion Bluetooth, le logo Bluetooth sera
affiché sur le Smartphone.
A partir de cet instant, vous pouvez utiliser les touches de
pilotage Marche Avant (vers le haut), Marche Arrière (vers le bas), tourner à
droite (vers la droite), tourner à gauche (vers la gauche) ou STOP au centre
pour arrêter les moteurs et donc pour immobiliser le triporteur. Il est
possible de passer rapidement d'une touche de pilotage à l'autre sans passer
par le STOP. Les touches rouges déclenchent une vitesse supérieure en marche
avant comme en marche arrière.
Pour fermer cette application, vous avez deux solutions: utiliser
le bouton de sortie rose: "Fermer" ou la touche "Back" ou
Retour: < de votre Smartphone ...
Captures d'écran de l'application
Bouton
utilisé |
Résultat
attendu |
Valeur
de X |
Valeur
de Y |
|
touche
rose |
↑ AVANT ↑ |
Marche
avant |
127 |
80 |
touche
rouge |
↑ AVANT ↑ |
Marche
avant rapide |
250 |
250 |
touche
rose |
→
DROITE→ |
Rotation à
droite |
180 |
63 |
touche
rose |
↓
ARRIÈRE ↓ |
Marche
arrière |
127 |
180 |
touche
rouge |
↓
ARRIÈRE ↓ |
Marche
arrière rapide |
200 |
200 |
touche
rose |
←
GAUCHE ← |
Rotation à
gauche |
63 |
63 |
ou STOP |
Aucun bouton pressé |
Arrêt des moteurs |
127 |
127 |
Valeurs de X et Y utilisées dans l'application - Ces
valeurs peuvent être ajustées en fonction des préférences de l'utilisateur du
véhicule
Ce programme B4A permet de piloter le triporteur. Utiliser d'abord la
touche de connexion pour détecter le module Bluetooth HC05 du véhicule et
permettre la connexion entre le Smartphone et le véhicule.
Utiliser ensuite les touches de pilotage : Bouton haut pour
avancer, bouton bas pour reculer, bouton droit pour tourner à droite et bouton
gauche pour tourner à gauche.
La touche STOP centrale permet d'immobiliser le véhicule.
Après la connexion Bluetooth, un bouton de sortie permet de quitter l'application. Il est également possible d'utiliser la touche "Back" du Smartphone pour fermer l'application.
Télécharger l'application Android «Pilote Bluetooth» - Télécharger
directement le fichier APK
Cette application pour appareil Android a été développée et mise en ligne par Marc DANIEL
3 - Utilisation des boutons d'une carte Joystick Shield
Application
développée en Visual BASIC (B4R) - Version en langue française - Programme
disponible ici au téléchargement plus bas
Notez bien que cette
proposition n'est utile que si l'utilisateur ne dispose pas d'un Smartphone
Android compatible Bluetooth
Matériel
nécessaire: Une seconde
carte ARDUINO UNO, une carte Joystick Shield clipée sur la carte Arduino
Uno, un second module Bluetooth HC-05 que l'on va rendre "maître" et
qui transmettra les valeurs à l'autre module Bluetooth installé sur le
triporteur qui est déjà programmé comme "esclave", une demi plaque de
connexions, câbles et jumpers pour les connexions, 3 résistances de 1 Kohm, une
résistance de 220 ohms, une LED pour visualiser la connexion Bluetooth avec le
triporteur.
Dispositif de pilotage Arduino par Bluetooth
Dispositif prêt à fonctionner
Nous allons
utiliser essentiellement les 4 boutons A, B, C, D pour piloter à distance notre
triporteur grâce à un deuxième module Bluetooth HC-05.
En plus des
4 boutons A, B, C et D utilisés pour la marche avant, le virage à droite, la
marche arrière et le virage à gauche, le gros bouton G du joystick permettra
désormais d'obtenir la marche avant rapide.
Dans le programme "4BoutonsShield.B4R" disponible ci-dessous en
téléchargement, les 4 boutons sont reliés en interne ainsi:
Bouton A > BtnA > broche D2
Bouton B > BtnB > broche D3
Bouton C > BtnC > broche D4
Bouton D > BtnD > broche D5
et le gros bouton G du joystick ( nommé BTJ dans le programme) est relié à la
broche D8
(Notons qu'il
reste les deux petits boutons E et F inutilisés, ils sont reliés en interne aux
broches D6 et D7 - Il est donc parfaitement possible de modifier le programme
pour leur attribuer une fonction...)
Bouton
utilisé |
Résultat
attendu |
Valeur
de X |
Valeur
de Y |
↑ A ↑ |
Marche
avant |
127 |
80 |
↑ G ↑ Gros bouton du joystick |
Marche
avant rapide |
250 |
250 |
→ B → |
Rotation à
droite |
180 |
63 |
↓ C ↓ |
Marche
arrière |
127 |
180 |
← D ← |
Rotation à
gauche |
63 |
63 |
Aucun bouton pressé |
Arrêt des moteurs |
127 |
127 |
Schéma des connexions de la carte Joystick Shield
Clipée sur une carte ARDUINO UNO
(NB - Il y a un port Bluetooth en haut et à droite de
la carte Joystick Shield mais il ne permet pas de transmettre correctement les
données - On se sert toutefois des broches + et - pour alimenter la demi-plaque
de connexions.)
La broche RX du module Bluetooth HC-05, protégée par 3
résistances de 1 Kohms est reliée à la broche D12 de la carte Shield (et donc
de la carte Arduino Uno) et la broche TX est reliée à la broche D11.
Modifications à apporter au module
Bluetooth HC-05 pour qu'il devienne maître: "Master"
Ensuite,
profitez de ce mode de connexion vous permettant d'enregistrer vos préférences
d'utilisation de ce module en utilisant les commandes "AT"
Commandes AT utiles:
AT + ROLE = 0 >>>
rend le module "esclave" (C'est le cas du module installé sur le
triporteur)
AT + ROLE =
1 >>> rend le module "maître" (C'est ce que nous voulons faire avec le module connecté
aux 4 boutons de la carte Joystick Shield)
AT + ROLE ?
>>> Vous posez une question au module qui va vous répondre par
exemple: +ROLE:1 si vous
avez déjà envoyé la commande précédente
AT + CMODE = 0 >>> connexion
avec un seul dispositif (toujours le même)
AT + CMODE = 1 >>> connexion
avec n'importe quel dispositif disponible
AT + CMODE ? >>> Vous
posez une qustion au module qui va vous répondre par exemple: +CMOD:1 si vous avez envoyé la commande
précédente
AT + PSWD ? >>> Question
pour demander le mot de passe (PassWord), la réponse sera certainement : +PSWD:1234
Vous constaterez ensuite que les deux modules HC-05 se
connectent automatiquement en quelques secondes, comme ci-dessous, chaque fois
que les deux systèmes ARDUINO sont "allumés".
LED rouge allumée: le module HC-05 maître est connecté au module HC-05 esclave situé sur le triporteur (LED bleue allumée)
Vidéo Premier
essai Vidéo ancien
système Vidéo Bouton TEST Moteurs Vidéo connexion Bluetooth
Vidéo Carte
Shield
Téléchargez
le programme B4R: "TriporteurARDUINO"
Téléchargez l'application B4A: "PilotePlus
Bluetooth" - Téléchargez
le fichier APK installable sur
dispositif Android
Téléchargez le programme B4R: "4BoutonsShield"
Les programmes TriporteurARDUINO.B4R, PilotePlus_Bluetooth.B4A et 4BoutonsShield.B4R ont été développés grâce à la plate-forme B4X