ดูคลิปสอนก่อนเลยน้อง
อย่าลืมกดติดตามช่องพี่ด้วยนะ วัยรุ่น
ข้อมูลโปรเจค
Arduino Beginner's Project: Servo นี่แหละตัวดีสำหรับคนที่อยากเริ่มต้นกับพื้นฐานเมคคาทรอนิกส์และการเคลื่อนไหวเชิงกล มันคือรากฐานของการใช้มอเตอร์พื้นฐานที่สุดตัวนึงในหุ่นยนต์เลย นั่นก็คือ Servo Motor นั่นเอง
ทำไมต้อง Servo?
ต่างจากมอเตอร์ DC ทั่วไปที่หมุนติ้วๆ ไปเรื่อยๆ จนกว่าจะตัดไฟ Servo (เช่น SG90) เนี่ย มันให้เราตั้งมุมที่แม่นยำระหว่าง 0 ถึง 180 องศาได้เลย ทำให้มันเหมาะมากสำหรับงานอย่างเช่น พวงมาลัยรถ, ขยับแขนหุ่นยนต์, หรือปรับทิศทางของเซ็นเซอร์
วงจรฮาร์ดแวร์
- ไฟเลี้ยง (VCC): สายสีแดง ต่อกับขา 5V ของ Arduino
- กราวด์ (GND): สายสีน้ำตาล/ดำ ต่อกับขา Ground (GND) ของ Arduino
- สัญญาณ: สายสีส้ม/เหลือง ต่อกับขา PWM (ปกติก็ขา 9)
โค้ดสำคัญ
ไลบรารี่ Servo.h ที่มีมาให้ใน Arduino ทำให้โปรเจคนี้ง่ายมาก มาดูกันคร่าวๆ ว่าโค้ดทำงานยังไง:
- เรียกใช้ไลบรารี่:
#include <Servo.h> - สร้างออบเจ็กต์เซอร์โว:
Servo myServo; - เชื่อมโยงกับขา:
myServo.attach(9); - สั่งมุม:
myServo.write(180);
ทิปส์เด็ดๆ ต้องรู้
- ปรับศูนย์ (Calibration): เริ่มต้นโค้ดด้วยการเซ็ตเซอร์โวไปที่ตำแหน่ง 90 องศาก่อน ทุกครั้ง ก่อนที่จะติดชิ้นส่วนกลไกใดๆ กับแขน (horn) ของมอเตอร์ ไม่งั้นอาจจะช็อตได้นะตัวนี้
- เรื่องไฟเลี้ยง: แม้ว่าเซอร์โว SG90 ตัวเล็กๆ หนึ่งตัวจะใช้ไฟจาก Arduino โดยตรงได้ แต่ถ้าใช้เซอร์โวตัวใหญ่ขึ้นหรือหลายตัวพร้อมกัน ต้องใช้แหล่งจ่ายไฟภายนอกแยกนะน้อง ไม่งั้น Arduino อาจจะรีเซ็ตหรือพังเพราะกระแสเกินได้
ลองต่อยอดดู
ลองเอาโปรเจคพื้นฐานนี้ไปต่อยอดดู เช่น ต่อ โพเทนชิออมิเตอร์ (ปุ่มหมุนอนาล็อก) เพื่อให้เซอร์โวขยับตามมือเรา หรือต่อ เซ็นเซอร์อัลตราโซนิก เพื่อทำระบบเรดาร์ง่ายๆ สู้งานนะน้อง!