- 29a Bùi Xuân Phái, P.Tây Thạnh, Quận Tân Phú, TPHCM
- linhkienduchuy2018@gmail.com
- TƯ VẤN, GIẢI ĐÁP, HƯỚNG DẪN, MUA HÀNG (ZALO): 0966515049 - 0942954739
Giao miễn phí chuyển phát nhanh trong nội thành TPHCM đối với đơn hàng trên 1 triệu đồng
Giảm 5k cho đơn hàng trên 300k đồng
Giảm 10k cho đơn hàng trên 500k đồng
Giảm 15k hoặc freeship chuyển phát nhanh cho đơn hàng trên 1tr đồng
Giảm 25.000đ hoặc freeship cho đơn hàng trên 2tr đồng.
+ PCA9685 được sử dụng để có thể xuất ra đồng thời 16 xung PWM từ 16 cổng khác nhau
+ Phù hợp cho các nhu cầu cần điều khiển nhiều xung PWM như Robot cánh tay máy, Robot nhện,...
+ Mạch điều khiển 16 Chanel PWM PCA9685 có cấu trúc phần cứng phần cứng đơn giản cũng như bộ thư viện có sẵn trên Arduino nên rất dễ dàng sử dụng và kết nối.
THÔNG SỐ KỸ THUẬT:
Mạch điều khiển 16 Chanel PWM PCA9685
IC chính: PCA9685
Điện áp sử dụng: 2.3 ~ 5.5VDC.
Số kênh PWM: 16 kênh, tần số: 40~1000Hz
Độ phân giải PWM: 12bit.
Giao tiếp: I2C (chấp nhận mức Logic TTL 3 ~ 5VDC)
Kích thước: 62.5mm x 25.4mm x 3mm


TẢI THƯ VIỆN PCA9685

CODE TEST SẢN PHẨM
#include <Wire.h>
#include <Adafruit_PWMServoDriver.h>
Adafruit_PWMServoDriver pwm = Adafruit_PWMServoDriver();
const int servoChannel = 0; // CHỌN KÊNH SERVO TẠI ĐÂY
const int servoMin = 150; // Góc 0 độ (xung nhỏ nhất)
const int servoMax = 600; // Góc 180 độ (xung lớn nhất)
void setup() {
Serial.begin(9600);
pwm.begin();
pwm.setPWMFreq(50); // Tần số PWM cho servo (50Hz)
delay(10);
}
void loop() {
// Quay từ 0 đến 180 độ
for (int angle = 0; angle <= 180; angle += 10) {
int pulse = map(angle, 0, 180, servoMin, servoMax);
pwm.setPWM(servoChannel, 0, pulse);
Serial.print("Angle: ");
Serial.println(angle);
delay(30);
}
// Quay ngược về 0 độ
for (int angle = 180; angle >= 0; angle -= 10) {
int pulse = map(angle, 0, 180, servoMin, servoMax);
pwm.setPWM(servoChannel, 0, pulse);
Serial.print("Angle: ");
Serial.println(angle);
delay(30);
}
delay(10); // Dừng một chút trước khi lặp lại
}
Bình luận