Ардуино для начинающих
Одним из направлений робототехники для начинающих является создание моделей роботов на базе микропроцессорной платформы Arduino.
Немного о самой платформе Arduino (Ардуино).
Arduino (Ардуино) (означает мужское красивое имя) — это разработка итальянского профессора Массимо Банци из г. Ивреа, которая появилась ещё в 2005 г. Его целью было создание такого микропроцессорного устройства, которое можно было бы начать программировать без дополнительных блоков, программаторов, просто подключив к компьютеру. До этого программировать микропроцессоры могли только специалисты, и, кроме того, чтобы начать писать программу, нужно было микросхему (сам микропроцессор) припаять на плату, которую тоже изготовить самостоятельно или где-то дополнительно приобрести. В общем, для широкого круга радиолюбителей, студентов и просто начинающих интересующихся электроникой и микропроцессорами это была практически невыполнимая задача. Массимо вместе с командой смогли её решить и сделали Ардуино — плату для микропроцессора (она просто вставляется в сокет, расположенный на плате) с минимальным набором вспомогательных устройств для его работы (рисунок 1).
Основное назначение такой сборки, названной впоследствии Arduino Uno, было обеспечить программирование и использование микропроцессора ATMega американской фирмы Atmel неспециалистами в области программирования и микропроцессорной техники. В дополнение ко всему это стоило всего в пределах 30$, что было финансово очень доступным для многих интересующихся этой тематикой. По сути, получился минимальный компьютер без периферийных устройств по минимально возможной цене.
Сейчас Ардуино — это целый набор различных вариантов плат для разных процессоров. Выбор варианта для моделирования во многом определяется функционалом разрабатываемой модели, габаритами и стоимостью. Так, универсальным вариантом для использования всё ещё остаётся базовая комплектация Arduino Uno. Логическим её преемником является Arduino Mega с расширенным функционалом по подключению периферийных устройств и большим объёмом памяти. Замыкает предложенную линейку вариантов микроконтроллерных плат Arduino Nano. Ардуино-разработка отличается компактными размерами при достаточно широких функциональных возможностях. Нужно также подчеркнуть, что появились разработки Ардуино для процессора ARM Cortex (32-х и 64-х разрядных) компании ARM Limited. Всё это говорит о том, что Ардуино для начинающих становится ещё функциональней, а с другой стороны — проще для понимания и использования.
Тот же принцип действует и на занятиях в центре знаний «Интеллектор», в том числе и по Ардуино для начинающих: «просто о сложном и доступно для начинающих».
С первого занятия по Ардуино для начинающих ребята знакомятся с понятиями «электрический ток», с тем, как устроены и работают диоды, сопротивления, конденсаторы, транзисторы и многое другое, как собирать свои модели роботов. Для этого на занятиях реализуются различные электрические схемы на монтажных платах и, конечно же, подключаютcя они к Ардуино для управления разными электронными элементами (рисунок 2).
И самое интересное на занятиях по Ардуино для начинающих — это программирование роботов, которых начинающие инженеры сами собирают, или составление программы для уже собранного робота из курса Ардуино для начинающих.
Робот из курса Ардуино в центре знаний «Интеллектор» очень похож на своего собрата робота-пылесос, однако его основная задача – предоставить юным кибернетикам, начинающим изучать Ардуино, возможность создавать и использовать сложные программы для выполнения непростых, но интересных практических задач, и решать их на практике, запуская робота в познавательное интересное путешествие.
Вообще всё на занятиях по Ардуино для начинающих происходит по принципу «узнал-применил». В итоге решается задача, поэтому всегда что-то мигает, звучит и едет куда-то.
Например, на одном из первых занятий курса Ардуино в центре знаний «Интеллектор», когда становятся понятными принципы управления светодиодами (электронными полупроводниковыми лампочками, которые многим знакомы по современным фонарикам, сигнальным огонькам многих приборов и т. п., рисунок 3), ребята реализуют программу для светофорного регулирования проезда перекрёстков.
Начинающие инженеры собирают модели машин-роботов, управляемых дистанционно, и реально проезжают перекрёстки, на которых модели светофоров (рисунок 4), изготовленные и запрограммированные ими, регулируют движение в реальном времени.
Ещё одной особенностью курса Ардуино для начинающих является то, что начинающие изучать курс Ардуино вместе с практикой программирования существующего робота собирают свои уникальные модели роботов различного назначения на основе Ардуино. Такое стало возможным на базе конструктора «Huna», который совмещается с Ардуино. Таким образом можно собрать любую по функционалу модель из детского конструктора «Huna», т. е. саму конструкцию для задуманного робота. Затем поставить на неё плату Ардуино в комплексе с дополнительными платами для управления моторами и разнообразными датчиками, и вот робот готов (рисунок 5)!
Такого робота можно запрограммировать, например, чтобы он двигался вдоль чёрной линии или преодолевал препятствия на своём пути, оповещал, что встретился тот или иной цвет и многое другое.
Такая гибридизация моделей роботов в курсе Ардуино для начинающих и микропроцессорной платформы Ардуино открывает практически безграничные возможности для творчества по созданию своих совершенно уникальных, умных и замечательных роботов для начинающих и опытных юных кибернетиков.
В дополнение ко всему, Ардуино для начинающих — это не просто занимательное времяпрепровождение, это ещё и введение в специальность «Робототехника и программирование микропроцессорных систем».
Очевидно, что смелые идеи Карела Чапека и Айзека Азимова из их фантастических произведений о роботах в недалеком будущем станут реальностью, и в повседневной жизни появятся различные роботы и роботизированные системы. Да чего далеко ходить? Современные автомобили, самолёты, бытовые приборы и т. п. во многом уже работают самостоятельно без вмешательства человека, так сказать, «в режиме роботов». Это указывает на то, что направление робототехники и программирования будет всегда очень востребованной специальностью, а курс Ардуино для начинающих будет способствовать лёгкому и понятному введению в неё.
На занятиях для начинающих по Ардуино имеется возможность познакомиться с основами функционирования элементов электроники, с уникальными конструкторскими решениями и стандартными реализациями конструкций роботов, а также приобрести навыки программирования микроконтроллерных систем, как говорится, «по-взрослому». Всё это, несомненно, пригодится при выборе будущей профессии и в ходе освоения основ электроники, вычислительной техники и программирования.
Отметим, что для программирования процессоров Ардуино используется язык, очень похожий на С++. Сам по себе язык С++ довольно сложен для понимания и использования, что требует достаточной подготовки для написания программ. Однако всё дело в том, что его вариант для Ардуино, который используется начинающими в программировании и электронике, значительно упрощён. Так, стандартная программа в среде разработки программ для Ардуино, называемой IDE, включает два раздела: раздел настроек, названный «setup», и исполняемый раздел «loop», что в переводе с английского означает «петля», т. е. бесконечно выполняемая часть программы. В первом из них описываются условия использования входов и выходов Ардуино, а во втором задаются непосредственно команды для считывания или записи, включения или выключения и т. п.
Предлагаем начинающим в Ардуино самостоятельно по приведённому ниже примеру составить простую схему (рисунок 6) для одного светодиода и написать программу, в которой он должен будет зажигаться и гаснуть с определённой периодичностью. В итоге получится первая программа в Ардуино для начинающих.
При подключении светодиода важна полярность, т. е. в каком направлении через него будет протекать электрический ток. Определяется это просто: у светодиода один контакт короче — это, так называемый, «минус» или ещё говорят «земля», и подключается он к контакту «GND» Ардуино, другой — обязательно через сопротивление к управляющему контакту Ардуино, например, 8. Укажем отдельно, что такие схемы «читаются» по принципу «от плюса к минусу». Значит в схеме ток будет течь так: от управляющего контакта 8 Ардуино, который является «плюсом» источника питания, через сопротивление, через «плюс» на «минус» светодиода и на контакт «GND» Ардуино, который является «минусом» схемы.
Программа тоже очень простая: сначала нужно объявить в разделе «setup», что контакт 8 будет выходом, т. е. с него будет поступать сигнал в схему. Следует обратить внимание, что необходимо написать только те команды, которые в примерах выделены жирным шрифтом, всё остальное среда программирования создаст сама.
Программа тоже очень простая: сначала нужно объявить в разделе «setup», что контакт 8 будет выходом, т. е. с него будет поступать сигнал в схему. Следует обратить внимание, что необходимо написать только те команды, которые в примерах выделены жирным шрифтом, всё остальное среда программирования создаст сама.
Пример оформления 1-й части программы:
void setup()
{
pinMode(8,OUTPUT);
}
Далее в исполняемой части программы, которая называется «loop», нужно в прямом смысле «записать» на этот контакт высокий потенциал, т. е. «1», и включить светодиод, потом немного подождать и выключить его («записать» 0).
Пример всей программы:
void setup()
{
pinMode(8,OUTPUT);
}
vcoid loop()
{
digitalWrite(8,1); // включаем
delay (1000); // ждём 1 секунду
digitalWrite(8,0); // выключаем
delay (1000); // ждём 1 секунду
}
Через знак «//» обозначаются пояснения в программе или, как их ещё называют, комментарии, которые не учитываются и ни на что не влияют.
Эта программа после подключения платы Ардуино к компьютеру будет выполняться, пока вы не отключите Ардуино от питания. Всё это время диод будет мигать с интервалом в одну секунду.
Ура! Вот вы и составили свою первую схему и запрограммировали её.
Таким образом вы убедились, чтобы заниматься Ардуино для начинающих, не нужно быть специалистом в программировании, в микроконтроллерах или в устройстве роботов. Достаточно желания заниматься, стремления узнавать что-то новое!
Приходите в центр знаний «Интеллектор», в группах Ардуино для начинающих всегда интересно, весело и познавательно!
Кандидат технических наук, доцент,
инструктор по робототехнике в центре знаний "Интеллектор"
П. В. Лобзенко
На странице использованы изображения из следующих источников: