#include <IRremote.h>
#include <Servo.h>
const int IR_RECEIVE_PIN = 2; // Пин, к которому подключён ИК-приёмник
Servo servo1; // Создаём объект сервопривода
void setup() {
Serial.begin(9600); // Настраиваем скорость передачи данных
IrReceiver.begin(IR_RECEIVE_PIN, ENABLE_LED_FEEDBACK); // Инициализируем ИК-приёмник
servo1.attach(11); // Привязываем сервопривод к пину 11
servo1.write(0); // Устанавливаем начальный угол
Serial.println("IR Receiver and Servo are ready!");
}
void loop() {
if (IrReceiver.decode()) { // Проверяем, получены ли данные
Serial.print("Received value: 0x");
Serial.println(IrReceiver.decodedIRData.command, HEX);
// Управляем сервоприводом в зависимости от кода кнопки
switch (IrReceiver.decodedIRData.command) {
case 0x30: // Код кнопки "0" - стабилизация на 0 градусов
servo1.write(0);
break;
case 0x18: // Код кнопки "1" - поворот влево (90 градусов)
servo1.write(90);
break;
case 0x68: // Код кнопки "2" - поворот вправо (180 градусов)
servo1.write(180);
break;
default:
Serial.println("Unknown command!");
break;
}
IrReceiver.resume(); // Готовим приёмник к следующему сигналу
}
}