//nama: Joy Disanto Nupa
//NIM: 2209106014
//Soal-4-mikro
#include <Servo.h> // Library bawaan Arduino untuk mengontrol servo motor
Servo myservo; // Membuat objek servo dengan nama "myservo"
int pos = 90; // Posisi awal servo diatur ke 90 derajat (tengah)
const int buttonRight = 12; // Pin tempat tombol kanan terhubung
const int buttonLeft = 13; // Pin tempat tombol kiri terhubung
void setup() {
myservo.attach(9); // Menyambungkan servo ke pin digital 9
pinMode(buttonRight, INPUT_PULLUP); // Mengatur tombol kanan sebagai input dengan resistor pull-up internal
pinMode(buttonLeft, INPUT_PULLUP); // Mengatur tombol kiri sebagai input dengan resistor pull-up internal
myservo.write(pos); // Mengatur posisi servo ke posisi awal (90 derajat)
}
void loop() {
// === Cek tombol kanan ditekan ===
// Tombol menggunakan INPUT_PULLUP, jadi nilai akan LOW saat ditekan
if (digitalRead(buttonRight) == LOW) {
if (pos < 180) pos += 5; // Tambah sudut servo 5 derajat jika belum mencapai 180
myservo.write(pos); // Kirim posisi baru ke servo
delay(50); // Delay untuk menghindari pembacaan ganda (debounce)
}
// === Cek tombol kiri ditekan ===
// Nilai LOW berarti tombol ditekan
if (digitalRead(buttonLeft) == LOW) {
if (pos > 0) pos -= 5; // Kurangi sudut servo 5 derajat jika belum mencapai 0
myservo.write(pos); // Kirim posisi baru ke servo
delay(50); // Delay untuk debounce
}
}