树莓派默认是将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