В статье кратко описывается методика обучения аппаратному моделированию, основанная на тинкеринге.
Ключевые слова:микроконтроллер, аппаратное моделирование, обучение, микропроцессор, тинкеринг, Arduino, Freeduino, Processing.
Иногда обучение в школе проходит таким образом, что представляет собой уроки, на которых в больших объемах изучается теория без демонстрации применения полученных знаний на практике. Но чаще, все же, переход к практике осуществляется после изучения теории. Можно построить обучение иначе, начав с практических действий. Например, известным является факт, когда дети, чтобы разобраться в устройстве каких-то сложных конструкций, пытаются их разобрать. Также они проявляют значительный интерес, собирая различные поделки из деталей конструкторов. М. Банци предлагает использовать в обучении будущих инженеров тинкеринг (в буквальном переводе на русский — лужение) [1, с. 10]. Так иногда называют процесс создания чего-либо, без понимания того, как это можно сделать, под влиянием внезапного порыва, игры воображения и любопытства. Это предполагает произвольное комбинирование, стыковку деталей без каких-либо инструкций и разгадывание принципов работы различных устройств.
Именно на таких принципах можно построить раннюю стадию изучения микропроцессорных устройств и их программирования. В настоящее время широкое распространение среди радиолюбителей получила аппаратная платформа Arduino, которая содержит простой интерфейс ввода-вывода и поддерживает среду программирования, реализующую язык Processing. Такая платформа может служить основой для разработки устройств, работающих под управлением программного обеспечения, установленного на соединенном с этим устройством компьютере. Соединение, чаще всего, осуществляется посредством USB-интерфейса. Открытыми являются как архитектура самой платформы, так и программное обеспечение, способное работать в операционных системах Windows, Mac OS и Linux.
Важной частью в методике обучения аппаратному моделированию, которым должен владеть современный инженер, является обучение интерактивному проектированию. Оно представляет собой процесс создания ряда прототипов с постоянно возрастающей степенью приближения к задуманной модели. Аппаратное моделирование применяется для создания прототипов устройств. В нашем случае это электронные устройства на базе микроконтроллеров. Как правило, они представляют собой интерактивные устройства, то есть такие, которые предполагают взаимодействие с людьми. Взаимодействие осуществляется с помощью различных датчиков и механизмов, управляемых микропроцессором. Все это работает согласно написанной создателем устройства компьютерной программе.
Рис. 1. Плата Freeduino c USB-кабелем
Создание платформ, подобных Arduino, позволило сделать аппаратное моделирование доступным даже школьникам, так как этот процесс стал простым и понятным даже тем, кто не владеет языками программирования высокого уровня.
В своей практике мы используем платы Freeduino, которые функционально соответствуют плате Arduino (рис. 1) [2, с. 26]. Для размещения дополнительных компонентов устройств мы используем платы расширения и макетные платы (рис. 2). Среда программирования для различных плат, аналогов Arduino, имеет внешний вид, представленный на рис. 3. Используемый в ней язык программирования Processing, о котором уже было сказано ранее, представляет собой простой подъязык известного языка программирования C. Считается, что он специально разработан для пользователей, не являющихся профессиональными программистами.
Рис. 2. Макетная плата и соединительные проводники
Фактически основной идеей тинкеринга является игра в технологию. Иногда эта игра даже не имеет цели, зато всегда имеет какой-то результат (пусть даже и отрицательный). В процессе такой игры учащиеся могут использовать старые электронные (а иногда и не электронные) игрушки, предметы быта и т. п. Важным является то, что использование среды программирования, которую используют учащиеся в моделировании, позволяет им узнать о новых способах программирования. Эти способы предполагают применение инструментов визуализации функций в виде боксов, из которых программист конструирует модули программы, соединяя их в различные комбинации. Это является своеобразным программным экспериментированием (или экспериментальным программированием), что, как правило, нехарактерно для традиционного программирования.
Рис. 3. Среда программирования
Литература:
1. Банци М. Arduino для начинающих волшебников / М. Банци. — М.: Рид Групп, 2012. — 128 с.
2. Соммер У. Программирование микроконтроллерных плат Arduino/Freeduino / У. Соммер. — СПб.: БХВ-Петербург, 2012. — 256 с.