ต่อเซอร์โวมอเตอร์เข้าบอร์ด Arduino ใน Zack robot shield ตามขาสัญญาณในตารางนี้
ภาพประกอบตำแหน่งการต่อวงจร
การทดสอบเซอร์โวมอเตอร์ 1 ช่องสัญญาณ โดยต่อเข้าที่ช่อง Servo-1 ดังตัวอย่างโค้ดการเขียนโปรแกรมใน Arduino IDE ข้างล่างครับ
Code Arduino IDE
#include <Servo.h> // ผนวกไลบรารี่
int s1 = 24; // เปิดใช้งาน s1 ที่พอร์ต 24
Servo sv1; // ประกาศการใช้งาน sv1
void setup() {
sv1.attach(s1); // เรียกใช้งานเตรียมตอบสนอง sv1
}
void loop(){
sv1.write(0); // sv1 ทำงานที่ 0 องศา
delay(1000); //หน่วงเวลา 1 วินาที
sv1.write(90); // sv1 ทำงานที่ 90 องศา
delay(1000); //หน่วงเวลา 1 วินาที
sv1.write(180); // sv1 ทำงานที่ 180 องศา
delay(1000); //หน่วงเวลา 1 วินาที
}
วีดีโอตัวอย่างการทำงานของเซอร์โวมอเตอร์ผ่านบอร์ด Logi
กรณีที่ต้องใช้เซอร์โวพร้อมกัน 8 ตัว สามารถดูตัวอย่างการเขียนโค้ดได้ดังนี้
Code Arduino IDE
#include <Servo.h> // ผนวกไลบรารี่
int s1 = 24; // เปิดใช้งาน s1 ที่พอร์ต 24
int s2 = 25; // เปิดใช้งาน s2 ที่พอร์ต 25
int s3 = 26; // เปิดใช้งาน s3 ที่พอร์ต 26
int s4 = 27; // เปิดใช้งาน s4 ที่พอร์ต 27
int s5 = 28; // เปิดใช้งาน s5 ที่พอร์ต 28
int s6 = 29; // เปิดใช้งาน s6 ที่พอร์ต 29
int s7 = 30; // เปิดใช้งาน s7 ที่พอร์ต 30
int s8 = 31; // เปิดใช้งาน s8 ที่พอร์ต 31
Servo sv1; // ประกาศการใช้งาน sv1
Servo sv2; // ประกาศการใช้งาน sv2
Servo sv3; // ประกาศการใช้งาน sv3
Servo sv4; // ประกาศการใช้งาน sv4
Servo sv5; // ประกาศการใช้งาน sv5
Servo sv6; // ประกาศการใช้งาน sv6
Servo sv7; // ประกาศการใช้งาน sv7
Servo sv8; // ประกาศการใช้งาน sv8
void setup() {
sv1.attach(s1); // เรียกใช้งานเตรียมตอบสนอง sv1
sv2.attach(s2); // เรียกใช้งานเตรียมตอบสนอง sv2
sv3.attach(s3); // เรียกใช้งานเตรียมตอบสนอง sv3
sv4.attach(s4); // เรียกใช้งานเตรียมตอบสนอง sv4
sv5.attach(s5); // เรียกใช้งานเตรียมตอบสนอง sv5
sv6.attach(s6); // เรียกใช้งานเตรียมตอบสนอง sv6
sv7.attach(s7); // เรียกใช้งานเตรียมตอบสนอง sv7
sv8.attach(s8); // เรียกใช้งานเตรียมตอบสนอง sv8
}
void loop() {
sv1.write(0); sv2.write(0); sv3.write(0); sv4.write(0); sv5.write(0); sv6.write(0); sv7.write(0); sv8.write(0); // sv ทุกช่องทำงานที่ 0 องศา
delay(1000); //หน่วงเวลา 1 วินาที
sv1.write(90); sv2.write(90); sv3.write(90); sv4.write(90); sv5.write(90); sv6.write(90); sv7.write(90); sv8.write(90); // sv ทุกช่องทำงานที่ 90 องศา
delay(1000); //หน่วงเวลา 1 วินาที
sv1.write(180); sv2.write(180); sv3.write(180); sv4.write(180); sv5.write(180); sv6.write(180); sv7.write(180); sv8.write(180); // sv ทุกช่องทำงานที่ 180 องศา
delay(1000); //หน่วงเวลา 1 วินาที
}