Stap 6: Testen MPU6050 sensor
Nu, wij zorgen ervoor dat de MPU6050 echt werkt.
Laten we installeren de i2c testen hulpmiddel.
$ sudo apt-get install i2c-tools
Uit te voeren om te controleren als het de MPU6050 zag op i2c bus.
$ sudo i2cdetect -y 0 (for RPi Revision 1 board) <br> or <br>$ sudo i2cdetect -y 1 (for RPi Revision 2, Pi B, Pi B+, or Pi 2 boards)
Als je zag de output zoals hieronder, zag het de MPU6050. Het betekent het mpu6050 apparaat op i2c bus en haar i2c adres is "0x68"
0 1 2 3 4 5 6 7 8 9 a b c d e f <br>00: -- -- -- -- -- -- -- -- -- -- -- -- -- <br>10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- <br>20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- <br>30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- <br>40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- <br>50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- <br>60: -- -- -- -- -- -- -- -- 68 -- -- -- -- -- -- -- <br>70: -- -- -- -- -- -- -- --
Laten we proberen enkele eenvoudige hulpmiddelen om deze versnelling en de gyroscoop informatie te krijgen.
Downloaden en compileren na gereedschap
$ cd <br>$ git clone <a href="https://github.com/wennycooper/mpu6050_in_c.git" rel="nofollow"> https://github.com/wennycooper/mpu6050_in_c.git <br></a>$ cd mpu6050_in_c $ cat README.md<br>$ gcc -o mpu6050_accl ./mpu6050_accl.c -lwiringPi -lpthread -lm $ gcc -o mpu6050_gyro ./mpu6050_gyro.c -lwiringPi -lpthread -lm
Versnelling om informatie te krijgen, gelieve uitvoeren
$ sudo ./mpu6050_accl
U ziet iets als:
Mijn acclX_scaled: 0.140625
Mijn acclY_scaled:-0.031006
Mijn acclZ_scaled: 0.994141
Mijn X-rotatie:-1.768799
Mijn Y-rotatie:-8.047429
De bovenstaande acclX, acclY & acclZ zijn de gemeten versnelling in g (de g = 9,8 m/s ^ 2) in de X, Y en Z as.
In feite, vertelt de versnellingsmeter alleen ons versnelling informatie. Met enkele basisfuncties van goniometrische berekening krijgen we de hoeken van de afdrukstand. Ze zijn "Mijn X & Y-rotatie" en de eenheid is in zekere mate.
Probeer de auto frame een beetje vooruit of leanback plaatsen, en Bekijk de wijzigingen van de meting. U zult begrijpen dat het meer.
Laten we eens kijken ook gyroscoop meting. Gelieve uit te voeren:
$ sudo ./mpu6050_gyro
Het zal u vertellen de snelheid (in graad/s) van de hoek in elke as, als dit.
My gyroX_scaled: -4.312977 <br>My gyroY_scaled: 0.458015 <br>My gyroZ_scaled: 0.366412 <br>My gyroX_scaled: -4.053435 <br>My gyroY_scaled: 0.427481 <br>My gyroZ_scaled: -0.160305
Probeer het draaien van het frame van de auto en Bekijk de veranderingen door de tijd. Dan zult u begrijpen de gyroscoop meting meer.
Als wij versnelling informatie enkel gebruiken voor het berekenen van de oriëntatie-hoek, de hoek is niet stabiel en niet betrouwbaar. Dus, iemand uitvinden de methode met de snelheid van hoekgegevens te berekenen van de hoek, en aan te vullen met de hoek van versnelling. Vervolgens geeft het ons meer stabiele en betrouwbare hoek.
Het is de zogenaamde "aanvullende filter". Hier ziet u de aanvullende filter in onze code later. Check voor meer detail uitleg in referentiedocumenten.