Micro Servo 9g

Động cơ RC Servo 9G có kích thước nhỏ, là loại được sử dụng nhiều nhất để làm các mô hình nhỏ hoặc các cơ cấu kéo không cần đến lực nặng. Động cơ RC Servo 9G có tốc độ phản ứng nhanh, các bánh răng được làm bằng nhựa nên cần lưu ý khi nâng tải nặng vì có thể làm hư bánh răng, động cơ RC Servo 9G có tích hợp sẵn Driver điều khiển động cơ bên trong nên có thể dễ dàng điều khiển góc quay bằng phương pháp điều độ rộng xung PWM.

Thông số kỹ thuật

  • Điện áp hoạt động: 4.8-5VDC
  • Tốc độ: 0.12 sec/ 60 degrees (4.8VDC)
  • Lực kéo: 1.6KG.CM
  • Kích thước: 21x12x22mm
  • Trọng lượng: 9g
  • Tương thích với chuẩn cắm plug& play 4 pin Blocky Piece

Tìm hiểu thêm thông tin về chuẩn cắm và hệ sinh thái module Blocky Piece ở đây.

Hướng Dẫn Sử Dụng Với Arduino

Phần cứng

Các động cơ servo sử dụng 3 dây: nguồn, ground và dây tín hiệu. Dây nguồn thường là màu đỏ và nối với 5V trên các board Arduino. Dây ground thường là màu đen hoặc nâu. Dây tín hiệu thường là màu vàng, màu cam hoặc màu trắng và sẽ nối với một chân digital trên Arduino. Trong ví dụ dưới đây chúng ta dùng chân D5 của Uno.

  • Bước 1. Chuẩn bị các phần cứng sau:
    • Blocky UNO hoặc Base shield cho UNO
    • Module servo
  • Bước 2. Dùng dây nối module servo vào cổng cắm D5 của Blocky Uno.
  • Bước 3. Nối Blocky UNO với máy tính thông qua cáp USB.

Code mẫu

Để làm việc với Servo, chúng ta sẽ sử dụng thư viện Servo của Arduino. Đoạn code dưới đây sẽ điều khiển động cơ servo quay qua quay lại 180 độ. Bạn có thể mở đoạn code example của thư viện từ menu File > Examples >Servo > Sweep hoặc copy đoạn code dưới đây.

 

/* Sweep
 by BARRAGAN <http://barraganstudio.com>
 This example code is in the public domain.

 modified 8 Nov 2013
 by Scott Fitzgerald
 http://www.arduino.cc/en/Tutorial/Sweep
*/

#include <Servo.h>

Servo myservo;  // create servo object to control a servo
// twelve servo objects can be created on most boards

int pos = 0;    // variable to store the servo position

void setup() {
  myservo.attach(5);  // attaches the servo on pin 5 to the servo object
}

void loop() {
  for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
  for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
}