【NanoPi NEO2 开发板试用体验】测试I2C接口读取MPU6050

  • lgnstar
  • LV2工程师
  • |      2017-07-04 22:53:10
  • 浏览量 1594
  • 回复:0
今天找到了一个GY521小板子,上面有MPU6050芯片,包含了陀螺仪与加速器。 运行npi-config命令检查“Advanced Options”的I2C0设置是否“enabled", 连接GY521与Neo2, GY521*VCC —— Neo2*Pin1:SYS_3.3V GY521*GND —— Neo2*Pin6:GND GY521*SCL —— Neo2*Pin5:I2C0_SCL GY521*SDA —— Neo2*Pin3:I2C0_SDA 因要在python中使用I2C接口,安装smbus2
sudo pip3 install smbus2
程序文件mpu6050_demo.py如下:
#!/usr/bin/python3



import smbus2

import time  



 

bus = smbus2.SMBus(0)

bus.write_byte_data(0x68, 0x6b, 0)



while True:

    gyro_data = bus.read_i2c_block_data(0x68, 0x43, 6)

    accel_data = bus.read_i2c_block_data(0x68, 0x3b, 6)



    gyro_x = ((gyro_data << 8) + gyro_data)

    gyro_y = ((gyro_data << 8) + gyro_data)

    gyro_z = ((gyro_data << 8) + gyro_data)



    accel_x = ((accel_data << 8) + accel_data)

    accel_y = ((accel_data << 8) + accel_data)

    accel_z = ((accel_data << 8) + accel_data)

    print('gyro: x=%05d, y=%05d, z=%05d \t\t accel: x=%05d, y=%05d, z=%05d'%(gyro_x,gyro_y,gyro_z,accel_x,accel_y,accel_z))

    time.sleep(1)

执行mpu6050_demo.py
sudo python3 mpu6050_demo.py
可读取到陀螺仪与加速器的数值:
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子