Чему и как учить? Материальное обеспечение.

Набор деталей

Итак, вы выбрали Arduino в качестве рабочей платформы для занятий робототехникой, теперь вам нужно пройти какое-то базовое обучение по этому направлению. Мне очень помог онлайн-курс на сайте Coursera. Есть также другие ресурсы, где толково всё объясняется — как в виде статей, так и в видеоуроках. Например, можно рекомендовать сайт Алекса Гайвера. Бывают и очные семинары и курсы повышения квалификации по Arduino.

Дальше перед вами встаёт вопрос чему и в каком порядке учить детей.

Образно говоря, мир Arduino держится на трёх "китах": конструирование и механика, программирование, электроника. Расстановка акцентов зависит от возможностей учреждения и предпочтений педагога. Можно сделать акцент на конструирование и механику (строим модели, оживляем их с помощью Arduino), можно на программирование (используем Arduino как модельного исполнителя, на котором отрабатываем все хитрости программирования на C++), а можно на электронику (проектируем печатные платы, паяем, собираем сложные схемы, в которых Arduino может быть совсем не главным компонентом).

Как делать не нужно:

  • Не нужно давать ученикам готовые скетчи (программы для Arduino). Нужно изучать программирование! Дети охотно копируют готовую программу, которую дал им учитель или которую они нашли в интернете. Никакого обучения при этом не происходит. Даже если программа сопровождается подробными комментариями — они их читать не будут. Давать можно отдельные примеры, строки, в сложных случаях — целые блоки, но в любом случае окончательную сборку программы, подгонку её под свою задачу ученик должен провести сам, чтобы понимать логику её работы, назначение каждой строчки.
  • Нельзя пренебрегать изучением электричества, электрических схем, элементов. Можно дать ученику готовую схему, но он не должен собирать её просто "по картинке", не понимая, что за детали он использует, как проходит электрический ток, как вообще это всё работает. В более сложных проектах сборка может быть сильно упрощена использованием готовых модулей, но всё равно ученик должен понимать где плюс, где минус, как организовано питание схемы, как не допустить короткого замыкания или превышения нагрузки и так далее.
  • Вытекает из вышесказанного: не нужно увлекаться сложными проектами из интернета, пока ученик не готов понять принципы их работы — как электрические, так и программные.

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

Программа построена в следующем порядке:

1. Электричество. Эта тема очень важна, не стоит ей пренебрегать. Она включает как теорию (напряжение, сопротивление, сила тока, параллельное и последовательное соединение, закон Ома и другое), так и практику (сборка простых электрических схем, различные измерения). На этом этапе Arduino используется только эпизодически, как наглядное пособие.

2. Основы работы с Arduino. На этом этапе ученики собирают простые схемы с использованием Arduino и пишут короткие программы для реализации простых действий с использованием светодиодов, кнопок, датчиков света и температуры. Основная задача этого этапа — научить основам программирования с учётом особенностей Arduino.

3. Моторы, движение. Управление роботом-тележкой с двумя моторами: от простого движения и поворотов до движения по чёрной линии.

4. Изучение 3d моделирования с целью создания и печати собственных деталей для различных проектов..

5. Изучение расширенных возможностей Arduino и проектная деятельность. На этом этапе можно экспериментировать с различными датчиками, создавать роботов, способных выполнять соревновательные задачи, совершенствовать алгоритмы для них.

Оборудование и компоненты, необходимые на разных этапах.

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

Почти всё перечисленное можно купить, например, в такого типа наборе (его изображение — в начале статьи). Однако, такой набор не требуется на каждого ученика. На 10 рабочих мест можно купить пару полных наборов и дополнительно 8 монтажных плат, 8 модулей питания, 8 потенциометров, несколько фоторезисторов, комплект проводов разного типа. К перечисленному остаётся добавить мультиметр (можно по одному на двух учеников), аккумуляторы формата AA или (лучше) 18650 — по комплекту на двух учеников, зарядное устройство одно на всех и боксы для аккумуляторов AA или 18650 примерно такого типа:

aax618650

 

 

 

 

 

 

 

 

 

 

Из инструментов лучше сразу приобрести набор пинцетов.

  • На втором этапе понадобятся в первую очередь платы Arduino и кабели для подключения их к компьютеру. Подходят любые платы-аналоги Uno или Leonardo. Для начинающих можно брать подешевле и с запасом по количеству. Кабели лучше купить отдельно, так как в комплекте бывают только очень короткие. Для Uno нужен кабель типа USB Type B, а для Leonardo — Micro USB.

Кроме того, ближе к концу этого этапа понадобятся самые простые сервомоторы, пассивные зуммеры ("пищалки"), дополнительные светодиоды, провода и резисторы на 220 Ом, (можно докупить несколько наборов, где они есть), 7-сегментные индикаторы, светодиодные матрицы 8x8. Более подробно эти элементы описаны в методических материалах, которые будут приложены к последней статье.

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

Есть неплохие наборы на Aliexpress: только платформа без электроники или более полные наборы, а вот интересные наборы на платформе, где заранее предусмотрено крепление всех компонентов, вот набор, где есть всё, что можно представить... И множество других вариантов, включая всевозможные танки, многоножки и прочее.

Есть довольно дорогие специализированные гоночные наборы "Амперки". Есть наборы на iarduino (по ссылке набор не полный, только основа). Есть хорошая, но дорогая алюминиевая платформа на "chip и dip" (тоже без электроники). Наборы на robototehnika.ru: недорогой без электроники, подороже с встроенной электроникой. Есть платформы и на carduino.ru. Конечно же, на любом из этих сайтов можно купить и отдельные детали.

Учтите, что если вам нужен робот для скоростной езды по линии, то большая машина с 4 моторами для этого подходит плохо. Чем легче — тем лучше. Если же вам нужен робот для задач, не требующих скорости, особенно если вы будете устанавливать на него дополнительные механизмы типа захвата или видеокамеры — вес не помеха. На четырёхмоторных роботах моторы обычно соединяются попарно и управляются драйвером на 2 мотора.

Я использовал платформы на 2 мотора без электроники, для которых нужно отдельно приобрести платы Arduino с шилдами для удобного подключения остальных частей, а также следующие компоненты: плата управления моторами, датчики линии, датчики-энкодеры для подсчёта шагов, OLED экран 0,96" 128x64, модуль Bluetooth, дальномер ультразвуковой или инфракрасный, желательно также сервомотор и выключатель (лучше на три контакта с тремя положениями). Понадобится также разнообразный крепёж, провода, паяльник, инструмент для сверления.

  • Обучение 3d моделированию имеет смысл в основном при наличии возможности печатать на 3d принтере. Неплохой принтер можно купить начиная от 12-15 тысяч рублей. Он позволит не только ввести в программу дополнительное интересное детям направление, но и печатать полезные, часто незаменимые детали для ваших роботов: держатели для датчиков, сервомотора, экрана, различные захваты и даже целые платформы.
  • Последний модуль программы предполагает уже свободу творчества и для вас и для ваших учеников. Если вы дойдёте до этого этапа, то и сами решите что и как делать. В методических материалах описаны некоторые интересные датчики. Надо только учитывать, что для соревновательных роботов и серьёзных проектов могут потребоваться более дорогие и качественные комплектующие. Например, для движения по линии есть хорошие линейки датчиков от Pololu. Есть моторы с встроенными магнитными энкодерами (датчиками для подсчёта оборотов).

Некоторые советы.

Cразу, с первого же этапа, лучше покупать аккумуляторы 18650, зарядник и держатели для них. У них напряжение 3,7-4 В и высокая ёмкость,  для движущегося робота достаточно двух-трёх таких аккумуляторов, и вы никогда не столкнётесь с проблемой нехватки питания. В некоторых случаях можно обойтись аккумуляторами типа 14500 — это литиевые аккумуляторы (тоже около 4 В) размера AA. Но у них маленькая ёмкость, заряжать придётся чаще. А вот использовать обычные аккумуляторы AA с напряжением 1,2-1,3 вольта — неудобно. Для надёжной работы их нужно не меньше шести. Если по каким-то причинам (например, мало места в небольшом роботе) вы всё же вынуждены использовать вариант с недостаточным питанием (2-3 аккумулятора AA или один 18650) — можно использовать преобразователь напряжения, чтобы получить 6-7 вольт, которые нужны для питания моторов и Arduino.

Для изучения электричества очень удобен универсальный источник питания вроде такого.

В сложных конструкциях старайтесь не использовать одиночных проводов с разъёмами типа "папа/мама". Где можно — припаивайте, где это неудобно — используйте коннекторы на несколько контактов, это гораздо надёжнее.

Для езды по линии и других серьёзных задач поставьте на колёса хорошие шины из резиноподобного материала. Нормальное сцепление с поверхностью сильно упрощает задачу и вам и роботу. Пластиковые шины, которыми обычно укомплектовываются недорогие моторы, сильно скользят (но конечно, это зависит от конкретного набора — может оказаться, что у вас изначально хорошие шины).

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

Первая часть здесь.

Третья часть здесь.

Приложение: Примеры различных компонентов.

uno Arduino Uno — оригинал или точная копия. arduinouno-r3

Arduino Uno — аналог.

Может потребоваться установить отдельный драйвер. На Windows 10
он обычно не нужен.

leonardo Arduino Leonardo — оригинал или точная копия. nano Arduino Nano.
685c4a884a Один из вариантов шилда (shield) для
добного подключения датчиков к Uno или Leonardo.
1108327366plata-rasshireniya-nanojpg Шилд для Nano: Arduino Nano устанавливается в разъём.
image41 Потенциометр. Бывают модели
меньше по размерам.
image55 Кнопка.
image5 Светофор — удобен тем, что
светодиоды уже соединены с резисторами.
image14 Пассивный зуммер (пищалка).
image8 Дешёвый мотор в комплекте
с колесом. Шина очень плохая,
её лучше заменить.
image30 Простейший сервомотор.
image4 Ультразвуковой дальномер. image1 Инфракрасный дальномер.
image21 Один из вариантов драйвера
моторов.
image13 Ещё один драйвер моторов.
image57 Модуль Bluetooth. image20 Дисплей 0,96'' 128x64.
image16 Датчик для следования по линии
или обнаружения края.
image19 Датчик-энкодер для подсчёта 
исла "шагов" колеса с помощью диска с прорезями.
0J615600x480 8-канальный датчик линии pololu. 
Это старый вариант, новые — чёрные.
Бывают с разным количеством
сенсоров в одну линию.
image16 Одиночный семисегментный индикатор.
image76 Светодиодная матрица 8x8.
Бывают разных размеров.
image78 Сборка из светодиодных матриц с драйверами.
image11 Сборка из 8 семисегментных
индикаторов с драйвером.
image39 Умножитель портов.

Часть 1 здесь.

Часть 3 здесь.

Автор: Никитин Юрий Моисеевич, педагог дополнительного образования первой квалификационной категории, место работы: МБУ ДО Центр детско-юношеский "Созвездие", г. Екатеринбург.