像许多人一样,我终于开始接触一个MPU6050 IMU来玩 . 它使用i2c进行通信,因此我按照Adafruit的指南关于启用此处显示的i2c Adafruit i2c .

然后我将MPU6050连接到i2c总线,并使用 i2cdetect -y 1 我能够看到设备在0x68 .

但是,当尝试从设备读取或写入时,我得到了权限被拒绝错误,所以我按照这篇文章解决了这个问题/dev/i2c-x permission . 它告诉我修改/lib/udev/rules.d/60-i2c-tools.rules

KERNEL=="i2c-0"     , GROUP="i2c", MODE="0660"
KERNEL=="i2c-[1-9]*", GROUP="i2c", MODE="0666"

这有效,但是当实际尝试使用C读取或写入时,我得到"Input/output error" . 同样,在Python中使用smbus我得到 [Errno 5] Input/output error 当连接到Arduino时,我可以让这个设备完美地工作 .

I've exhausted every forum post I can find. Hopefully I've just done something stupid. Anyone got any ideas?

原型号B RPi运行Raspbian,如果有任何帮助的话 .

干杯