Как работает Аrduino: модель шагающего робота

XXVII Международный конкурс научно-исследовательских и творческих работ учащихся
Старт в науке

Как работает Аrduino: модель шагающего робота

Давлетшин Д.Д. 1
1МБОУ "Лицей при УлГТУ № 45"
Амирова Р.А. 1
1МБОУ "Лицей при УлГТУ № 45"
Автор работы награжден дипломом победителя III степени
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF

Введение

В современном мире технологии «умных» устройств (интернет вещей, робототехника, автоматизация) окружают нас повсюду. Платформа Arduino является важным инструментом для понимания основ этих технологий и создания собственных проектов. Изучение данной платформы и конструирование на её основе позволяют на практике соединить знания из информатики (программирование, логика) и физики (электрические цепи, датчики).

Arduino — это всемирно популярная образовательная платформа, с которой начинают многие будущие инженеры и программисты. Собирая собственную модель, я не только изучаю, как устроена электроника, но и делаю первый шаг в мир реального инженерного творчества. Я уверен, что такие навыки очень важны в современном мире, где ценится умение не только пользоваться технологиями, но и создавать их.

В робототехнике существуют два класса наиболее часто используемых роботов – манипуляционные и мобильные роботы. Такие роботы успешно используются практически во всех сферах жизни человека: промышленности, строительстве, хозяйстве, военном деле. Основными задачами любого робота являются облегчение труда и снижение риска для жизни человека. Для своего первого проекта на Аrduino выбрал мобильного шагающего робота, который будет представлять собой автоматическую машину, оснащенную некоторыми системами передвижения и подсистемами (датчиками), позволяющими роботу ориентироваться в пространстве.

Я предположил, что, изучив основы программирования и электроники, смогу самостоятельно создать на базе Arduino модель шагающего робота.

Цель работы: изучить устройство и принципы работы платформы Arduino и на основе полученных знаний собрать и запрограммировать схему шагающего робота.

Задачи:

1.Изучить историю создания и развития открытой платформы. Arduino.

2. Рассмотреть устройство и основные компоненты платы Arduino.

3. Разработать и собрать электрическую схему собственной модели шагающего робота, написать алгоритм управления на платформе Arduino IDE.

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

  1. Arduino: история успеха открытой платформы

В начале 2000-х годов мир стоял на пороге революции «сделай сам» (DIY) и цифрового производства, однако для художников, дизайнеров, любителей и студентов входной барьер в область микроэлектроники и программирования микроконтроллеров оставался исключительно высоким. Существующие платформы были ориентированы на инженеров: они требовали сложных процедур программирования и глубоких специальных знаний. Возникла острая потребность в простом, доступном и интуитивно понятном инструменте, который позволил бы воплощать цифровые идеи в физические объекты. Именно этим инструментом и стала платформа Arduino.

В 2004 году вышел открытый фреймворк Wiring с набором удобных инструментов для выполнения некоторых типовых действий с микроконтроллером (МК): подать напряжение на ножку, измерить напряжение, подождать время, отправить данные по одному из интерфейсов связи и так далее. Суть в том, что это именно фреймворк (framework, каркас) - то есть некий шаблон программы плюс набор инструментов, который будет работать одинаково на любом микроконтроллере, который его поддерживает. Можно взять абсолютно любой МК, реализовать эти инструменты с учётом его особенностей и запустить на нём программу, которая написана с использованием фреймворка [2].

Проект был инициирован в 2003 году Эрнандо Барраганом, ранее работавшим в Институте интерактивного дизайна в Иврее, а в настоящее время — в Школе архитектуры и дизайна Андского университета в Боготе, Колумбия. Wiring основан на Processing — открытом проекте, инициированном Кейси Рисом и Беном Фраем, ранее работавшими в группе «Эстетика и вычисления» в Медиалаборатории Массачусетского технологического института [7].

В 2004-2005 годах начались работы по проектированию МК Arduino под руководством Массимо Банци (Massimo Banzi). Первый прототип был создан в 2005 году (рисунок 1) и представлял собой относительно простую конструкцию, в которой уже читались формы будущих популярных плат, но многие элементы еще требовали доработки.

Рисунок 1. Прототип современной платы Arduino

Интересной особенностью раннего этапа разработки было то, что изначально плата не называлась Arduino, это название появилось позже в процессе работы над проектом. Первые прототипы носили различные рабочие названия, отражавшие их экспериментальный характер и связь с платформой Wiring.

Команда приняла стратегическое решение полностью воспроизвести программную платформу Wiring, которая уже зарекомендовала себя как удобный инструмент для работы с микроконтроллерами. Однако вместо простого клонирования было принято решение создать новую аппаратную реализацию — плату Arduino USB, которая стала фактически первой в линейке Arduino и заложила основы для всех последующих разработок.

Выбор микроконтроллера ATmega8 для первых плат был обусловлен несколькими факторами: доступностью компонента, его относительно низкой стоимостью по сравнению с альтернативами и достаточной функциональностью для образовательных задач. Этот выбор оказался удачным и определил техническую основу для всей последующей линейки Arduino на базе микроконтроллеров Atmel AVR. Позже был создан отдельный «форк» («ответвление» — термин, который означает создание копии или новой версии проекта, которая развивается независимо от оригинала.) Wiring IDE под названием Arduino IDE. Благодаря библиотекам пользователи получили возможность легко управлять цифровыми и аналоговыми входами и выходами, общаться с разными датчиками и исполнительными устройствами. Это существенно упрощало взаимодействие с аппаратной частью и давало возможность концентрироваться на логике создаваемого проекта, а не на низкоуровневом кодировании. Наличие такого программного базиса способствовало быстрому распространению платформы и созданию огромного сообщества разработчиков, которые могли обмениваться библиотеками, примерами кода и полезными советами [7].

Таким образом, Arduino — это больше, чем просто микроконтроллерная плата. Это открытая аппаратно-программная экосистема, созданная для быстрого прототипирования и обучения. Её история успеха — это история преодоления технологических барьеров, философии открытости и формирования глобального сообщества единомышленников.

  1. Устройство и основные компоненты платы Arduino

Рассмотрим подробнее, из каких компонентов состоит плата Arduino. Стандартная плата Arduino (рисунок 2) содержит следующие основные компоненты:

  • Микроконтроллер — «мозг»системы, обрабатывающий программы.

  • Порты ввода-вывода для подключения внешних устройств.

  • Разъем питания для подключения внешнего источника питания.

  • USB-порт для загрузки программ и обмена данными с компьютером.

  • Кнопка сброса для перезапуска микроконтроллера.

  • Индикаторные светодиоды, отображающие статус работы [4, с. 17].

Рисунок 2. Устройство платы Arduino

Для того, чтобы запрограммировать Arduino, необходимо ещё огромное количество инструментов и программ.

Сам код на немного измененном языке C++ можно написать в различных программах, но самое популярное это Arduino IDE – официальная среда разработки программ для Arduino. После того, как программа была написана начинается этап компиляции программы – перевод в понятные для процессора символы 0 и 1.

Основные этапы компиляции:

1. Препроцессинг. Директива макроподстановки #define создаёт текстовую подстановку. Директивы иногда путают с переменными, речь о которых пойдёт позже. Директива, в отличие от переменных, не занимает памяти и не поддерживает типы данных. Переменные же хранятся в памяти и могут изменяться во время работы программы. При макроподстановке препроцессор (предваряет начало трансляции в машинный код) просто заменяет все вхождения макроса его значением до компиляции. Директива #include подключает внешний файл к коду, фактически вставляя его содержимое. О ней речь пойдёт в более поздних уроках. Сейчас отметим лишь то, что это используют для библиотек и заголовочных файлов. В отличие от #define, #include не просто заменяет текст, а добавляет новые функции и структуры в программу.

2. Обработка программы ядром Arduino: Если сильно упрощать, то ядро Arduino это набор файлов, которые объединяются на этом этапе с программой написанной пользователем. В этих файлах хранятся стандартные библиотеки (Например: Math, Serial, Servo и т. д.), и функции (Например: digitalRead(), pinMode(), millis(), delay(), и т. д.). Кстати, Void Setup() и Void Loop() это тоже функции из ядра Arduino, но в отличие от остальных мы прописываем их сами. В общем, ядро Arduino преобразовывает код написанный в Arduino IDE в код на языке программирования C++.

3. Компиляция: перевод кода C/C++ в машинный код;

4. Линковка: объединение всех скомпилированных частей в один файл;

5. Создание прошивки: генерация .hex файла для загрузки в микроконтроллер;

6. Загрузка: передача прошивки на плату через загрузчик Bootloader. [4]

3. Описание и схема собственной модели шагающего робота

Для того, чтобы разработать схему модели шагающего робота, я использовал сайт https://wokwi.com . Схема изображена ниже на рисунке 3.

Рисунок 3. Схема прототипа робота.

После тестового запуска и проверки работоспособности я провел расчеты мощности для блока питания и собрал схему воедино. Фотография прототипа шагающего робота изображена на рисунке 4.

Рисунок 4. Прототип шагающего робота.

После некоторых экспериментов с написанием кода я создал окончательную программу и загрузил её в Микро-Контроллер. Ниже дана ссылка на видео с работой данной схемы.

Видео 1. Работа схемы шагающего робота https://cloud.mail.ru/public/UwGQ/vtjs5wdf4

На основе данной схемы можно собрать действующую модель шагающего робота. Подобные роботы уже сейчас используются во многих сферах жизни. Например, в особо опасных местах, к которым человеку не добраться, на особо вредных производствах или даже на других планетах [6]. Эту модель ещё предстоит не раз доработать, чтобы её можно было использовать в подобных ситуациях.

Несмотря на все достижения, робототехника всё ещё находится на начальном этапе развития. Если в промышленности роботы достигли больших успехов, то человекоподобные роботы всё ещё примитивные. Одна из главных перспектив развития робототехники ― создание машин, которые смогут самостоятельно принимать решения в нестандартных ситуациях.

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

Заключение

Целью данной работы было изучение устройства и принципов работы платформы Arduino и на основе полученных знаний программирование схемы шагающего робота.

Для этого я изучил историю создания и развития платформы Arduino, рассмотрел устройство, а также основные компоненты платы Arduino, разработал и собрал электрическую схему собственной модели шагающего робота и написал алгоритм управления на платформе Arduino IDE.

Я сделал вывод, что на основе данной схемы можно собрать действующую модель шагающего робота. Подобные роботы уже сейчас используются во многих сферах жизни. Например, в особо опасных местах, к которым человеку не добраться, на особо вредных производствах или даже на других планетах. Однако данная модель ещё требует тщательной проработки и усовершенствования.

Поставленные задачи работы были выполнены.

Список используемой литературы

  1. Аrduino: от мигающего светодиода к умному дому за 5 шагов Режим доступа: https://sky.pro/wiki/gadgets/chto-takoe-arduino-i-kak-eto-rabotaet/(дата обращения: 27.12.2025)

  2. Гайд для новичков Arduino Режим доступа: https://alexgyver.ru/lessons/about-arduino/(дата обращения: 05.01.2026)

  3. Геддес, М. 25 крутых проектов с Arduino / М. Геддес [пер. с англ. М.А. Райтмана]. – М.: Эксмо, 2019. - 272 с.

  4. Монк,Arduino. Профессиональная работа со скетчами / С. Монк. - СПб.: Питер, 2017. – 251 с.

  5. Петин, В.А. Практическая энциклопедия Arduino / В.А. Петин, А.А. Биняковский. - М.: ДМК Пресс, 2017. — 152 с.

  6. Роботы: какие они бывают, как устроены и где применяются. Режим доступа: https://skillbox.ru/media/code/roboty-kakie-oni-byvayut-kak-ustroeny-i-gde-primenyayutsya/ (дата обращения 23.02.2026)

  7. Школа для электрика Режим доступа: https://electricalschool.info/spravochnik/ poleznoe/3227-istoriya-sozdaniya-i-razvitiya-plat-arduino.html(дата обращения: 25.12.2025)

Просмотров работы: 2