วิธีใช้มอเตอร์เซอร์โว SG90 กับ Arduino

How to Use the SG90 Servo Motor with Arduino

เซอร์โวมอเตอร์ SG90 เป็นมอเตอร์เซอร์โวขนาดเล็กและมีน้ำหนักเบาที่ใช้กันทั่วไปในหุ่นยนต์ยานพาหนะ RC และโครงการอื่น ๆ ที่ต้องมีการควบคุมมุมที่แม่นยำ ในบทช่วยสอนนี้เราจะแสดงวิธีการเชื่อมต่อเซอร์โวมอเตอร์ SG90 กับ Arduino

สิ่งที่คุณต้องการ

  1. SG90 Servo Motor
  2. คณะกรรมการ Arduino (เช่น Uno, Mega, Nano)
  3. กระดาน
  4. สายจัมเปอร์
  5. แหล่งจ่ายไฟภายนอก (เป็นทางเลือกสำหรับหลายเซอร์โว)
  6. คอมพิวเตอร์ที่ติดตั้ง Arduino IDE

ขั้นตอนที่ 1: ทำความเข้าใจกับเซอร์โวมอเตอร์ SG90

เซอร์โวมอเตอร์ SG90 มีสามพิน:

sg90 pin การทำงาน
สีน้ำตาล พื้นดิน (GND)
สีแดง พลัง (VCC)
ส้ม สัญญาณ (PWM)

บันทึก: เซอร์โวมอเตอร์ทำงานที่ 4.8V-6V หากคุณกำลังให้บริการเซอร์โวหลายตัวให้ใช้แหล่งจ่ายไฟภายนอก

ขั้นตอนที่ 2: เดินสาย SG90 ไปยัง Arduino

นี่คือวิธีการเชื่อมต่อมอเตอร์เซอร์โว SG90 กับ Arduino Uno:

sg90 pin พิน Arduino
สีน้ำตาล gnd
สีแดง 5V
ส้ม พิน 9

ขั้นตอนที่ 3: ติดตั้งไลบรารีเซอร์โว

Arduino IDE มีไลบรารีเซอร์โวในตัวดังนั้นคุณไม่จำเป็นต้องติดตั้งอะไรเพิ่มเติม

ขั้นตอนที่ 4: อัปโหลดรหัส

นี่คือรหัสตัวอย่างง่ายๆในการควบคุม Servo Servo Motor:

#include <Servo.h>

Servo myServo; // Create a Servo object

void setup() {
  myServo.attach(9); // Attach the servo to pin 9
  Serial.begin(9600);
  Serial.println("SG90 Servo Test");
}

void loop() {
  for (int angle = 0; angle <= 180; angle += 1) { // Sweep from 0 to 180 degrees
    myServo.write(angle);  // Set servo to angle
    delay(15);             // Wait for the servo to reach the position
  }

  for (int angle = 180; angle >= 0; angle -= 1) { // Sweep from 180 to 0 degrees
    myServo.write(angle);  // Set servo to angle
    delay(15);             // Wait for the servo to reach the position
  }
}

ขั้นตอนที่ 5: ทดสอบการตั้งค่า

  1. เชื่อมต่อ Arduino ของคุณกับคอมพิวเตอร์ของคุณผ่าน USB
  2. เปิด Arduino IDE และเลือกที่ถูกต้อง กระดาน และ ท่าเรือ จาก เครื่องมือ เมนู.
  3. อัปโหลดรหัสโดยคลิกที่ อัพโหลด ปุ่ม.
  4. เมื่ออัปโหลดรหัสเซอร์โวมอเตอร์จะเริ่มกวาดจาก 0 ถึง 180 องศาและกลับอย่างต่อเนื่อง

ขั้นตอนที่ 6: การควบคุมเซอร์โวแบบไดนามิก

นอกจากนี้คุณยังสามารถควบคุมเซอร์โวแบบไดนามิกโดยใช้จอภาพอนุกรม นี่คือตัวอย่าง:

#include <Servo.h>

Servo myServo;

void setup() {
  myServo.attach(9);
  Serial.begin(9600);
  Serial.println("Enter an angle (0-180):");
}

void loop() {
  if (Serial.available()) {
    int angle = Serial.parseInt(); // Read the angle from Serial Monitor
    if (angle >= 0 && angle <= 180) {
      myServo.write(angle);
      Serial.print("Servo set to: ");
      Serial.println(angle);
    } else {
      Serial.println("Invalid angle. Enter a value between 0 and 180.");
    }
  }
}

การแก้ไขปัญหา

  • เซอร์โวไม่เคลื่อนไหว: ตรวจสอบสายไฟอีกครั้งและตรวจสอบให้แน่ใจว่าพินที่ถูกต้องถูกกำหนดไว้ในรหัส
  • การกระวนกระวายใจเซอร์โว: ใช้แหล่งจ่ายไฟภายนอกเพื่อให้พลังงานที่มั่นคง
  • เซอร์โวความร้อนสูงเกินไป: หลีกเลี่ยงการถือเซอร์โวในตำแหน่งเป็นเวลานานภายใต้การโหลด

แอพพลิเคชั่นของ SG90 เซอร์โว

  1. แขนหุ่นยนต์
  2. ตัวยึดกล้องแพนและเอียง
  3. ยานพาหนะ RC
  4. เปิดประตูอัตโนมัติ

บทสรุป

คุณสามารถเชื่อมต่อ Serf90 Servo Motor กับ Arduino ได้สำเร็จและควบคุมตำแหน่งของมัน ความเก่งกาจและความสะดวกในการใช้งานของ SG90 ทำให้เหมาะสำหรับโครงการ DIY และหุ่นยนต์ต่างๆ ทดลองใช้วิธีการควบคุมที่แตกต่างกันและสร้างโครงการที่ใช้พลังงานเซอร์โวของคุณเอง!

แสดงความคิดเห็น

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.