用Arduino類庫驅(qū)動舵機并不是一件難事,如果需要驅(qū)動很多電機,就需要要占用更多的引腳,也會影響到Arduino的處理能力。專門的舵機驅(qū)動板很好的解決了這個問題。
此舵機驅(qū)動板使用PCA9685芯片,是16通道12bi tPWM舵機驅(qū)動,用12個弓|腳通過I2C就可以驅(qū)動16個舵機。不僅如此,你還可以通過級聯(lián)的方式最多級聯(lián)62個驅(qū)動板,總共可以驅(qū)動992個舵機!
供電部分
大多數(shù)的舵機設計電壓都是在5~6V,尤其在多個舵機同時運行時,跟需要有大功率的電源供電。如果直接使用Arduino 5V弓|腳直接為舵機供電,會出現(xiàn)一些難以預測的問題,所以我們建議你能有個合適的外部電源為驅(qū)動板供電。
連接舵機
大多數(shù)舵機都是使用標準3線母插頭連接,只要按照對應的引腳插入驅(qū)動板就可以了。(地線一般為黑色或棕色、信號線一般為黃色或白色)
一個驅(qū)動板上最多可以添加16個舵機。
驅(qū)動板級聯(lián)
多驅(qū)動板級聯(lián)(最多可級聯(lián)62個)為你提供更多的擴展性,連接方式如下圖所示
為驅(qū)動板分配地址
級聯(lián)的每個驅(qū)動板都需要有一個唯一的訪問地址。每個驅(qū)動板的初始I2C地址是0 X 40,可以通過右上角的跳線修改I2C地址。用焊錫將一個跳線連上就表示一個二進制數(shù)字“1”。
Address = C X 40
Board 0:
Offset = binary 00000 (默認)
Board 1: Address= 0x41Offset= binary 00001(如上圖,接上A0)
Board 2: Address= 0x42 Offset= binary 00010 (接上A1)
Board 3: Address= C x43 Offset= binary 00011(接上AO和A1)
Board 4: Address= 0x44 Offset= binary 00100 (接上A2)
以此類推
代碼示例:
#include 《Wire.h》
#include
《Adafrui t_PWMServoDriver.h》
Adafrui t_PWMServoDriver pwm1二
Adafrui t_PWMServoDriver (0 X 40);
Adafruit_PWMServoDriver pwm2 =
Adafrui t_PMServoDriver (0 X 41);
void setup() {
Serial.begin(9600);
Serial.println(“16 chanel
PWM test!”);
pwm1.begin();
//
pwm1.setPWMFreq(1600);
Thi s is the maximum PWM[ frequency
pwm2.begi n();
pwm2.setPWMFreq(1600); //
Thi s is the maximum PWM[ frequency
評論