Chúng ta có thể điều khiển các Servo khác bằng mã servo chung Arduino không
Tôi đang cố gắng điều khiển MG996R bằng mã cho một servo điển hình (SG90)
Tôi đã sử dụng nguồn điện bên ngoài, 5V, 2A
Tôi đã kết nối đường tín hiệu servo với khe cắm Arduino 7, dương servo với dương nguồn cấp bên ngoài, nối đất servo với mặt đất cấp nguồn bên ngoài, trong khi vẫn để nguồn điện Arduino và nối đất không kết nối.
Tôi đã thử mã dưới đây.
nó hoạt động cho SG90, trong khi MG996R hoàn toàn không di chuyển.
#include <Servo.h>
Servo myservo;
void setup()
{
myservo.attach(7); //pin 7 is the one control servo
}
void loop()
{
for (int pos=0; pos<=60; pos++)
{
myservo.write(pos);
delay(15);
}
}
Có phải vì các servos khác nhau cần mã khác nhau không?
Trả lời
Chúng hoạt động với cùng một tín hiệu điều khiển, vì vậy cùng một mã sẽ hoạt động cho cả hai
Bạn cần đảm bảo cả mặt đất của servo đều được kết nối với mặt đất Arduino và mặt đất cấp nguồn (mặt đất cấp nguồn cho dương nguồn cấp, mặt đất Arduino cho đường tín hiệu)
Tôi nghĩ SG90 hoạt động ngay cả khi không kết nối mặt đất Arduino là do sự khác biệt trong thiết kế.
Nhưng bạn phải luôn kết nối mặt đất Servo với mặt đất Arduino.