树莓派默认是将IIC功能关闭的,需要通过设置打开。

参考: http://www.embed-net.com/thread-140-1-1.html

如果没有打开内核驱动,需要通过修改配置文件:

sudo vim /etc/modules

追加如下两行内容

i2c-bcm2708

i2c-dev

使用lsmod命令查看i2c是否启动

2. 安装测试工具

sudo apt-get install i2c-tools

3.硬件连线

将I2C管脚SDA/SCL分别连接到树莓派管脚3/5

树莓派管脚参考: https://www.yiboard.com/thread-1272-1-1.html

4. 检测I2C设备地址

sudo i2cdetect -y 1

-y 代表取消用户交互过程,直接执行指令

1 代码树莓派上i2c总线号

5. 导出相应设备中的寄存器

sudo i2cdump -y 1 i2c设备地址

6.向寄存器中写入数据

sudo i2cset -y 1 i2c设备地址  写入位置  写入内容

7. 读出数据

sudo i2cget -y 1 i2c设备地址 读取位置

使用Python控制PCA9685:

PCA9685是一个通过IIC控制16channel的PWM控制板,且可以进行级联,控制更多PWM端口,可以驱动舵机。

PCA9685板图:

参考: https://www.adafruit.com/product/815

python软件控制:

参考: https://github.com/adafruit/Adafruit_Python_PCA9685