4.34M
Category: electronicselectronics

Работа с ИК-приёмником. Дистанционное управление роботом

1.

ИT-марафон 2024-2025
Трек: «Робототехника»
Отборочный этап № 3
«Работа с ИК-приёмником.
Дистанционное управление роботом»

2.

Цель этапа: формирование умений по конструированию и сборке
мобильного робота, формирование умений по работе с ИКприёмником, формирование умений по дистанционному управлению
мобильным роботом.
1. Уметь собирать модель робота, при
необходимости модернизировать
конструкцию.
2. Уметь подключать ИК-приёмник.
3. Уметь писать и редактировать
программный код для дистанционного
управления роботом.
4. Уметь производить отладку работы
мобильного робота.

3.

Структура этапа
1. Демонстрация виртуальной лаборатории МЭШ по
робототехнике;
2. Тренировочное задание по работе с ИК-приёмником
(подключение, считывание сигналов, написание программы для
дистанционного управления);
3. Тренировочное задание по управлению роботом на разных
поверхностях с использованием различных движителей;
4. Самостоятельное выполнение участниками задания этапа.

4.

Пример подключения ИК-приёмника и пример
программного кода для работы с ним
// подключение библиотеки для работы с ИК-приёмником
#include <IRremote.h>
// указание пина, к которому подключен ИК-приёмник
const byte IR_RECEIVE_PIN = 8;
void setup()
{
Serial.begin(9600);
//активация режима приема ИК-сигналов
IrReceiver.begin(IR_RECEIVE_PIN);
}
void loop()
{
// проверка получения сигнала,
// если сигнал пришёл, то выполняется код
if (IrReceiver.decode())
{
// вывод в монитор порта сырых данных
// в десятичном формате
Serial.println(IrReceiver.decodedIRData.decodedRawData);
// вывод справочной информации
//IrReceiver.printIRResultShort(&Serial);
// подготовка приемника к приему следующего сигнала
IrReceiver.resume();
}
}

5.

Условный оператор if и оператор выбора switch
if (условие) {
// выполнить, если условие истинно
}
if (условие) {
// выполнить, если условие истинно
}
else{
// выполнить, если условие ложно
}
if (условие 1) {
// выполнить, если условие 1 истинно
}
else if (условие 2){
// выполнить, если условие 2 истинно
}
else {
// выполнить в противном случае
}
switch (значение) {
case 0:
// выполнить, если значение = 0
break;
case 1:
case 2:
// выполнить, если значение = 1 или 2
break;
default:
// выполнить, если значение не совпадает ни с одним из case
break;
}
English     Русский Rules