Bienvenue dans ce premier chapitre ! Nous allons tout de suite entrer dans le vif du sujet en découvrant les composants du robot puis en les assemblant. Nous verrons également comment dimensionner les servomoteurs en fonction des caractéristiques mécaniques que nous souhaitons, en termes de vitesse et de pente maximale que l’engin sera capable de gravir.
Les parties de la structure mécanique sont réalisées grâce à une imprimante 3D avec des fichiers fournis (fichiers en format STL). Vous pourrez le cas échéant adapter sous SketchUp (les fichiers en format SKP) s’il vous venait l’envie de modifier, par exemple, les dimensions du robot.
Les composants électroniques sont issus du marché et vous pourrez vous les procurer aisément sur les sites comme RS Components ou Banggood.
Présentation des composants mécaniques
Les deux principales parties de la structure mécanique sont les deux châssis : le châssis inférieur (fichiers STL et SKP) et le châssis supérieur (fichiers STL et SKP).

Leur conception a été faite sous SketchUp qui est un logiciel libre. Les géométries étant on ne peut plus simples, il n’y a pas de précaution particulière à prendre pour l’exploitation des fichiers.

Nous vous recommandons d’utiliser les fichiers STL, qui est un format d’export, pour piloter directement l’imprimante 3D. Pour la réalisation physique des deux châssis, vous pourrez soit utiliser une imprimante 3D qui existe dans votre entourage (dans votre établissement si vous êtes scolarisé ou un fablab, par exemple) ou bien utiliser un service en ligne qui vous expédiera les pièces après que vous les aurez téléversées sur le site.

Il en va de même pour les deux roues (fichiers STL et SKP) et le ballcaster (fichiers STL et SKP) dont les fichiers sont également fournis.

Vous aurez également besoin des élastiques à placer sur les roues pour l'adhérence et d'une petite bille qui sera placée dans le ballcaster.

Présentation des composants électroniques
La carte Arduino
L’intelligence embarquée de l’engin est une carte Arduino Uno. Elle communique avec un PC ou une tablette via le module Bluetooth et elle pilote les servomoteurs via le shield. Elle interprète aussi les signaux issus des capteurs via le shield. La programmation de cette carte fait l’objet d’un chapitre (partie 2, chapitres 2 et 3).

Où puis-je me la procurer ?
Nous avons utilisé la carte Arduino Uno que vous pouvez acheter ici. Il en existe des clones que vous pouvez aussi utiliser ; par exemple, celui-là.
Le shield
Le shield est une carte d’interface entre la Arduino Uno et les capteurs embarqués, pour faciliter les connexions. De façon générale, les cartes shield sont des cartes d’extension qui permettent d’étendre les possibilités du système Arduino. Il en existe de tous types, pour les communications, pour l’affichage, etc. Le shield permet la connexion de nombreuses interfaces comme un port d’affichage, des modules de communication Bluetooth ou Wi-Fi, des capteurs à ultra-sons ou encore une carte SD.

Où puis-je me le procurer ?
Nous avons utilisé le UNO R3 Sensor Shield V5 Expansion Board For Arduino. Vous pouvez l'acheter ici.
Le module Bluetooth
Il est connecté directement sur le shield précédent via un câble qu’on peut aisément se procurer.

Où puis-je me le procurer ?
Nous avons utilisé le HC-05 Wireless Bluetooth Serial Transceiver Module Slave And Master. Vous pouvez l'acheter ici.
Le boîtier de batterie
Les dimensions des châssis ont été déterminées de manière à ce que le boîtier s’insère juste dans l’espace entre les deux châssis, ce qui assure son bon maintien en position. Si vous optez pour cette solution, il vous faudra également acquérir une batterie rechargeable (par exemple, celle-là) à insérer dans ce boîtier.

Où puis-je me le procurer?
Nous avons utilisé le Battery Charger Case Box USB Power Bank Box For iPhone Smartphone. Vous pouvez l'acheter ici.
Le capteur de distance
Il produit une tension analogique fonction de la distance de la cible réfléchissante. Le capteur est connecté à la carte Arduino par l’intermédiaire du shield. Comme le capteur est monté sur un servo qui fait office de tourelle, l’ensemble forme l’équivalent d’un petit radar qui permet de balayer l’environnement du robot et de détecter les obstacles dans un rayon compris entre 4 cm et 30 cm.

Où puis-je me le procurer ?
Nous avons utilisé le Capteur réfléchissant Sharp GP2Y0A41SK0F. Vous pouvez l'acheter ici.
Les servomoteurs des roues
Les servomoteurs des deux roues sont à rotation continue. Ils sont aisément commandés de façon bidirectionnelle par un signal PWM issu de la carte Arduino.

Où puis-je me le procurer ?
Nous avons utilisé le Servomoteur Parallax Inc, 4 → 6 V, 0 → 50 t/min. Vous pouvez l'acheter ici.
Le servomoteur du capteur de distance
Contrairement aux servos des roues, le servo du capteur de distance est commandé en position sur 180°. Il est aisément commandé par un signal PWM issu de la carte Arduino.

Où puis-je me le procurer ?
Nous avons utilisé le Servomoteur Parallax Inc 140 mA, 4 → 6 V. Vous pouvez l'acheter ici.
Le capteur de lignes
Ils sont au nombre de deux, l’un à droite et l’autre à gauche, tous deux connectés à la carte Arduino par l’intermédiaire du shield. Ils permettent de détecter la ligne réfléchissante qui renvoie le faisceau infrarouge émis par le capteur.

Où puis-je me le procurer ?
Nous avons utilisé TCRT5000 Infrared Reflective Switch IR Barrier Line Track Sensor Module. Vous pouvez l'acheter ici.
Dimensionnement des actionneurs (servomoteurs) et des roues par rapport aux contraintes mécaniques
Dans le texte qui suit, nous donnons simplement quelques éléments de dimensionnement des servomoteurs. En première lecture ou si on souhaite privilégier la réalisation du robot en tant que projet pratique, on peut s'en remettre aux choix des composants effectués par les auteurs et tout simplement, ignorer ce paragraphe.
Nous nous proposons de déterminer par un calcul très simplifié, l’ordre de grandeur du couple qui doit être disponible sur les servomoteurs des roues pour que le robot soit capable de gravir une pente d’angle donné.
Soit M la masse du robot, D, le diamètre des roues et α la pente à gravir.
La figure ci-dessous a été réalisée avec GeoGebra dans le cas d’une pente de quasiment 30°.

Pour que le robot puisse gravir la pente, il faut que la force motrice Fm appliquée au point B soit supérieure ou égale à la projection du poids, le vecteur →DE sur la pente à gravir, c’est-à-dire le vecteur →FE .
Fm>M.g.sinα où g représente l’accélération de la pesanteur.
Le couple moteur total doit donc vérifier : Cmot>M.g.sinα.D/2
Finalement, le couple du servomoteur doit vérifier : Cservo>M.g.sinα.D/4
Pour obtenir un ordre de grandeur, on utilise les valeurs approximatives suivantes : M=0,3 kg, g=10m.s−2 , D=50.10−3m et α=30∘.
On obtient : Cservo>0,01N.m
Passons au chapitre suivant pour assembler les composants du robot !