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