硬件:
1> 樹莓派2/3 B板
2> PCA9685 16路驅動板: http://duinopeak.com/wiki/index.php?title=PCA9685_16%E8%B7%AF%E8%88%B5%E6%9C%BA%E9%A9%B1%E5%8A%A8%E6%9D%BF
3> 杜邦線, 針頭線若干
軟件:
1> pca9685驅動: github 上搜索 pca9685
2> 打開樹莓派的i2c接口
單擊桌面左上角menu --> preferences --> raspberry Pi configuration
再選擇interface面板, 將i2c勾選爲enable
3>確定i2c地址,
安裝i2c-tools: sudo apt-get install i2c-tools
運行: i2cdetect -y 0 或者 i2cdetect -y 1 (B板) 運行效果如下
pi@raspberrypi:~$ i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
40: 40 -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: 70 -- -- -- -- -- -- --
pi@raspberrypi:~ $ i2cdetect -y 0
Error: Could not open file `/dev/i2c-0' or `/dev/i2c/0': No such file or directory
找到兩個地址 0x40 0x70
控制tips:
1> 控制方式是使用i2c向寄存器中寫入值, 所以斷電時不會影響上一次的配置結果.一旦上電,控制器會按照上一次的配置繼續輸出pwm波.
2>使用OE端口解決上述問題: OE高電平時,輸出禁止.OE低電平或者懸空時,輸出有效
3>OE電平並不影響配置PCA9685. 所以在上電的同時,應該對OE置高電平,配置完成之後,再置爲低電平
地址級聯:
(後續補充)