Дом > Обзор отрасли >БЛДК
ТЕХНИЧЕСКАЯ ПОДДЕРЖКА

Как управлять серводвигателем с помощью инфракрасного пульта дистанционного управления (полное пошаговое руководство)

Опубликовано 2026-04-19

В этом руководстве представлено полное практическое решение для управлениясервоприводдвигателем с помощью стандартного инфракрасного (ИК) пульта дистанционного управления. Следуя инструкциям ниже, вы сможете точно расположитьсервоприводдвигатель, нажав кнопки на любом обычном ИК-пульте дистанционного управления (например, пульте от телевизора или телеприставки). Никаких компонентов конкретной марки не требуется, а инструкции основаны на широко доступных и недорогих модулях.

01Основная концепция и как она работает

ИК-пульт дистанционного управления излучает импульсы невидимого света. ИК-приемник обнаруживает эти импульсы и преобразует их в цифровой код, уникальный для каждой кнопки. Микроконтроллер считывает этот код и отправляет соответствующий сигнал широтно-импульсной модуляции (ШИМ) на контроллер.сервоприводдвигатель, устанавливающий его вал под определенным углом.

Пример сценария:Кнопка увеличения громкости на обычном пульте телевизора поворачивает сервопривод на 90° (например, открывая небольшую защелку), а кнопка уменьшения громкости возвращает его на 0°. Этот принцип используется в самодельных роботах-манипуляторах, автоматических кормушках для домашних животных и системах поворота и наклона камеры с дистанционным управлением.

02Необходимые компоненты (без торговых марок)

Компонент Типичная спецификация Количество
Плата микроконтроллера Любая обычная плата (например, логика 5 В с ШИМ-выходом) 1
Модуль ИК-приемника 1838B или эквивалент (несущая частота 38 кГц) 1
Серводвигатель Стандартный аналоговый сервопривод 5 В (например, типоразмера SG90, 0–180°) 1
ИК-пульт дистанционного управления Любой бытовой пульт (телевизор, DVD, кондиционер) 1
Перемычки Мужчина-женщина или мужчина-мужчина 6–8
Источник питания 5 В постоянного тока (USB или аккумулятор) 1

Важный:Большинство сервоприводов потребляют значительный ток (200–500 мА). Не подавайте питание на сервопривод напрямую от контакта 5 В микроконтроллера, если для этого требуется ток более 500 мА. Используйте внешний источник питания 5 В с общей землей.

03Подключение проводки (проверенное и надежное)

Соедините компоненты следующим образом. Эта проводка была протестирована со стандартными системами 5 В.

Модуль ИК-приемника (если смотреть на плоскую сторону):

Левый контакт: Сигнал → Цифровой контакт 11 микроконтроллера (пример)

Центральный контакт: GND → Общая земля

Правый контакт: VCC → выход 5 В.

Серводвигатель:

Коричневый/черный провод: GND → Общая земля

Красный провод: 5 В → Внешний источник питания 5 В (или 5 В микроконтроллера только для крошечных сервоприводов)

Оранжевый/желтый провод: Сигнал → контакт 9 ШИМ микроконтроллера (пример)

Общая почва:Подключите GND внешнего источника питания к GND микроконтроллера. Это обязательно для стабильной работы.

04Пошаговая процедура

Шаг 1. Определите коды кнопок вашего пульта дистанционного управления

Каждый ИК-пульт отправляет разные коды. Сначала вы должны прочитать коды с вашего конкретного пульта.

Типичный случай:Пульт дистанционного управления телевизора Sony может отправить0x10для кнопки «1», в то время как пульт Samsung отправляет0x80. Код не является меткой кнопки, а представляет собой шестнадцатеричное число, уникальное для бренда кнопки и пульта.

Действие:Загрузите простой эскиз ИК-декодера (доступен в обычных библиотеках, таких как «IRremote») в свой микроконтроллер. Откройте последовательный монитор, нажмите каждую кнопку, которую хотите использовать, и запишите коды. Например:

Стрелка вверх →0xFF629D

Стрелка вниз →0xFFA857

ОК/Выбрать →0xFF02FD

Шаг 2. Сопоставьте коды кнопок с углами сервоприводов

Решите, какая кнопка на какой угол перемещает сервопривод. Стандартные углы сервопривода составляют от 0° до 180°.

Пример сопоставления (с использованием кодов из шага 1):

Кнопка0xFF629D→ Угол сервопривода 0°

Кнопка0xFFA857→ Угол сервопривода 90°

Кнопка0xFF02FD→ Угол сервопривода 180°

Шаг 3. Напишите управляющий код

Ниже приведен общий пример кода, который работает с популярной библиотекой IRremote (версия 3.x или новее). ЗаменятьДИСТАНЦИОННЫЙ_КОД_1, ДИСТАНЦИОННЫЙ_КОД_2и т. д., с вашими фактическими кодами из шага 1.

#включать#включатьконстантный INT IR_PIN = 11; const int SERVO_PIN = 9; IRrecv иррекв (IR_PIN); результаты decode_results; Сервопривод myServo; // Замените их фактическими кодами вашего пульта (шестнадцатеричные значения из шага 1) const unsigned long CODE_ANGLE_0 = 0xFF629D; // например, кнопка «Вверх» const unsigned long CODE_ANGLE_90 = 0xFFA857; // например, кнопка «Вниз» const unsigned long CODE_ANGLE_180 = 0xFF02FD; // например, кнопка ОК void setup() { Serial.begin(9600); inrecv.enableIRIn(); // Запускаем ИК-приемник myServo.attach(SERVO_PIN); мойСерво.запись(0); // Начало с 0° Serial.println("Готово. Нажмите кнопки на пульте."); } void Loop() { if (irrecv.decode(&results)) { unsigned long gotCode = results.value; Serial.print("Полученный код: 0x"); Serial.println(код получения, HEX); // Сопоставляем полученный код с углом сервопривода if (receivedCode == CODE_ANGLE_0) { myServo.write(0); Serial.println("Сервопривод → 0°"); } Еще если (receivedCode == CODE_ANGLE_90) { myServo.write(90); Serial.println("Сервопривод → 90°"); } Еще если (receivedCode == CODE_ANGLE_180) { myServo.write(180); Serial.println("Сервопривод → 180°"); } else { Serial.println("Неназначенная кнопка. Игнорируется."); } Irecv.resume(); // Ждем следующего сигнала } }

Примечание:Если ваш пульт использует другой протокол (например, NEC, Sony, RC5), библиотека автоматически его обнаружит. Приведенный выше код работает для большинства потребительских пультов.

Шаг 4. Тестирование и калибровка

1. Подайте питание на схему (при необходимости используйте внешний сервопривод).

2. Откройте последовательный монитор на скорости 9600 бод.

3. Нажмите назначенную кнопку – сервопривод должен переместиться на заданный угол в течение 0,5 секунды.

4. Если сервопривод дрожит или не движется, проверьте:

Общее заземление.

Мощность источника питания сервоприводов (минимум 500 мА для стандартных сервоприводов).

ИК-приемник не подвергается воздействию прямых солнечных лучей или флуоресцентного света (они вызывают помехи).

05Распространенные проблемы и решения (реальные случаи)

Проблема Наиболее вероятная причина Проверенное исправление
Сервопривод перемещается случайным образом, когда ни одна кнопка не нажата ИК-приемник улавливает шум от света или экрана Защитите приемник черной изолентой или добавьте конденсатор емкостью 100 мкФ между 5 В и GND рядом с приемником.
Некоторые кнопки работают, другие нет Пульт отправляет «код повторения» (например, 0xFFFFFFFF) для удерживаемых кнопок. Измените код, чтобы игнорировать повторяющиеся коды:если (receivedCode == 0xFFFFFFFF) return;
Сервопривод перемещается только один раз, а затем останавливается Отключение питания сервопривода Используйте внешний источник питания 5 В (рекомендуется 2 А) с большим конденсатором (470 мкФ).
Сигнал вообще не обнаружен Неправильный вывод ИК-приемника или отсутствует библиотека. Дважды проверьте контактное соединение; установите последнюю версию библиотеки IRremote из доверенного репозитория

06Расширение проекта (последующие практические шаги)

Основной вывод повторяется:Стандартный ИК-пульт дистанционного управления в сочетании с недорогим ИК-приемником и микроконтроллером обеспечивает точное беспроводное управление сервоприводом без какого-либо специального оборудования.

Три действенные рекомендации для улучшения вашей реализации:

1. Добавьте несколько сервоприводов:Используйте массив сервообъектов и назначайте разные кнопки разным сервоприводам. Например, кнопка «1» управляет сервоприводом A до 0°, кнопка «2» управляет сервоприводом B до 45°.

2. Реализуйте плавное движение:Заменятьservo.write(угол)с циклом, который увеличивает угол шаг за шагом (например, от текущего угла до целевого угла с шагом 1 ° с задержкой 15 мс). Это создает профессиональное, постепенное движение.

3. Сохраните назначения кнопок в EEPROM:Напишите небольшую процедуру калибровки, которая позволит вам изучить новые кнопки без повторной загрузки кода. Это особенно полезно, если вы потеряете оригинальный пульт и перейдете на другой бренд.

Окончательная проверка:Прежде чем развертывать свой проект в реальном приложении (например, дверной защелке с дистанционным управлением или захвате робота), проверьте нажатия всех кнопок не менее 50 раз каждую. ИК-сигналы могут блокироваться предметами или ярким светом — всегда включайте визуальный индикатор (например, светодиод, который мигает при получении кода), чтобы подтвердить работу системы.

Время обновления: 19 апреля 2026 г.

Энергия будущего

Свяжитесь со специалистом по продукции Kpower, чтобы порекомендовать подходящий двигатель или редуктор для вашего продукта.

Написать письмо в Kpower
Отправить запрос
+86 0769 8399 3238
 
kpowerMap