«

»

nov 02

Comment piloter un servomoteur à l’aide d’un RASPBERRY et du port GPIO

Utilisez un raspberry pour piloter tous vos appareils à distance

Le Raspberry Pi est une machine vraiment pratique pour expérimenter et prototyper à moindre coût. En effet, son port GPIO met à notre disposition des entrées/sorties faciles d’accès, pour piloter un peu ce qu’on veut. Par exemple, un servomoteur qui appuiera sur les boutons d’une télécommande ou allumera une cafetière.

C’est plus simple qu’il n’y parait

Aujourd’hui, nous allons donc connecter un servomoteur au RPI, via le port GPIO. Pour ce faire, nous allons programmer en python et utiliser la librairie RPI.GPIO

Pour actionner un servomoteur et lui donner l’angle souhaité, il faut lui envoyer des impulsions électriques à une fréquence et une longueur d’onde prédéfinie. Pour envoyer ces impulsions, nous allons utiliser les capacités Pulse Width Modulation (PWM) du port GPIO

Ce qui est génial avec une librairie telle que RPI.GPIO , c’est qu’elle va calculer à notre place le PWM kivabien, pour actionner le servo à l’angle souhaité.A noter que pour cette expérience, nous n’utilisons pas de matériel dédié, ce qui veux dire que les instructions peuvent être retardées à cause d’autres instrcutions que le RPi aurait à traiter. Ce qui implique une perturbation des impulsions et un servo qui va manquer de précisions. Néanmoins, c’est suffisant pour une première expérimentation.

Comment ça se passe en pratique ?

La première chose à réaliser est de connecter le servo au GPIO. Nous allons brancher le + sur le 5V, le – sur la masse et le fil de signal sur le pin7. Vous pouvez vous référer à l’illustration ci-dessous pour le câblage (Crédits Photo université de Cambridge)

pi_gpio

La seconde étape consiste à écrire un script en python. Appelons le « servo.py » parce qu’on est très créatif. Pour ce script, je n’ai pas réinventé la roue. J’ai utilisé le script « rb.py » de Bibabox.fr, fourni avec son serveur HTTP apéiseur de script. Vous trouverez le script dans le dossier « scripts » de l’archive.

Quelques modifications ont été apportées au script original pour être en mesure d’activer le PWM et de piloter les servomoteurs. Ci-dessous la video dont je me suis très fortement inspiré pour modifier le script rb.py :

The video cannot be shown at the moment. Please try again later.

Dans le script « servo.py », vous pourrez piloter deux servo. Le signal de l’un étant branché au pin7 et le signal de l’autre est branché sur le pin 11.

Pour télécharger les scripts, cliquez sur le lien suivant : http://demonter.net/bin/Les%20doigts%20de%20Sarah.zip

A vous de jouer !

Maintenant, vous n’avez plus pour limite que votre imagination. Quels seront les premiers objets que vous comptez activer à l’aide de ce montage ?

1 comment

  1. phiphi

    SUPER BIEN, mais peut-on avoir qu’un seul fichier XML pour activer les servo et pouvoir aussi activer les leds par gpio, avec Sarah, un fichier unique quoi .
    merci

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser les balises HTML suivantes : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>