#include <ESP32Servo.h>
#include <IRremote.h>
#define SERVO_PIN 14
#define IR_PIN 12
Servo myservo;
int pos = 90; // Posisi awal servo (90 derajat)
int step = 1; // Langkah perubahan sudut (1 derajat)
IRrecv receiver(IR_PIN);
void setup() {
Serial.begin(115200);
myservo.attach(SERVO_PIN);
myservo.write(pos); // Mulai dari posisi 90 derajat
receiver.enableIRIn(); // Mulai menerima sinyal IR
}
void loop() {
if (receiver.decode()) {
int command = receiver.decodedIRData.command;
switch (command) {
case 2: // Kode untuk tombol "+"
pos = constrain(pos + step, 0, 180); // Tambahkan sudut 1 derajat, maksimum 180
Serial.println("Tombol '+' ditekan");
break;
case 154: // Kode untuk tombol "-"
pos = constrain(pos - step, 0, 180); // Kurangi sudut 1 derajat, minimum 0
Serial.println("Tombol '-' ditekan");
break;
default:
Serial.println("Tombol lain ditekan");
break;
}
myservo.write(pos); // Perbarui posisi servo
Serial.print("Posisi servo: ");
Serial.println(pos);
receiver.resume(); // Terima sinyal berikutnya
}
}