Construire puis piloter une voiture Arduino

Build then drive an arduino car

1 - Montage du châssis

  Se procurer le kit Arduino fabriqué en Chine et hélas fourni sans notice de montage: 

   >>>   https://www.elecrow.com/4wd-smart-car-robot-chassis-for-arduino-servo-steering.html

     Tarif courant: 49,50 $ (soit 68,73 € avec les frais de port environ)

 

Pièces détachées proposées dans ce kit de montage

Châssis métallique pré-percé, 2 plaques en résine, moteur et engrenages pour les roues arrière motrices, servomoteur pour contrôler la direction avant, visserie, roulements, accessoires divers ...


Matériel, modules et composants supplémentaires utilisés pour l'équipement Arduino de la voiture:

     

                     

              

- Une carte Arduino Mega 2560 ou similaire

- Une demi-plaque de connexions (que l'on va réduire aux dimensions disponibles au fond du socle de la voiture)

- Un module Bluetooth HC-05

- Un module L298N Dual H-Bridge Motor Driver

- Un support pour 2 ou 3 batteries au lithium 18650 Li-ion 

- Deux ou Trois batteries rechargeables Li-Ion 18650 de 3,7 volts chacune

- 3 résistances de 1 Kohm, 1 résistance de 220 ohms, 1 LED bleue, des LEDs blanches pour placer à l'avant, 2 diodes rouges pour placer à l'arrière

- Une fiche mâle 5,5 X 2,5 pour connecter le pack de batteries à la carte Arduino ou similaire

- 1 buzzer qui servira de Klaxon

- Câbles de couleur, jumpers pour les diverses connexions entre tous ces éléments


Montage de la voiture

Fixer solidement le support du moteur et des roues arrière à l'aide de 5 vis

    

Fixer le pignon à la sortie de l'axe moteur à l'aide de 2 vis encastrées, attention à placer la zone plate de l'axe face à l'une des vis

 

Préparer les pièces composant le train arrière de la voiture

Placer l'axe arrière ainsi sans oublier les deux petits roulements qui s'emboîtent dans le support, fixer solidement le petit pignon à l'aide des vis encastrées

Attention, les deux pignons peuvent être installés dans les deux sens mais le serrage par les vis n'est efficace que dans le sens ci-dessus

(En effet, surtout en ce qui concerne le gros pignon de sortie moteur, il est impossible de serrer correctement les vis si on inverse son sens de montage sur l'axe, les vis n'atteignent pas l'axe qui tourne dans le vide sans entraîner les roues arrière !)

 

Mettre les roues arrière en place

Préparer les supports pour les roues avant et le système de direction 

Châssis retourné avec les fixations vissées

 

Vues grossies du système de fixation des roues avant

Trou de fixation de la future barre de direction

Roues avant placées et reliées par une barre de direction à écartement réglable par vissage

Équerres destinées à fixer solidement le servomoteur

Servomoteur avant le montage sur le châssis

Servomoteur solidement vissé sur les deux équerres

(NB - Il faut positionner le bras mobile à mi-chemin de la course du moteur avant de le visser solidement !

Il doit pouvoir tourner approximativement de 90° à gauche et de 90° à droite.)

 

Servomoteur mis en place et vissé sur les deux petites équerres métalliques

Pose de la petite barre réglable reliant le bras du servomoteur à la barre de direction

Préparation de la fixation du bouclier avant

Bouclier avant mis en place

Pose des deux plaques en PVC

Fixation du module L298N Dual H-Bridge Motor Driver - Connexion du moteur

Installation d'une mini-plaque de connexion adaptée aux dimensions du socle

et destinée essentiellement à installer le module Bluetooth HC-05 et ses connexions

 

La LED bleue est le témoin de la connexion Bluetooth entre votre Smartphone et la voiture Arduino, elle s'allumera dès que la connexion Bluetooth aura été établie. Trois résistances de 1 Kohms sont nécessaires pour l'installtion correcte du module Bluetooth HC-05 (Voir le schéma général des connexions). Attention à la position de ce module, faites en sorte que la partie supérieure puisse passer par l'orifice ovale de la plaque en PVC fournie avec le kit.

Installation d'une carte Arduino, d'une plaque de connexions adaptée à la structure, supportant le module Bluetooth HC-05

 dont la partie supérieure peut passer par l'orifice ovale de la plaque fournie dans le kit.

 Cet orifice permet le passage de la plupart des câbles en provenance du module L298N situé à l'arrière, des câbles reliant la carte Arduino au module Bluetooth ...

 

Ci-dessous, la carte Arduino est fixée en largeur, les connexions sont les mêmes

 

 

 

 


2 - Conception d'un programme B4R pour contrôler ce véhicule

Avant de détailler les programmes utilisés, il est bon de se familiariser avec l'emploi d'un servomoteur pour contrôler la direction de la voiture Arduino. Tout d'abord, nous allons vérifier le bon fonctionnement du servomoteur en utilisant un potentiomètre comme sur le schéma ci-dessous:

 

Voir vidéo: Test du servomoteur en utilisant un potentiomètre

Télécharger le petit programme de test: "EssaiServoMoteur.B4R

Grâce à l'utilisation d'une bibliothèque spécialement adaptée aux servomoteurs, les commandes envoyées au servomoteur sont finalement traduites en degrés. Cela se traduira par exemple ainsi:

- Angle de 90° >>> Le bras du servomoteur se place au milieu de sa course (de 180°), les roues de la voiture seront alignées en ligne droite.

- Angle de 70° >>> Orientation légère à gauche

- Angle de 40° >>> Orientation nette à gauche

- Angle de 110° >>> Orientation légère à droite

- Angle de 130° >>> Orientation nette à droite

 

Il est fortement conseillé de fixer le bras du servomoteur à l'endroit correspondant à la position centrale (90°). Les essais doivent être effectués de préférence avant de fixer le bras au système de direction, car de fausses manœuvres pourraient endommager le matériel et le servomoteur lui-même (engrenages internes) surtout si les commandes envoyées sont inférieures à 30° ou supérieures à 130°, même si mathématiquement on pourrait varier de 0° à 180° !!!

Pour ceux qui ne disposent pas d'un potentiomètre, il est possible de tester votre servomoteur seul avec un petit programme de test B4R adapté. Le schéma est pratiquement le même que plus haut:

Voir vidéo: Test du servomoteur sans potentiomètre

Sur cette vidéo, les commandes sont générées automatiquement par le petit programme de test "TestServo2.B4R", le bras du servomoteur va successivement effectuer les mouvements suivants:

- Ordre: Angle de 70° >>> Rotation légère à gauche

- Ordre: Angle de 30° >>> Rotation nette à gauche

- Ordre: Angle de 90° >>> Alignement droit

- Ordre: Angle de 110° >>> Rotation légère à droite

- Ordre: Angle de 130° >>> Rotation nette à droite

- Ordre: Angle de 90° >>> Alignement droit

Télécharger le petit programme de test: "TestServo2.B4R

Et enfin, nous pouvons envoyer des ordres à la demande par le système Bluetooth  avec un programme B4A installé sur un Smartphone, ce qui donnera ceci:

Voir vidéo: Test du servomoteur par Bluetooth


NB - La carte MEGA2560 a été préférée et choisie parce que sur Arduino UNO, l'utilisation de la bibliothèque "rServo" provoque une saturation et donc le programme bogue: La direction fonctionne bien avec le servomoteur mais la transmission arrière n'est plus assurée contrairement à ce qui se passe avec MEGA2560 où tout fonctionne parfaitement.

Schéma des connexions des composants de la voiture Arduino

Maintenant que tous les équipements sont installés et connectés, il est possible de tester le programme Arduino qui va contrôler la voiture et lui permettre de rouler. En effet, ce programme B4R permet de tester les équipements installés sans attendre la mise au point de l'application B4A qui pilotera la voiture à partir d'un Smartphone via le système Bluetooth.

Téléchargement du programme Arduino B4R

Téléversez le programme "ArduinoCar.B4R" dans la carte Arduino utilisée. Une fois cette opération effectuée, les tests automatiques seront lancés au démarrage de l'application ou relancés si vous appuyez sur le petit bouton RESET de la carte Arduino:

- Les feux, diodes, LEDs installé(e)s s'allumeront et s'éteindront 3 fois de suite en même temps que le son du Klaxon (buzzer) s'il est installé

- Les roues avant vont se braquer vers la droite puis vers la gauche avant de s'aligner en ligne droite

- La voiture va avancer pendant 3 secondes puis reculer pendant 3 secondes

- De nouveau, les feux et le Klaxon vont s'allumer puis s'éteindre 3 fois

 

NB - Si vous ne souhaitez pas que ces tests s'effectuent automatiquement, il faudra supprimer le module "Sub Depart" dans le programme ArduinoCar.B4R


Vidéo: Essais de la voiture Arduino


3 - Conception d'un programme B4A pour piloter à distance ce véhicule               

Maintenant que la voiture a été testée et que tous ses équipements fonctionnent, il va falloir la piloter à distance via le système Bluetooth à partir d'un Smartphone sur lequel nous allons installer une application B4A adaptée à notre voiture Arduino.

          

Captures d'écran de l'application B4A "PilotageVoiture" installée sur un Smartphone

Fonctionnement des touches du poste de pilotage de la voiture Arduino

Click = simple pression du doigt sur une touche

LongClick = appui long sur une touche

 

Téléchargement de l'application B4A pour appareil Smartphone


Retour HAUT page   Retour Menu Arduino

Voir toutes mes applications