French Arduino Robot Car with B4X

Marc DANIEL

Well-Known Member
Licensed User
Ce fil est constitué par un travail de conversion du code Arduino créé par Dejan NEDELKOVSKI en code B4R avec l'aide précieuse de Klaus CHRISTL​
https://howtomechatronics.com/tutorials/arduino/arduino-robot-car-wireless-control-using-hc-05-bluetooth-nrf24l01-and-hc-12-transceiver-modules/

Ce programme B4R permet de télécommander à distance un petit véhicule à deux roues motrices avec un joystick virtuel sur Smartphone Android
1 - Construction du véhicule que nous nommerons «le triporteur»

Elements.jpg


Cet ensemble facilement disponible sur plusieurs plates-formes de vente en ligne servira de base à notre triporteur !


Structure.png


Châssis du triporteur assemblé avec ses deux moteurs DC

Matériel: Une carte ARDUINO UNO, une demi-plaque de connexions rapides, un module Bluetooth HC-05, une pile de 9 Volts, 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, câbles et jumpers pour les connexions, un Smartphone Android disposant du système Bluetooth.

L298N_shield.jpg
Demi-plaque.png
Arduino_Uno.jpg
Bluetooth Arduino.jpg





Triporteur avec L298N.jpg


Équipement en cours d'installation: carte Arduino UNO + Module L298N connecté aux deux moteurs

Triporteur4.jpg

Triporteur équipé prêt à fonctionner avec un pilotage par Bluetooth
 

Marc DANIEL

Well-Known Member
Licensed User
FritzingRobotCar2.jpg

Schéma de montage du dispositif Arduino avec le module L298N (Shield)
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.

ConnexionL298N.jpg


Alimentation du dispositif par une pile à pressions de 9 Volts reliée directement au module L298N (ci-dessus) et à l'entrée 9 V de la carte Arduino Uno (ci-dessous)

AlimentationArduinoUNo.jpg

NB - Il est également possible d'effectuer cette installation avec un simple module L293D connecté sur la planche de connexions (Breadboard) mais il est moins performant que le module L298N et risque de chauffer assez rapidement, voir ci-dessous le schéma des connexions avec L293D.

ConnexionsL293D.jpg


 

Attachments

  • ArduinoRobotCar.zip
    1.7 KB · Views: 371

Marc DANIEL

Well-Known Member
Licensed User
Notez-bien que dans le schéma des connexions ci-dessus (avec un module L293D) que le module Bluetooth HC-05 est en réalité relié aux broches 11 et 12 (comme dans le schéma avec L298N) et non pas aux broches 0 et 1 !

2- Application Android pour Smartphone avec un système Bluetooth disponible

JoystickVirtuel.png


Joystick virtuel sur l'écran du Smartphone avec l'application Android dédiée



Télécharger l'application Android «Arduino Robot Car Control»
NB - Cette application pour appareil Android a été développée et mise en ligne par Dejan NEDELKOVSKI

Une fois que vous avez téléchargé le fichier compressé, décompressez-le et installez-le sur votre appareil Android. Cette application va servir d'intermédiaire entre votre Smartphone et le triporteur. Lors de la première utilisation, un code PIN élémentaire (1234) vous sera demandé puis les connexions ultérieures se feront automatiquement. Ensuite vous pourrez piloter le véhicule en manipulant le joystick sur l'écran tactile de votre Smartphone.
 

Marc DANIEL

Well-Known Member
Licensed User
Conclusion:

Le programme d'origine a été converti et légèrement modifié (*) par Klaus CHRISTL et Marc DANIEL qui l'ont adapté au langage Visual BASIC pour Arduino (B4R)
(*) Contrairement à Dejan NEDELKOVSKI, nous n'utilisons pas les broches 0 (RX) et 1 (TX) de la carte Arduino Uno car cela pose des problèmes lors du téléversement du programme sur la carte. Nous utilisons les broches 11 et 12 pour la connexion du module Bluetooth HC-05.

 

Marc DANIEL

Well-Known Member
Licensed User
Pour piloter le triporteur par un autre système qu'un Smartphone Android, il est possible d'utiliser toujours avec le Bluetooth, soit un joystick, soit 4 boutons pour gérer les 4 dimensions.

Manette de jeux.jpg
 
Last edited:

Marc DANIEL

Well-Known Member
Licensed User
Nous allons dans un premier temps utiliser les 4 boutons d'une carte Joystick Shield pour piloter le triporteur. Nous utiliserons simplement les 4 gros boutons A, B, C et D de la carte Joystick Shield (Le joystick lui-même et les petits boutons E et F ne seront pas utilisés)

Utilisation des 4 boutons.jpg


Utilisation des 4 boutons-P.jpg


Utilisation4Boutons_bb.jpg

Comme l'indiquent les flèches, le bouton A servira à avancer, le bouton B permettra de tourner à droite, le bouton C servira à reculer et le bouton D sera utilisé pour tourner à gauche. Les deux petits boutons E et F ne sont pas utilisés.
 
Last edited:

Marc DANIEL

Well-Known Member
Licensed User


Bouton utiliséRésultat attenduValeur de XValeur de Y
↑ A ↑Marche avant1270 (rapide) ou 80 (lent)
→ B →Rotation à droite2550
↓ C ↓Marche arrière127255 (rapide) ou 180 (lent)
← D ←Rotation à gauche6363
Aucun bouton presséArrêt des moteurs127127

 

Attachments

  • 4BoutonsShield.zip
    1.5 KB · Views: 334
Last edited:

Marc DANIEL

Well-Known Member
Licensed User
Nouvelle installation avec l'utilisation de 2 batteries Li-ION de 3,7 Volts rechargeables, rangées dans une boîte d'organisation de stockage:

Batteries_Li-ION.jpg


OrganiseurStockage_2X_18650_Li-ION.jpg


2 X 3,7 Volts = 7, 4 Volts

NewTriporteur.jpg


NewTriporteur-2.jpg


NewTriporteur-3.jpg
 

Marc DANIEL

Well-Known Member
Licensed User
Version mise à jour avec l'utilisation de la touche Back du Smartphone et gestion de l'arrêt des moteurs avant la fermeture de l'application B4A
 

Attachments

  • Pilote_Bluetooth.zip
    191.6 KB · Views: 307

Marc DANIEL

Well-Known Member
Licensed User
Modification ligne 42 >>> BTA.SendBytes(Array As Byte(127, 127))

En effet, l'envoi des valeurs X=0 et Y=0 provoquait le redémarrage d'un ou des moteurs lors de l'arrêt du programme
 

Attachments

  • Pilote_Bluetooth.zip
    297.3 KB · Views: 298
Last edited:
Top