树莓派读取mpu6050内容
sudo gedit /etc/modules //文件的最后写入 i2c-bcm2708 i2c-dev //保存退出 然后是可选的,把设备解除屏蔽,一块全新的板子可能是没有的。
接着去树莓派选项里面,把GPIO打开:
sudo raspi-config
这里有个选项回车进去会有I2C的选项,再回车选择OK就行了,之后重启树莓派
sudo reboot
之后让树莓派联网状态下运行
sudo apt-get install i2c-tools //可能你的已经安装了,运行一遍总没错。
链接设备

sudo i2cdetect -y 1 //这里有点忘记了,也可能是0,最后出来这个就对了

然后代码如图所示:(首先要安装 mpu6050-raspberrypi模块)
pip install mpu6050-raspberrypi
样例1
from mpu6050 import mpu6050
from time import sleep
sensor = mpu6050(0x68)
while True:
accel_data = sensor.get_accel_data()
gyro_data = sensor.get_gyro_data()
temp = sensor.get_temp()
print("Accelerometer data")
print("x: " + str(accel_data['x']))
print("y: " + str(accel_data['y']))
print("z: " + str(accel_data['z']))
print("Gyroscope data")
print("x: " + str(gyro_data['x']))
print("y: " + str(gyro_data['y']))
print("z: " + str(gyro_data['z']))
print("Temp: " + str(temp) + " C")
sleep(0.5)
样例2 单独开一个进程
#!/usr/bin/python
# -*- coding: utf-8 -*-
import time
from multiprocessing import Process,Manager
from mpu6050 import mpu6050
from time import sleep
print_debug=1
def mpuProcess(ShareImages,lock):
sensor = mpu6050(0x68)
while True:
accel_data = sensor.get_accel_data()
gyro_data = sensor.get_gyro_data()
temp = sensor.get_temp()
if print_debug==1:print("Accelerometer data")
if print_debug==1:print("x: " + str(accel_data['x']))
if print_debug==1:print("y: " + str(accel_data['y']))
if print_debug==1:print("z: " + str(accel_data['z']))
if print_debug==1:print("Gyroscope data")
if print_debug==1:print("x: " + str(gyro_data['x']))
if print_debug==1:print("y: " + str(gyro_data['y']))
if print_debug==1:print("z: " + str(gyro_data['z']))
ShareImages[1]=gyro_data['x']
ShareImages[2]=gyro_data['y']
ShareImages[3]=gyro_data['z']
if print_debug==1:print("Temp: " + str(temp) + " C")
sleep(0.5)
if __name__ == '__main__':
lock = Manager().Lock()#创建共享内存容器
ShareImages=Manager().dict()#存str类型数据
ShareImages[1]=1.0#
ShareImages[2]=1.0#
ShareImages[3]=1.0#
p = Process(target=mpuProcess, args=(ShareImages,lock))#开启进程
p.deamon=True #伴随主进程关闭而关闭,但是有时候还是关闭不了,单独搞个标志位来控制
p.start()#开始
while True:
print("main----",ShareImages)
time.sleep(1)

样例3 使用mpu测算速度
浙公网安备 33010602011771号