Школьным кружкам робототехники на заметку

Январь 2016г.

Вместо эпиграфа:

Мнение министра образования: разработчики технологий России не нужны
Политическая партия "Справедливая Россия",
июль 2016г.

Для справки: в августе 2016 года
министр образования РФ сменился.

1. Веяние моды или всё серьезно?

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

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

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

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

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

2. Паять или не паять - вот в чем вопрос

С давних пор, еще во времена СССР, среди школьников пропагандировалось радиолюбительство. В крупных населенных пунктах, а иногда и не очень крупных, создавались радиокружки. На границе исторических эпох это движение стало заметно терять обороты, но полностью оно не исчезало никогда. Теперь мы наблюдаем бурный расцвет школьной робототехники. Было бы вполне логичным видеть это, как развитие старых добрых радиокружков, как их переход на более современную элементную базу, новые технологии. Такой вариант представляется идеальным, но в реальности все сложнее. Очень часто кружок робототехники представляет собой что-то вроде отдельной прикладной области, где даже вовсе не обязательно паять электронные схемы. Причин тому много, но речь пока не о причинах. Прежде всего, необходимо обозначить ориентир, к которому следует стремиться.

Складывается впечатление, что кружки робототехники возникают в "вакууме": с нуля разрабатываются методические материалы, просчитывается оснащение и технологическая база. Но куда же делся бесценный опыт радиокружков, куда делись их опытные руководители? Тех самых кружков, где можно было из "воздуха" сотворить "нечто"! Мировоззрение старых радиокружков более свободно: наборы и конструкторы тоже использовались, но никогда не были главным направлением в работе кружка. Использование готовых наборов, конечно, ускоряет получение результата, позволяет меньше вкладывать усилий в разработку, но и сужает свободу творчества, задает рамки. Наборы - это хорошо, но плохо, когда только наборы.

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

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

3. Максимальный эффект при минимальных затратах

Позволю себе немножко рекламы. Кто категорически против - переходите сразу к пункту 4 "Детская робототехника в СССР". Там очень интересно. Впрочем, здесь тоже интересно, да еще и полезно.

Принято считать, что все хорошее требует больших денежных затрат. И, чем это хорошее лучше, тем выше расходы. На самом деле такая формула работает не всегда. Бывает, что и при мощном финансировании получается весьма скромный результат. Но иногда наоборот - можно получить эффективное решение при минимальных затратах. В качестве примера недорогих и эффективных решений можно привести программу "Перпетуум М". Имея скромную цену, она предоставляет широкие возможности для творчества. Функционально программа состоит из двух основных частей: алгоритма распознавания речи и интерпретатора языка скриптов (сценариев). Распознавание речи выполняется по собственной технологии локально (независимо от интернета).

Что дает кружку такая программа? Прежде всего, она позволяет без особых усилий создать систему, исполняющую голосовые команды. Согласитесь, в глазах любого ребенка его конструкция оживает и становится гораздо умнее, если она понимает устные команды. А это хороший стимул для дальнейшего творчества. Функциональность программы "заточена", в основном, на распознавание отдельных команд из словаря, состав которого может динамически (программно) меняться в процессе исполнения алгоритма-сценария встроенным интерпретатором. Сценарий описывается в обычном текстовом редакторе при помощи незамысловатого языка. Возможности языка, реализованного в "Перпетуум М", достаточно обширны даже для создания совсем "недетских" программ, а его синтаксис во многом похож на знаменитый Паскаль. В то же время изучение данного языка на порядок проще Паскаля, что объясняется целым рядом особенностей. Например, все типы данных сведены к одному - строке символов. Это очень удобно для программиста, особенно начинающего. К тому же не требуется описывать переменные до их использования. Такие качества - уже сильный аргумент к использованию данной программы в деятельности кружка и в образовании вообще.

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

Еще одно ценное свойство программы состоит в возможности управления внешними устройствами (теми же роботами, например) через COM-порт. Сразу отметим, что наличие COM-порта на ноутбуке или системном блоке не требуется. Распространенное мнение о том, что COM-порты устарели, является ошибочным. Они не устарели, а, скорее, видоизменились. Дело в том, что на смену обычным COM-портам пришли их функциональные аналоги, реализуемые при помощи USB. Сейчас в продаже можно встретить большое количество разновидностей переходников USB-RS232TTL, которые поддерживают все функции COM-порта, но имеют отличие в том, что входы и выходы такого порта работают с логическими уровнями ТТЛ (0...5в). Это отличие трудно назвать недостатком. Более того: это очень хорошо, ведь для электронных самоделок уровни ТТЛ - как раз то, что нужно. Большинство микросхем можно подключать напрямую к входам и выходам такого COM-порта без преобразования уровней. Еще один плюс: используя USB-хаб можно к одному порту USB подключить сразу несколько COM-портов. Стоимость конвертеров USB-RS232TTL в китайских интернет-магазинах более чем скромная. Там же, кстати, по скромной цене можно найти и нужные микросхемы для кружка (или готовые платы, если паять никто не захочет). В общем, слухи о том, что с приходом порта USB COM-порты ушли в историю, несколько преувеличены. Я бы даже сказал, что с распространением USB COM-порты стали еще более доступными и более удобными для технического творчества.

Программа "Перпетуум М" не требует установки. Ее достаточно лишь скачать (архив RAR 6 Мб) и распаковать в новую папку. На странице программы имеются готовые сценарии, доступные для скачивания, с помощью которых можно оценить возможности "Перпетуум М".

Схема для увеличения разрядности порта
Рис.1. Способ увеличения разрядности порта.

Многие не знают, что COM-порт можно использовать не только традиционным способом, когда данные последовательно передаются по линиям TXD и RXD с синхронизацией стартовыми и стоповыми битами, но и подобно параллельному порту. Во втором случае имеется возможность произвольно выставлять логические уровни на выходах COM-порта, а также опрашивать уровни на его входах. Программа "Перпетуум М" позволяет управлять всеми тремя выходами и опрашивать состояния четырех входов. Самого простого, но очень умного робота кружковцы могут собрать благодаря этому даже без наборов-конструкторов с микроконтроллерами. Достаточно подключить датчики к входам COM-порта, а к выходам подсоединить транзисторные ключи, которые, в свою очередь, будут коммутировать сервомашинки и двигатели. Эту идею можно рекомендовать не только в качестве начального, самого низкозатратного этапа в работе кружка, но и в любых других случаях, когда можно обойтись без микроконтроллера на борту робота. Если же трех логических сигналов для управления конструкцией окажется недостаточно, проблема легко решается добавлением одного лишь сдвигового регистра 74595, на выходах которого в результате последовательной загрузки будет уже 8 сигналов для управления. Добавив еще один сдвиговый регистр, получим уже 16 сигналов, и так далее. Аналогично можно поступить и с опросом датчиков - загружать любое количество бит данных посредством сдвигового регистра. Пример реализации этой идеи можно посмотреть в статье "Подключение и тестирование LCD 240RGBx320 c параллельным интерфейсом". На рисунке 1 показан фрагмент схемы из той статьи, поясняющий способ подключения сдвиговых регистров. Здесь входы, обозначенные как DTR, RTS и TXD подключаются к одноименным выходам конвертера USB-RS232TTL. У микросхемы DD2 на этом рисунке видны только четыре выхода. На самом деле использовать можно все восемь. Аналогичным способом можно подключить третий сдвиговый регистр, четвертый, и так далее. При этом лишь удлинится время загрузки регистров, но даже с десятью регистрами загрузка будет достаточно быстрой, чтобы при управлении роботом не было видимых задержек. Алгоритм загрузки регистров можно за несколько минут набросать на языке сценариев "Перпетуум М". Заметьте: даже без микроконтроллеров и дорогих готовых плат можно построить умного робота при помощи программы "Перпетуум М".

Конечно, использование микроконтроллеров на борту робота делает его более самостоятельным и автономным. Но и в этом случае может потребоваться подключить его к компьютеру, например, для настройки. Тогда обмен данными проще всего организовать тоже при помощи программы "Перпетуум М" и COM-порта. И еще одна возможность, о которой стоит сказать - это программирование микроконтроллеров с помощью программы "Перпетуум М" через COM-порт. Описание этого метода читайте в статье "Как прошить микроконтроллер ATtiny или ATmega без программатора".

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

4. Детская робототехника в СССР

Не удивляйтесь - во времена СССР тоже была робототехника для детей школьного возраста. Разумеется, уровень технологий был несколько иным, но что было, то было! Доказательство представлено ниже на фото (рис. 2 и рис. 3). Этот модуль был предназначен для программного управления механизмами. В комплекте были еще пустые печатные платы и пригоршня электронных компонентов для сборки дополнительных блоков. Не стану подробно рассказывать о возможностях данной системы - в сегодняшних реалиях это вызовет если не смех, то снисходительную улыбку. Однако уже тогда многое было тщательно продумано: удобная клавиатура (которую и сейчас можно использовать) при необходимости без труда отделяется (отпиливается) от процессорной платы и располагается под нужным углом, либо вообще отдельно. Сделано было все полностью на отечественной элементной базе! И это в те времена, когда большинство телевизоров в стране были ламповыми! Подробности об этом конструкторе можно найти в журнале "Радио" N10 за 1990 год (стр.35).

Модуль из советского конструктора (вид со стороны клавиатуры)
Рис.2. Процессорная плата из советского конструктора (вид со стороны клавиатуры).
Модуль из советского конструктора (вид со стороны деталей)
Рис.3. Процессорная плата из советского конструктора (вид со стороны деталей).

Детская робототехника существовала в СССР даже тогда, когда микросхемы еще не были распространены. Свидетельство тому - книга Отряшенкова Ю.М. "Юный кибернетик" (Москва, издательство "Детская литература", 1978г.) Эту книгу без преувеличения можно отнести к Золотому Фонду отечественной детской технической литературы. В интернете где-то есть эта книга, оцифрованная с очень высоким качеством. Даже сегодня, несмотря на огромную разницу в элементной базе и схемотехнике, эту книгу можно рекомендовать детям, потому что в ней очень много нестареющих знаний, таких, например, как алгебра Буля, обратные связи, двоичное счисление и многое другое. К сожалению, сейчас таких книг уже не издают - не выгодно. Позволю себе процитировать первые два абзаца этой книги:

"О кибернетике каждый из вас немало слышал, а может быть, и читал. Сейчас всякий школьник знает, что такое электронная вычислительная машина, луноход и робот. Все это - кибернетические машины. Удивительное и кибернетика - рядом. Трудно даже поверить во все ее чудеса.
      Наверное, у каждого из вас таится мысль: а как бы поближе познакомиться с кибернетикой, как в школьном кружке или дома с товарищем построить ту или иную кибернетическую модель. Разве не интересно сконструировать своего кибернетического Тузика или небольшую электронную вычислительную машину? Найдутся и такие ребята, которых больше интересует «теория»: какой «алгеброй» пользуются вычислительные машины или как подсчитать количество информации в прочитанной книге?.."

Или вот еще абзац, написанный для детей как будто вчера, а не четыре десятка лет назад:

"И в живых организмах, и в машинах-автоматах есть чувствительные органы. Это уши, глаза — у человека, микрофоны и фотоэлементы — у машины. Они осуществляют связь с внешним миром. Как у тех, так и у других есть центр управления, определяющий порядок действий в соответствии с теми сведениями, которые получены извне. Как те, так и другие имеют исполнительные механизмы, выполняющие указания, выработанные в «центре»."

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

Огорчает широкое распространение жаргона, который часто выдается за общепринятую терминологию. Это началось в девяностые годы, когда толпы дилетантов и недоучек бросились осваивать бизнес по обслуживанию вычислительной техники, либо оказались продавцами в компьютерных магазинах. Чтобы в общении с клиентами замаскировать свою некомпетентность, они щедро сыпали вольным переводом англоязычных слов, либо просто коверкали иностранные слова. Это было "круто". Во всяком случае, на клиентов производило впечатление. Вообще было "круто" оплевывать отечественное и подражать всему американскому. Произошло засорение языка. А теперь, зайдя на один известный сайт, продающий детали и компоненты для образовательной робототехники, я обнаружил, что на нем без стеснения используется жаргон. Хотелось бы пояснить тем, кто не знает: разъемы на конце кабеля и на платах называются "вилка" и "розетка". Папа и мама - родители. Не трогайте святое, особенно, если работаете с детьми!

Ещё один пример неквалифицированного перевода с английского языка - это "материнская плата". Многие настолько привыкли к этому словосочетанию, что захотят мне возразить. Но следует знать, что в русском языке много лет существовало и существует по сей день понятие "системная плата". А материнская плата - это когда родители в разводе, отец воспитывает детей, а мать платит алименты. Не знаю, почему американцам нравится издеваться над родителями, называя ими разные технические предметы, но мы-то с вами разговариваем (пока ещё?) на русском языке. Зачем же нам так тупо копировать иностранный жаргон?

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

Оставлять сообщения и задавать вопросы можно в гостевой книге. Также можно писать на e-mail (адрес в программе "Перпетуум М").

Успехов в творчестве!