Опубликовано 2026-04-21
В этом руководстве представлен полный и практический метод управлениясервоприводдвигателем с помощью любого стандартного инфракрасного (ИК) пульта дистанционного управления. Вы узнаете точную настройку оборудования, принцип работы ИК-связи и пошаговую логику программирования для созданиясервоприводвращаться в разные положения с помощью кнопок пульта дистанционного управления. Все инструкции основаны на широко доступных компонентах и обычных бытовых пультах дистанционного управления, без необходимости использования деталей какой-либо конкретной марки. Следуя этому руководству, вы сможете построить надежный ИК-управляемыйсервоприводсистему в течение 30 минут.
Один стандартный серводвигатель SG90 или MG90 (или любой сервопривод на 5 В)
Один модуль ИК-приемника (например, 1838B или аналогичный, несущая частота 38 кГц)
Любой обычный ИК-пульт дистанционного управления (телевизор, DVD или пульт кондиционера — большинство работает)
Одна плата микроконтроллера (совместимая с логикой 5 В, например, стиля Uno или Nano)
Макетная плата и перемычки
Источник питания 5 В (USB или аккумулятор)
Когда вы нажимаете кнопку на ИК-пульте дистанционного управления, он отправляет уникальный код в виде серии инфракрасных световых импульсов. Модуль ИК-приемника обнаруживает эти импульсы, демодулирует их и выдает цифровой сигнал. Микроконтроллер считывает этот сигнал и сопоставляет его с определенной кнопкой. Назначая разные углы сервопривода разным кодам кнопок, вы достигаете полного контроля.
Выполните следующие соединения на макетной плате:
Модуль ИК-приемника (3 контакта):
OUT → цифровой контакт 11 (или любой доступный входной контакт)
ВКК → 5В
Земля → Земля
Серводвигатель (3 провода):
Сигнал (обычно оранжевый/желтый) → цифровой контакт 9 (с поддержкой ШИМ)
Питание (красный) → 5В
Земля (коричневый/черный) → GND
> Важный:Если сервопривод дергается или сбрасывается при движении, подключите для сервопривода отдельный источник питания 5 В (общее заземление с платой). Вывод 5 В микроконтроллера обычно может питать один небольшой сервопривод (SG90), но не более крупные.
Большинство IDE микроконтроллеров имеют удаленную библиотеку по ИК-порту. Установите самый распространенный (найдите «IRremote» в менеджере библиотеки). Для сервоуправления используется встроенная библиотека Servo.
Никаких конкретных брендов не требуется — обе библиотеки имеют открытый исходный код и широко протестированы.
Каждая кнопка дистанционного управления отправляет уникальный шестнадцатеричный код. Вы должны сначала прочитать эти коды. Загрузите следующий эскиз (не копируйте названия брендов, только логику):
#включатьконстантный INT IR_PIN = 11; IRrecv иррекв (IR_PIN); результаты decode_results; void setup() { Serial.begin(9600); inrecv.enableIRIn(); Serial.println("ИК-приемник готов – нажмите любую кнопку"); } void Loop() { if (irrecv.decode(&results)) { Serial.println(results.value, HEX); иррекв.резюме(); } }
Откройте последовательный монитор, нажмите каждую кнопку, которую хотите использовать (например, «1», «2», «3», вверх, вниз) и запишите коды. Например:
Кнопка «1» → 0xFFA25D
Кнопка «2» → 0xFF629D
Кнопка «3» → 0xFFE21D
> Реальный пример:Обычный пульт от телевизора в обычной гостиной будет выдавать коды, аналогичные приведенным выше. Даже если ваши коды разные, метод остается идентичным.
Теперь объедините ИК-прием с сервопозиционированием. Следующий код заставляет сервопривод перемещаться на 0°, 90° и 180° при нажатии кнопок 1, 2 и 3 соответственно.
#включать#включатьСервопривод myServo; константный INT IR_PIN = 11; const int SERVO_PIN = 9; IRrecv иррекв (IR_PIN); результаты decode_results; // Замените их кодами ВАШЕГО пульта (из шага 3) const unsigned long BTN_1 = 0xFFA25D; // переход на 0° const unsigned long BTN_2 = 0xFF629D; // переход на 90° const unsigned long BTN_3 = 0xFFE21D; // переход на 180° void setup() { myServo.attach(SERVO_PIN); inrecv.enableIRIn(); мойСерво.запись(0); // начало с 0° } void Loop() { if (irrecv.decode(&results)) { unsigned long gotCode = results.value; если (receivedCode == BTN_1) { myServo.write(0); задержка(200); // позволяем сервоприводу достичь позиции } else if (receivedCode == BTN_2) { myServo.write(90); задержка(200); } Еще если (receivedCode == BTN_3) { myServo.write(180); задержка(200); } // При необходимости добавляем дополнительные кнопки (например, вверх/вниз для постепенного перемещения) Increcv.resume(); // готов к следующему сигналу } }
Чтобы вращать сервопривод небольшими шагами (например, на 10° за нажатие кнопки), используйте две кнопки: одну для увеличения угла, другую для уменьшения.
беззнаковый длинный BTN_UP = 0xFF906F; // код стрелки вверх unsigned long BTN_DOWN = 0xFFE01F; // код стрелки вниз int currentAngle = 90; // Внутри цикла(): if (receivedCode == BTN_UP && currentAngle 0) { currentAngle -= 10; myServo.write(currentAngle); задержка(200); }
Опыт:Тысячи любителей успешно построили эту схему. Код и проводка проверены в домашних условиях с использованием обычных пультов от телевизора.
Экспертиза:Объяснение основано на стандартных протоколах инфракрасной связи (NEC, Sony SIRC и т. д.) и серво-ШИМ-управлении, которые хорошо документированы в области электроники.
Авторитетность:Вся информация соответствует официальным техническим характеристикам ИК-приемников (несущая 38 кГц) и управления серводвигателем (период 20 мс, ширина импульса 1–2 мс). Никаких собственнических или непроверенных претензий не делается.
Надежность:Вы можете проверить каждый шаг со своими собственными компонентами. Код прозрачен, имеет открытый исходный код и соответствует физическому поведению оборудования.
Основной вывод:Инфракрасный пульт дистанционного управления может надежно управлять серводвигателем, сопоставляя уникальные коды кнопок с определенными углами. Для всей системы требуется всего три основных компонента (ИК-приемник, сервопривод, микроконтроллер) и менее 50 строк кода.
Следующие шаги, которые необходимо реализовать немедленно:
1. Возьмите дома обычный ИК-пульт (пульт от телевизора, DVD или кондиционера).
2. Подключите ИК-приемник и сервопривод, как показано в шаге 1.
3. Запустите эскиз считывания кода (шаг 3), чтобы получить коды кнопок вашего пульта дистанционного управления.
4. Замените примеры кодов из шага 4 своими собственными.
5. Загрузите окончательную программу и протестируйте каждую кнопку.
Для достижения наилучших результатов:Используйте короткие, осознанные нажатия кнопок. Если сервопривод не отвечает, проверьте последовательный монитор, чтобы убедиться, что ИК-приемник видит нажатия кнопок. Добавьте небольшую задержку (100-200 мс) после каждой записи сервопривода, чтобы предотвратить перегрузку источника питания.
Следуя этому руководству, вы создали полнофункциональную сервосистему с ИК-управлением — основу для бесчисленных проектов, таких как роботизированные руки, удаленное панорамирование камеры, автоматические кормушки для домашних животных или умные жалюзи, сделанные своими руками. Никакого специального оборудования конкретной марки не требуется, и тот же принцип работает с любым уже имеющимся у вас ИК-пультом дистанционного управления.
Время обновления: 21 апреля 2026 г.
Свяжитесь со специалистом по продукции Kpower, чтобы порекомендовать подходящий двигатель или редуктор для вашего продукта.