Программирование микроконтроллеров для начинающих. Опыт внедрения в школьную программу

Share Button

Андрей Рожков в блоге Образовательной галактики Intel рассказывает об опыте введения программирования микроконтроллеров в школьную программу для детей с ОВЗ. Текст публикуется с разрешения автора.

sheme-arduino-rogkov

Почему робототехника с Arduino?

Как мотивировать ученика? Что бы такое придумать? Может всем ноутбуки раздать? Может доску интерактивную повесить, а еще лучше стол интерактивный поставить? А он все не мотивируется и не мотивируется.

Уважаемые коллеги, еще раз хочу обратить ваше внимание. Робототехника — это не только информатика, но и физика, химия, биология и т. п. И в этих предметных областях можно столько интересных проектов с учениками сделать, если еще раз хорошенько присмотреться к робототехнике. Подсказка: датчики. Их можно смастерить самим (материала предостаточно в интернете), некоторые можно купить. Плюс к этому — плата Arduino (или любой аналог), Troyka Shield и лаборатория готова (ну почти готова, нужно не забыть откалибровать собранный прибор).

Но многие почему-то все же обходят эту тему стороной, считая ее сложной для понимания. Кто-то все никак не может решиться, ведь это отнимает уйму времени. А кто-то надеется, что когда-нибудь в школе появится Lego или цифровые лаборатории (с датчиками PASCO, например), вот тогда уж… или ждут, когда учебник напишут, да методические пособия с планированием. Но посмотрим, что происходит — пока мы тут раскачиваемся, наши с вами ученики уже и в этом вопросе обходят нас (они самостоятельно осваивают эту тему, строят собственных роботов и конструируют 3D-принтеры).

Программирование микроконтроллеров. Начало

Сначала я планировал вести кружок по робототехнике, но все-таки решил, что стоит попробовать включить в основную программу 11-го класса изучение темы «программирование микропроцессоров».

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

Для осуществления задуманного был создан рабочий сайт с помощью Google-сервисов. Учитывая, что для индивидуальных занятий по информатике предусмотрен только один час, пришлось внести изменения в этапы и структуру урока, которую я описывал в этом посте:

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

Если смотреть со стороны технического оснащения, использовать было решено CMPC (я рассчитывал, что это ускорит работу и позволит избежать потерю времени на уроке) и платы Freeduino Nano с платами расширения.

Но включив компьютер, на первом же уроке я понял, что нужно срочно сносить лишний софт (особенно e-Learning 6.0 очень замедляет работу, интересно, что, когда я помогал проводить уроки по другим предметам, оказывая техническую поддержку, меня это так не раздражало). А вообще, у меня в мыслях установить Linux, но пока проблемы со временем.

С платами Freeduino (аналог Arduino, куплены для себя за собственный счет) оказалось, что возить их туда-обратно постоянно тоже не удобно, поэтому думаю купить в Амперке нормальный комплект к новой четверти, чтобы постоянно был в школе.

Freeduino - аналог Arduino

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

Программирование микроконтроллеров. Обучение продолжается

Спустя примерно неделю купил в Амперке набор «Матрешка Z». Мне повезло: комплекты были в наличии, поэтому долго ждать не пришлось и через два дня после заказа на сайте я уже раскладывал детали по ячейкам в коробке (что входит в комплект можно посмотреть на сайте, поэтому я не буду останавливаться на этом).

Набор "Матрёшка Z" Амперка

Набор «Матрешка Z»

Набор "Матрёшка Z" Амперка содержимое

Набор «Матрешка Z»

Естественно, с появлением данного комплекта, отпала надобность каждый раз из дома возить свои платы и детали. У моих учеников появилась возможность не разбирать мини-проекты (если за один урок не успели собрать и запрограммировать рабочую модель, то можно это доделать в свободное время или на следующем уроке).

В первый день, когда дети увидели сей набор, восторга было словами не передать. Особенно мне понравилась реакция моей девичьей группы. Для каждой детальки они тут же придумали свое название (стульчик, кроватка, жучок, шашлычок, паучок и т.п.). И пока переустанавливали программное обеспечение под Arduino Uno (нужна была более свежая версия), они разыграли целый спектакль (вот такие творческие у меня ученицы).

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

В результате мною был приобретен еще один набор, только уже Матрешка Y, а с ним еще:

  • IO Shield,
  • соединительные провода,
  • трехосный акселерометр,
  • инфракрасный датчик движения,
  • латунные стойки, 2 комплекта,
  • Breadboard Mini, 2 штуки,
  • Proto Shield в сборе,
  • датчик газа,
  • блок питания.

Но на этом мои покупки не закончились, так как не смог в Амперке купить всего того, что планировал. Перед этим кто-то сделал большую закупку и половины датчиков, а также сервоприводов, шасси для роботов не было. И я обратился к поиску и нашел еще один интернет-магазин, и мои желания только возросли. В этом магазине были приобретены:

  • Mr.General робот-конструктор (довольно дешевый вариант, правда, паять придется все от начала до конца),
Mr.General робот-конструктор

Mr.General робот-конструктор

  • датчик магнитного поля,
  • датчик линии (QTR-8A Reflectance Sensor Array более глазастый),
  • датчик линии (этот датчик для начальных экспериментов),
  • Freeduino USB complete KIT (а-ля спаяй сам Freeduino, взял, чтобы потренироваться перед пайкой робота, ну и в хозяйстве пригодится (про процесс пайки подробно в ближайшее время тоже расскажу, все заснял на фотоаппарат)),
  • iPodEXT Assembled (дает возможность подключится к Ipad и Iphone, но пока не знаю, насколько это получится),
  • датчик температуры и влажности.

Но это все железная сторона вопроса.

Самое главное, пожалуй, это то, что за это время стало вырисовываться, что и в каком порядке давать (в смысле какие темы). Подбираются практические задания, которые я постепенно оформлю и опубликую. Да, отдельное спасибо хочу сказать Паршеву Александру Анатольевичу (не только от меня, но от моих учеников), его личный блог меня очень выручил. По приезду из Лондона дел успело накопиться много (помимо урочной деятельности), а здесь — готовые задания и как раз в нужный момент: Занятие 2Занятие 4Занятие 5.

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

Практика применения различных комплектов (собранных самостоятельно и уже готовых наборов) показала, что:

  • самый оптимальный вариант на сегодня для школы это Матрешка Y и Матрешка Z,
  • с одним комплектом работать могут не более одного ученика,
  • если у вас 2 часа в неделю робототехники и занятия не спаренные, то комплектов понадобится в двое больше
  • количество датчиков в наборах не достаточное (только на начальный уровень), поэтому нужно планировать их закупку дополнительно, а также специальных плат (IO Shield) для возможности подключения нескольких датчиков, двигателей, сервоприводов к Arduino,
  • дополнительно придется докупить и сервоприводы (по одному на набор Матрешка),
  • плюс к этому нужно выбрать уже готовые робот-платформы (это может быть и рука манипулятор), которые в заключение ученики будут иметь возможно обучить чему-то (собрать робота реально только в рамках дополнительного образования, хорошо, когда параллельно есть уроки по программированию микропроцессоров и кружок по робототехнике).

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

В набор входит комплект перемычек.

peremichki

Рекомендую убрать из комплекта перемычки, изображенные на фотографии ниже.

peremichki2

Так как они очень незаметные на макетной плате, дети постоянно их забывают вынуть (можно что-нибудь спалить из железа).

Программирование микроконтроллеров. Еще раз про Матрешку

Наборы Матрешка Y и Z версии хорошо использовать — в основном из-за удачной комплектации, а также ко всему прочему существует Амперка/Вики в поддержку данного проекта, где выложены замечательная подборка видеоуроков по Arduino от Джереми Блюма, переведенных на русский и много других интересных проектов, некоторые из которых можно без какого-либо изменения использовать на уроке.

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

Но вот настал момент, и мы решили собрать таймер из двух 7-сегментных индикаторов (в наборе они прописаны, как Комплект «7-сегментов», он содержит два 7-сегментных индикатора, микросхему-драйвер CD4026 для управления и десяток резисторов на 220 Ом), схему подключения с подробным описанием смотрите здесь.

semi-segm

Начался урок, я рассказываю детям, чем мы будем заниматься на уроке. Они открыли страницу со схемой подключения, достали макетную плату детали, провода и микросхему-драйвер. Ни о чем не подозревая, разместили два индикатора по бокам, как показано на схеме, разместили драйверы. И тут мои ученики посчитали количество ног у микросхемы и в один голос с недоумением говорят мне: «А двух ног не хватает. Что делать?». Мне осталось констатировать тот факт, что при комплектации была положена другая микросхема, ее аналог. В место CD4026 положили К176ИЕ4 (но нигде в описании об этом не упоминалось.)

К176ИЕ4
CD4026

После чего урок превратился в исследование. Мы вместе искали выход из положения, а именно схему подключения. Нашли, но не такую доступную и понятную (для детей), как на сайте Амперки.

sheme-k176

Поэтому в качестве эксперимента было решено сначала собрать схему только с одним индикатором, а потом, если все заработает, подключить второй.

Сначала подключили сегменты, а затем ко второму и третьему портам Arduino микросхему-драйвер. Получилось!

sheme-arduino-rogkov

Теперь осталось найти контакт, чтобы соединить микросхемы вместе (если подключить неправильно, то на обоих индикаторах будут выскакивать одинаковые цифры, а нам этого не надо). И снова получилось.

Прилагаю схему подключения, которая получилась в результате исследований моих учеников. Сегменты не забываем подключать через токоограничивающие резисторы (просто их нет на схеме).

arduino-beginners-rogkov

Да, самое забавное, когда уже разобрались, мне позвонили из Амперки сообщить, что готов новый заказ и сообщить так же, что за неимением CD4026 они будут заменены на все те же К176ИЕ4. А чтобы у нас не было проблем с подключением пришлют ссылку на схему. Вот ссылка.

Продолжение следует.

PS

В последней схеме подключения 7-сегментных индикаторов есть одна неточность, но автор намерено не стал заменять схему. Так как на следующий год ученики довольно быстро нашли ее и попытались  повторить точь-в-точь, но их ждало новое исследование — нужно было найти ошибку :)

Об авторе:

rojkovАндрей Рожков — учитель информатики в Центре образования «Технологии обучения» (Москва), модератор портала «Образовательная галактика Intel».

Источники: один, два, три. Оригинальный текст был опубликован 5 лет назад, в этой статье он незначительно изменен.

Share Button

Один комментарий к статье “Программирование микроконтроллеров для начинающих. Опыт внедрения в школьную программу”

  1. Андрей

    27.11.2016

    По похожим стопам пошел и я, интересно было почитать.

    Ответить на этот комментарий

Оставить комментарий

© 2014-2024 Занимательная робототехника, Гагарина Д.А., Гагарин А.С., Гагарин А.А. All rights reserved / Все права защищены. Копирование и воспроизведение в любой форме запрещено. Политика конфиденциальности. Соглашение об обработке персональных данных.
Наверх