概述
用Arduino類庫驅(qū)動舵機并不是一件難事,如果需要驅(qū)動很多電機,就需要要占用更多的引腳,也會影響到Arduino的處理能力。專門的舵機驅(qū)動板很好的解決了這個問題。
此舵機驅(qū)動板使用PCA9685芯片,是16通道12bit
PWM舵機驅(qū)動,用2個引腳通過I2C就可以驅(qū)動16個舵機。不僅如此,你還可以通過級聯(lián)的方式最多級聯(lián)62個驅(qū)動板,總共可以驅(qū)動992個舵機!
驅(qū)動板與Arduino連接
此PWM驅(qū)動板采用I2C方式,所以只需要4根線就可以連接到Arduino設備:
“Classic” Arduino 引腳方式:
老版Mega 引腳方式:
R3 and later Arduino 引腳方式(Uno, Mega &
Leonardo):
(這些板子都有專用的SDA 和 SCL 引腳)
VCC引腳只是為芯片供電,如果要連接舵機或者LED燈,就使用V+引腳供電,V+引腳支持3.3~6V的電源(芯片的安全電壓時5V)。 我們建議通過電源接線柱外接電源供電。
供電部分
大多數(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×40,可以通過右上角的跳線修改I2C地址。用焊錫將一個跳線連上就表示一個二進制數(shù)字“1”。
Board 0: Address = 0×40
Offset = binary 00000 (默認)
Board 1: Address = 0×41 Offset = binary 00001 (如上圖,接上A0)
Board 2: Address = 0×42 Offset = binary 00010 (接上A1)
Board 3: Address = 0×43 Offset = binary 00011 (接上A0和A1)
Board 4: Address = 0×44 Offset = binary 00100 (接上A2)
以此類推。。。
代碼示例:
#include <Wire.h>
#include
<Adafruit_PWMServoDriver.h>
Adafruit_PWMServoDriver pwm1 =
Adafruit_PWMServoDriver(0×40);
Adafruit_PWMServoDriver pwm2 =
Adafruit_PWMServoDriver(0×41);
void setup() {
Serial.begin(9600);
Serial.println(“16 channel
PWM test!”);
pwm1.begin();
pwm1.setPWMFreq(1600); //
This is the maximum PWM frequency
pwm2.begin();
pwm2.setPWMFreq(1600); //
This is the maximum PWM frequency
}
聯(lián)系客服