В настоящее время стремительно развивается и внедряется в различные сферы нашей жизни профессиональная и научная робототехника, но одновременно становится все более популярным любительское и образовательное конструирование и программирование роботов. Это популярное направление технического творчества называется DIY – Do It Yourself или «Сделай сам». Оборудование, которое позволяет получить начальные навыки в этом направлении, поставляется в высшие учебные заведения педагогической направленности в ходе реализации комплексной программы по модернизации и стратегическому развитию педагогических вузов «Учитель будущего поколения России». В рамках этой программы в педагогических вузах оснащаются высокотехнологичным оборудованием технопарки универсальных педагогических компетенций [1]. Среди лабораторных комплектов IT-кластера технопарка широко представлены робототехнические учебные лаборатории ООО «Прикладная робототехника» (Applied Robotics Ltd.), которое является эксклюзивным представителем ROBOTICS Ltd. в России и официальным представителем международного движения STEAM CUP. Среди таких наборов комплекты, позволяющие собрать и запрограммировать модели мобильных роботов, манипуляторы разных видов, умный дом и многое другое. Наборы электронных элементов, микросхем, датчиков и необходимость их программировать могут показаться достаточно сложными для освоения начинающими робототехниками. Под руководством грамотного наставника и при наличии сопроводительных методических материалов и инструкций этот процесс становится достаточно простым в освоении и интересным, так как позволяет сразу увидеть результаты своей работы – самостоятельно собранную микросхему с мигающими светодиодами, регуляторами и другими компонентами, а в перспективе достаточно сложный комплекс (мобильный робот, манипулятор или систему умный дом) [2].
Целью исследования является разработка системы занятий и мастер-классов для начального ознакомления с программированием учебно-лабораторных моделей роботов в среде Arduino IDE.
Материалы и методы исследования
Для достижения цели использовались следующие методы исследования: теоретические (анализ технической, методической литературы, нормативных документов, учебных программ, методических материалов); общенаучные (систематизация, педагогическое моделирование, проектирование и конструирование) [3].
Для примера приведем разработку конспекта вводного занятия по подключению и программированию микросхем в среде разработки Arduino IDE.
На сегодняшний день одной из актуальных платформ для программирования роботов является платформа Arduino. Она по праву считается динамично развивающейся и доступной платформой как для человека, который только начинает свой путь в программировании, так и для профессионалов.
Платформа Arduino представляет собой комбинацию среды быстрой разработки Arduino IDE и модулей для прототипирования на базе микроконтроллеров. Другими словами, Arduino представляет собой электронный конструктор, разработанный для создания готовых устройств из отдельных модулей [4]. Среду Arduino можно считать универсальным микроконтроллером, способным адаптироваться под любой выбранный проект за минимальное количество времени. Arduino IDE – понятная и доступная для изучения среда разработки, позволяющая вовлечь начинающих пользователей в программирование и робототехнику и в то же время подходящая для создания и разработки достаточно сложных проектов.
Для создания первой схемы на макетной плате необходимы следующие элементы: резистор 220 Ом, светодиод, два провода типа папа-папа, блок питания, USB кабель (рис. 1).
Рис. 1. Элементы для создания схемы (резистор, светодиоды, провода типа папа-папа, блок питания, USB кабель)
Рис. 2. Подготовка контроллера к работе
Резистором считается пассивный элемент электрических цепей, который обладает определенным или переменным значением электрического сопротивления. Данный элемент предназначен для линейного преобразования силы тока в напряжение и, наоборот, напряжения в силу тока, а также для ограничения тока. Резистор применяется в качестве некоего барьера, позволяющего ограничивать силу тока, проходящего через него. Это необходимо для обеспечения безопасного и долговременного использования других элементов электрической цепи. Для того чтобы подобрать необходимый резистор, требуется провести расчеты по закону Ома: I = U / R, где I – сила тока в цепи, измеряющаяся в амперах, U – напряжение между участками цепи, измеряется в вольтах, R – сопротивление, измерение которого происходит в омах.
Светодиод является полупроводниковым прибором с электронно-дырочным переходом, который создает оптическое излучение при пропускании через него электрического тока в прямом направлении. Для того чтобы светодиод проработал как можно дольше, необходимо подобрать резистор с нужным сопротивлением.
Блоком питания называется устройство, преобразующее параметры электроэнергии основного источника в электроэнергию с параметрами, необходимыми для функционирования вспомогательных устройств. Применяется для питания контроллера.
Соединительным элементом, который позволяет передавать и принимать данные с периферийных устройств, является USB кабель. USB кабель применяется для загрузки созданной программы (кода) на контроллер.
Провод типа папа-папа – элемент электрической цепи, с использованием которого на элементы подается напряжение. Данный тип провода используется для питания макетной платы и, соответственно, передачи значений на контроллер.
Для сборки схемы сначала необходимо подключить блок питания к контроллеру, подключить USB кабель к контроллеру и компьютеру и переключить тумблер включения платы в состояние «On» (рис. 2).
После того как указанные выше действия выполнены, можно приступать к сборке схемы, изображенной на рис. 3–5.
Рис. 3. Подключение элементов к макетной плате
Рис. 4. Подключение элементов к макетной плате
Для начала необходимо подключить светодиод каждой ножкой в свою горизонтальную полоску макетной платы. Затем в одну из полосок, куда подключена ножка, подключается одним концом провод типа папа-папа, а второй конец провода подключается в порт «Vin» контроллера. В горизонтальную полоску ко второй ножке светодиода подключается одной ножкой резистор на 220 Ом, а вторая ножка резистора подключается в другую горизонтальную полоску. Далее ко второй ножке резистора подключается одним концом второй провод типа папа-папа, а вторым концом – в порт «13» на плате контроллера.
Теперь, когда схема готова, можно приступить к программированию, но для начала необходимо познакомиться с функциями, которые будут использоваться в коде программы [5]:
1) pinMode (*номер пина*, *режим работы*) – данная функция позволяет объявлять, в каком режиме будет работать заданный пин, в режиме Входа или Выхода. Зачение режима работы, подаваемое в параметр функции, либо INPUT – вход, либо OUTPUT – выход;
2) digitalWrite (*номер пина*, *значение*) – данная функция позволяет подавать или принимать сигнал, при подаче сигнала пином – передает либо логическую единицу (HIGH), либо логический ноль (LOW). Логическая единица выражена в подаче напряжения равного 5 В, а логический ноль – отсутствием напряжения. При приеме сигнала пином – логическая единица активирует внутренний нагрузочный резистор, а логический ноль его отключает. Значение, подаваемое в параметры функции, либо HIGH, либо LOW;
3) delay (*значение*) – данная функция позволяет приостановить работу программы путем временного отключения процессора контроллера. Значение, подаваемое в параметр функции, задается в миллисекундах;
4) int – тип данных, присваиваемый переменной при объявлении, данный тип характеризуется целочисленными значениями в диапазоне от -32768 до 32767, а также занимает 2 байта памяти. Пример объявления переменной: int a (*название переменной*) = 10 (*значение переменной*).
Рис. 5. Подключение элементов к контроллеру
Изучив строение схемы и используемые функции, можно приступать к написанию кода программы. Ниже приведен код программы с комментариями к каждой команде.
// Объявление переменной pin и присвоение ей значения подключенного номера пина
int pin = 13;
void setup()
{
//объявление пина на режим вывода
pinMode(pin, OUTPUT);
}
void loop()
{
//передача на пин логической единицы, то есть подача напряжения 5 В
digitalWrite(pin, HIGH);
//приостановка контроллера в данном состоянии на 100 мс
delay(100);
//передача на пин логического нуля, то есть приравнивание к земле
digitalWrite(pin, LOW);
// приостановка контроллера в данном состоянии на 900 мс
delay(900);
}
Результаты исследования и их обсуждение
Приведенная разработка является схемой одного из занятий разработанной нами системы и может использоваться для начального ознакомления с основами конструирования и программирования робототехнических систем, для проведения мастер-классов по основам программирования робототехнических устройств и популяризации технического творчества. Подготовленная система занятий позволяет провести знакомство с базовыми навыками программирования роботов и подготовиться к созданию и управлению более сложными комплексами, в том числе к проведению различных исследований и выполнению проектов на основе робототехнического оборудования.
Заключение
Таким образом, данная платформа может применяться для создания различных интересных моделей, одной из которых является широко распространенная система «Умный дом». Изучить возможности данной платформы и получить умение работать с ней можно в ходе занятий с оборудованием технопарка универсальных педагогических компетенций.
Исследование выполнено при финансовой поддержке научно-исследовательских работ по приоритетным направлениям деятельности вузов-партнеров ЮУрГГПУ и ШГПУ в 2022 г. по теме «Организационно-методическое обеспечение деятельности IT-кластера технопарка универсальных педагогических компетенций в контексте реализации профориентационной и просветительской деятельности вуза» (№ 16-446 от 23.06.2022).
Библиографическая ссылка
Ерохин П.В., Козловских М.Е. ОСНОВЫ ПРОГРАММИРОВАНИЯ УЧЕБНО-ЛАБОРАТОРНЫХ МОДЕЛЕЙ РОБОТОВ В СРЕДЕ ARDUINO IDE // Международный журнал экспериментального образования. – 2022. – № 4. – С. 11-15;URL: https://expeducation.ru/ru/article/view?id=12084 (дата обращения: 17.08.2024).