Lego + Raspberry = voiture télécommandée – Partie 2

Suite au post expliquant comment réaliser une voiture télécommandée à partir d’anciens Lego, ce post décrit les options “possibles” pour améliorer la voiture.

On/off de la voiture

Pour cette étape, on rajoute un relais, asservi sur l’entrée GPIO 4 du RP pour démarrer/stopper le véhicule. Il s’agit d’un simple relais 5V 2 canaux. J’utilise la sortie NO (Normally Open) pour commander mon relais. Le relais sera fermé et activera les moteurs que si l’entrée IO4 est activée (état HIGH).

Note :

  • Pas besoin de transistor ou autre composant pour s’assurer du contrôle du relais, les GPIO du RP0 semblent fournir le voltage nécessaire pour la bascule du relais.

Ajout de la caméra

Rien de bien compliqué, la caméra se fixe très simplement à l’aide d’une nappe. Pour utiliser et tester la caméra, le binaire raspistill permet de prendre des photos et le binaire raspivid les vidéos.

Note :

  • attention à la connectique du RP0, plus petite que celle du RP3. Il est nécessaire d’avoir un faisceau spécial.

Rajout de la marche arrière

Pour la marche arrière, il a fallu trouver une solution permettant d’inverser la polarité des piles 9V pour faire tourner les moteurs dans l’autre sens et donc de faire marche arrière. Plusieurs solutions possibles mais je me suis orienté vers la solution que j’ai trouvée la plus simple : l’utilisation d’un composant dédié au contrôle des moteurs, le L293D de Texas Instrument. Le pilotage des entrées et l’alimentation du composant se fait sur du +5V et la sortie pour les moteurs varie de +4V à +36V, en fonction de la tension fournie (Vcc 2). 

L’utilisation de ce composant est fort simple :

Le souci est que les entrées GPIO du RP fournissent du +3V et non du +5V. Pour cela, un convertisseur logique est utilisé. On alimente Vcc A avec la pin +3V du RP et Vcc B avec la pin +5V du RP. Ainsi, quand l’entrée 1 est activée avec une GPIO à +3V, la sortie 2 est activée et délivrera une tension de +5V. C’est cette sortie qui sera ensuite connectée à l’entrée du L293D pour piloter le moteur.

Le montage électrique pour commander les 2 sens d’un moteur +5V depuis le RP est le suivant :

Les GPIO 04, 17 et 27 sont donc utilisées pour contrôler le moteur. Le script python est le le script testMotor.py.

Le montage électrique complet, avec le servo et les 2 moteurs Lego 9V est le suivant :

Le véhicule avec sa télécommande

Le RP avec ses GPIO câblées

Le bornier

Le L293D

Le convertisseur logique

Les scripts

listener.py – version “relais”

listener.py – version “marche arrière”

testMotor.py

video.sh

picture.sh

stop.py

forward.py

reverse.py

Test et vidéo

Tagged with: , ,