Mesure de la rotation et de l’accélération avec le Raspberry Pi

Les capteurs d’accélération et de rotation sont surtout connus des smartphones. La rotation de l’appareil peut être détectée et adressée directement.

Avec le Raspberry Pi et un capteur Gyroscope / Accélérateur, il est possible de mesurer la rotation ainsi que l’accélération des 3 axes.
Dans ce tutoriel, je montre comment utiliser le MPU 6050 et comment lire les valeurs en utilisant I2C, ce qui est démontré dans une vidéo.

Composants

Pour ce tutoriel, j’ai utilisé les composants suivants :

Le module a 2 connecteurs à pin, l’un d’eux est plié. J’ai soudé les pins pliés à la carte du capteur, ce qui économise de l’espace (voir photo) :

20151125_205159

Installation

La chose pratique à propos de I2C est que très peu de pins sont utilisés. Des huit pins du capteur, nous n’avons plus qu’à connecter le top 4 :

Raspberry Pi MPU 6050
Pin 1 (3.3V) VCC
Pin 3 (SDA) SDA
Pin 5 (SCL) SCL
Pin 6 (GND) GND

GY-521_accelerometer_Gyroscope_Steckplatine

Activer I²C sur le Raspberry Pi

Tout d’abord, nous activons SPI et I2C. Si vous l’avez déjà fait dans un tutoriel précédent, vous pouvez sauter cette étape.

sudo raspi-config

Ici nous trouvons le menu d’activation des services. Sous « Advanced Options » il y a l’entrée « A7 I2C », que nous activons (Ceci peut différer dans d’autres versions Raspbian). Pour les anciennes versions de Raspbian, les entrées du fichier /etc/modprobe.d/raspi-blacklist.conf doivent être extraits (avec #).

Nous éditons ensuite le fichier des modules:

sudo nano /etc/modules

Si les lignes suivantes ne sont pas déjà incluses, ajoutez-les et redémarrez le Pi (sudo reboot):

Nous pouvons maintenant installer rapidement les outils nécessaires :

sudo apt-get install i2c-tools python-smbus

Commençons un petit test. Le paramètre -y 1représente la révision 2. Si vous avez un complètement vieux Pi (avant 2013), vous devrez spécifier un 0 plutôt :

sudo i2cdetect -y 1

Si le gyroscope est correctement connecté, vous verrez cette sortie (si vous avez d’autres modules I2C connectés, leurs adresses hexadécimales devraient être affichées) :

pi@raspberrypi ~ $ sudo i2cdetect -y 1
 0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

Pour adresser l’appareil avec l’adresse 68 (Attention : Hexadécimal) sous le registre, entrez ce qui suit :

sudo i2cget -y 1 0x68 0x75

Lisez le module MPU-6050

La manière la plus pratique de lire le capteur d’accélération est probablement Python. Par conséquent, nous créons un fichier et collons le code suivant.

sudo nano gyro.py

Sauvegardez-le avec CTRL + O et quittez l’éditeur avec CTRL + X. Vous pouvez alors exécuter le script.

sudo python gyro.py

Maintenant, vous verrez une sortie qui contient toutes les données capturées :

Gyroskop
--------
gyroskop_xout:   -260  skaliert:  -2
gyroskop_yout:   -154  skaliert:  -2
gyroskop_zout:     78  skaliert:  0

Beschleunigungssensor
---------------------
beschleunigung_xout:   -1048  skaliert:  -0.06396484375
beschleunigung_yout:    -676  skaliert:  -0.041259765625
beschleunigung_zout:   16644  skaliert:  1.01586914062
X Rotation:  -2.32121150537
Y Rotation:  3.59994842011

Pour en savoir plus sur les accéléromètres et les gyroscopes, vous devriez lire cet article.

Enfin, un petit exemple de vidéo démontrant l’utilisation du capteur en direct :

Leave a Comment

Your email address will not be published.

Blog abonnieren

Abonniere Raspberry Pi Tutorials, um kein Tutorial mehr zu verpassen!