Servo s3003 motor không chạy trên arduino mega pro

Tình hình là mình có dùng mega pro để điều khiển một động cơ servo s3003.
Cùng một code điều khiển, nếu mình cho chạy trên arduino uno thì nó chạy bình thường, nhưng cho lên mega thì nó không chạy kết hợp với tiếng ồn, mình đoán là do chập chờn tín hiệu nhưng mình thử cấp nguồn ngoài riêng của máy tính nhưng vẫn không chạy, nếu cho chạy loại sg90 thì vẫn chạy được trên mega. Nên bác nào cao tay giúp em phát :thinking:

#include <Servo.h>
Servo servo;
int svpos;
int svdir;

void setup() {
  Serial.begin(9600);
  servo.attach(14);
  svpos = 90;
  svdir = 1;
}

void loop() {
  svpos += svdir;
  if(svpos > 180) {
    svpos = 180;
    svdir = -1;
  }
  
  if( svpos<0 ) {
    svpos = 0;
    svdir = 1;
  }
  //Serial.println(svpos);
  servo.write(svpos);
  delay(5);
}

Đã thử đổi sang pin khác chưa?
Chân 14 là chân Serial. Trong khi Servo hay điều khiển động cơ thường dùng các pin có PWM (pulse width modulation) để điều khiển. Bạn thử cắm sang các chân có ký hiệu PWM (dấu ~) và thử lại OvOb

3 Likes

Mình thử 2 => 13 vẫn không được bạn (đều chân PWM hết)

Nếu không được bạn thử cấp nguồn ngoài như bạn đã làm. Nhưng lần này sẽ xài chân GND của arduino chứ không phải của nguồn. (Dùng 1 GND)
Và lưu ý nguồn nên đủ 6V ._.

Còn không được nữa mình bó tay. Chờ mấy anh chuyên Điện tử vào thôi.

2 Likes

Mình thử hết các trường hợp đấy rồi, nhưng mà sau khi mình đánh rơi cái motor thì đột nhiên chạy được :smiley: mình đoán là do tín hiệu kém, từ đó mình cắm cổng nào cũng chạy được :sunglasses:

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?