#define PWM 9 /* กำหนดชื่อ PWM แทนขา 9 ( ขา PWM
ของเซอร์โวมอเตอร์ต่อกับขา 9 ของ Arduino ) */
#define t 1000 // t แทนค่าเวลาของการหน่วง ที่ 1 วินาที่ (sec)
#include<Servo.h> // นำเข้าไลบรารี่ ของเซอร์โวมอเตอร์เข้ามาในโปรแกรม
Servo myservo; /* นำเข้าไลบรารี่โดยกำหนดชื่อ myservo ให้แทน
Servo motor ที่ใช้งาน */
void setup()
{ // เริ่มการทำงานฟังก์ชั่น setup ทำแค่ครั้งเดียว
Serial.begin(6900); // กำหนดการสื่อสารแบบอนุกรม 9600 bit/sec
myservo.attach(PWM); // กำหนดขาพอร์ตที่ใช้เชื่อมต่อกับ Servo Motor
} // จบการทำงานฟังก์ชั่น setup
void loop()
{ // เริ่มการทำงานฟังก์ชั่น loop ทำวนซ้ำ
int angle; // กำหนดให้ angle เป็นตัวแปรชนิด จำนวนเต็ม
angle = 0; // กำหนดให้ angle เท่ากับ 0 องศา
Serial.print("Setting angle to: "); // พิมพ์ข้อความในวงเล็บออกทางจอภาพ
Serial.println(angle); // พิมพ์ค่า มุม ของมอเตอร์ ออกทาง จอภาพ
myservo.write(angle); /* สั่งให้ Srvo motor หมุนไปที่มุม 0 องศา
ตามค่ามุมของ ตัวแปร angle */
delay(t); // หน่วงเวลา 1 วินาที (sec)
angle = 45; // กำหนดให้ angle เท่ากับ 0 องศา
Serial.print("Setting angle to: "); // พิมพ์ข้อความในวงเล็บออกทางจอภาพ
Serial.println(angle); // พิมพ์ค่า มุม ของมอเตอร์ ออกทาง จอภาพ
myservo.write(angle); /* สั่งให้ Srvo motor หมุนไปที่มุม 0 องศา
ตามค่ามุมของ ตัวแปร angle */
delay(t); // หน่วงเวลา 1 วินาที (sec)
angle = 90; // กำหนดให้ angle เท่ากับ 0 องศา
Serial.print("Setting angle to: "); // พิมพ์ข้อความในวงเล็บออกทางจอภาพ
Serial.println(angle); // พิมพ์ค่า มุม ของมอเตอร์ ออกทาง จอภาพ
myservo.write(angle); /* สั่งให้ Srvo motor หมุนไปที่มุม 0 องศา
ตามค่ามุมของ ตัวแปร angle */
delay(t); // หน่วงเวลา 1 วินาที (sec)
angle = 135; // กำหนดให้ angle เท่ากับ 0 องศา
Serial.print("Setting angle to: "); // พิมพ์ข้อความในวงเล็บออกทางจอภาพ
Serial.println(angle); // พิมพ์ค่า มุม ของมอเตอร์ ออกทาง จอภาพ
myservo.write(angle); /* สั่งให้ Srvo motor หมุนไปที่มุม 0 องศา
ตามค่ามุมของ ตัวแปร angle */
delay(t); // หน่วงเวลา 1 วินาที (sec)
angle = 180; // กำหนดให้ angle เท่ากับ 0 องศา
Serial.print("Setting angle to: "); // พิมพ์ข้อความในวงเล็บออกทางจอภาพ
Serial.println(angle); // พิมพ์ค่า มุม ของมอเตอร์ ออกทาง จอภาพ
myservo.write(angle); /* สั่งให้ Srvo motor หมุนไปที่มุม 0 องศา
ตามค่ามุมของ ตัวแปร angle */
delay(t); // หน่วงเวลา 1 วินาที (sec)
// myservo.write(0); // สั่งให้ Srvo motor หมุนไปที่มุม 0 องศา
// delay(t); // หน่วงเวลา 1 วินาที (sec)
// myservo.write(45); // สั่งให้ Srvo motor หมุนไปที่มุม 0 องศา
// delay(t); // หน่วงเวลา 1 วินาที (sec)
// myservo.write(90); // สั่งให้ Srvo motor หมุนไปที่มุม 0 องศา
// delay(t); // หน่วงเวลา 1 วินาที (sec)
// myservo.write(135); // สั่งให้ Srvo motor หมุนไปที่มุม 0 องศา
// delay(t); // หน่วงเวลา 1 วินาที (sec)
// myservo.write(180); // สั่งให้ Srvo motor หมุนไปที่มุม 0 องศา
// delay(t); // หน่วงเวลา 1 วินาที (sec)
} // จบการทำงานฟังก์ชั่น loop
/* ผลการทำงานของโปรแกรม
===================================================
โปรแกรมจะวนรอบควบคุมให้เซอร์โวมอเตอร์หมุนไปเรื่อย ๆ ที่ตำแหน่ง 0, 45, 90, 135 และ
180 องศา โดยฟังก์ชั่น myservo.write(); จะควบคุมให้เซอร์โวมอเตอร์หมุนไปตามมุมที่ได้
กำหนดไว้ในฟังก์ชั่นของตัวโปรแกรม ตั้ง 0 - 180 องศา */