#include <Servo.h>
Servo myServo; // สร้างอ็อบเจกต์ Servo
const int buttonLeftPin = 2; // พินสำหรับปุ่มกดซ้าย
const int buttonRightPin = 3; // พินสำหรับปุ่มกดขวา
int pos = 90; // ตำแหน่งเริ่มต้นของเซอร์โวมอเตอร์
void setup() {
myServo.attach(9); // เชื่อมต่อเซอร์โวมอเตอร์กับพิน 9
pinMode(buttonLeftPin, INPUT_PULLUP); // กำหนดพินของปุ่มกดซ้ายเป็น INPUT_PULLUP
pinMode(buttonRightPin, INPUT_PULLUP); // กำหนดพินของปุ่มกดขวาเป็น INPUT_PULLUP
myServo.write(pos); // กำหนดตำแหน่งเริ่มต้นให้เซอร์โวมอเตอร์
}
void loop() {
if (digitalRead(buttonLeftPin) == LOW) { // ถ้าปุ่มกดซ้ายถูกกด
pos -= 1; // ลดมุม
if (pos < 0) pos = 0; // จำกัดมุมต่ำสุด
myServo.write(pos); // หมุนเซอร์โวมอเตอร์ไปที่ตำแหน่งใหม่
delay(15); // หน่วงเวลาเพื่อให้เซอร์โวมอเตอร์มีเวลาหมุน
}
if (digitalRead(buttonRightPin) == LOW) { // ถ้าปุ่มกดขวาถูกกด
pos += 1; // เพิ่มมุม
if (pos > 180) pos = 180; // จำกัดมุมสูงสุด
myServo.write(pos); // หมุนเซอร์โวมอเตอร์ไปที่ตำแหน่งใหม่
delay(15); // หน่วงเวลาเพื่อให้เซอร์โวมอเตอร์มีเวลาหมุน
}
}