Сегодня прошло первое занятие межфакультетской летней школы по знакомству с микроконтроллерами и основам робототехники - успешный переход на следующий этап внедрения и популяризации актуальных микроэлектронных технологий в образовательном процессе в НГТУ им Алексеева можно зафиксировать.
Основной ценностью для нас в данном событии конечно являются даже не столько сами технологии программирования контроллеров (хотя это конечно основа процесса, но сама по себе эта область в отличии от того же Верилога относительно попсовая), а тот факт, что в школе одновременно принимают участие студенты с разных факультетов технического университета - на занятии присутствовали студенты группы Прикладная Математика института радиоэлектроники, студенты из института автомобилестроения и студенты машиностроительного института.
Очевидно, что объединение специалистов из таких разных областей технических наук - это единственный способ достичь заметных успехов в области мехатроники - в общем, это явным образом следует из ее природы и определения:
Для мехатроники характерно стремление к полной интеграции механики, электрических машин, силовой электроники, микропроцессорной техники и программного обеспечения.
Но насколько мне известно, практика сбора студентов разных специальностей внутри одной команды не очень распространена в современном образовательном процессе, т.к. подобные попытки сходу упираются в множество технических и организационных сложностей, которые на голом интересе одного человека можно и не решить.
В первую очередь это конечно необходимость наличия нужных специальностей (помимо витающих в облаках программистов и чуть более близких к земле электронщиков, нужны совсем близкие к окружающей действительности машиностроители и автомобилисты) в зоне доступности - идеально в стенах университета.
Еще в другую первую очередь это конечно формальные рамки учебного процесса, который никаким образом не связан на параллельных факультетах.
Еще более важно - это необходимость одновременной инициативы и внутренней мотивации отдельных преподавателей с каждого из задействованных факультетов, которые должны иметь возможность решать организационные вопросы и предоставлять необходимую техническую экспертизу каждый в своем направлении.
Синхронная поддержка (как минимум в виде одобрения) подобных инициатив со стороны руководства каждого из факультетов.
И еще совсем важно - необходимость наличия центральной площадки, в рамках которой все эти инициативы могут вместе встретиться и внутри которой их можно эффективно координировать.
К счастью, именно такая благоприятная ситуация сложилась у нас в НГТУ - после получения первых результатов учебного курса "
цифровая микроэлектроника для математиков и программистов" (при технологической и информационной поддержке Юрия Панчула
panchul, Сергея Вакуленко
ramlamyammambam и Юрия Аммосова
ammosov) у студентов группы Прикладная Математика, мы смогли познакомиться с преподавателями машиностроительного и автомобильного институтов Людмилой Шаровой и Антоном Тумасовым соответственно, которые каждый со своей стороны уже довольно давно и успешно двигались в направлении мехатроники, поэтому они были рады объединить с нами усилия в рамках учебного процесса на площадке бизнес-инкубатора НГТУ, директором и инициатором которого является мой коллега и одногруппник Алексей Ермолаев, который также полностью координирует весь процесс с организационной точки зрения и делает возможным подобные знакомства и взаимодействие преподавателей и студентов разных факультетов и университетов.
Ну и отдельно важным нюансом для прошедшего занятия является то, что летняя школа на данный момент для студентов является необязательным мероприятием и все пришедшие студенты появились в свое свободное время по своей доброй воле - по этому поводу еще утром перед занятием у меня были довольно серьезные волнения, которые прошли только после того, как в аудитории был набран кворум в виде нескольких представителей каждого из институтов.
По программе школы план примерно следующий.
В качестве центральной технической составляющей выбрана плата ChipKIT Uno32, тк. во-первых, достаточный набор этих плат нам уже прислал Юрий Панчул от своего имени и от имени MIPS Technologies изначально для нашего курса "
цифровая микроэлектроника для математиков и программистов". Во-вторых, их возможностей вполне достаточно для поставленных задач.
Кроме того, плата ChipKIT Uno32 обладает интересной особенностью (правда не знаю, возможно тоже самое справедливо и для обычных плат Arduino, основанных на ARM) - она совместима с платформой Arduino и на ней можно легко запускать простые программы из среды mpide, но помимо этого она также легко позволяет работать с более продвинутыми вещами типа
программирования на ассемблере MIPS и голом (без вспомогательных библиотек из комплекта Arduino) C/C++, а также из проприетарной, но мягко говоря более функциональной, чем окно mpide, среды MPLAB.
На первом занятии студенты традиционно ознакомились с
мигающей лампочкой (только на этот раз вместо ПЛИС и Верилога ей мигала простая программа на С++, запущенная из среды Arduino для PIC32 на контроллере), беспаячными макетными платами, самостоятельно написали драйвер полюбившегося всем
семисегментного диодного дисплея, а также освоили совершенно новый потрясающий способ ввода данных в компьютер - рычажковый (Нажимаешь один рычажок - вводится единичка. Нажимаешь другой - вводится двоечка нолик).
Далее в краткосрочной перспективе к стейт-машинам, управлением внешними движущими устройствами (моторчики и шаговые двигатели), работа с датчиками и в сумме всего этого - простые роботы (как самый простой вариант можно оживить Цифровых Микроэлектронных Биороботов на Верилоге теперь при помощи С++ и контроллера). Еще далее можно будет смотреть по обстоятельствам - свободный расслабленный формат летней школы дает очень приятное обстоятельство - можно не оглядываться на жесткие рамки учебного плана и учебного расписания, а легко экспериментировать исходя из сложившейся обстановки - я надеюсь, что автомибилисты и машиностроители влившись в процесс смогут предложить интересные темы и направления работы, о которых я сам как рядовой Ява-программист сейчас не догадываюсь.
Кстати, из любопытных наблюдений уже успел обратить внимание, что автомобилисты и машиностроители например воспринимают датчики как некую отдельную сущность, что конечно де-факто так и есть, но в том плане, что для меня как опять же рядового Java-программиста, в принципе не так важно, откуда поступают внешние данные на обработку внутреннему программному алгоритму - главное знать их структуру и логику поступления - ну т.е. элементарно ввод сигнала HIGH с кнопки или того же сигнала HIGH от датчика магнитного поля - все едино, а для них две такие системы (пусть даже вся логика прописана абстрактным универсальным алгоритмом в контроллере) - две абсолютно разные сущности. Мышление на разных уровнях абстракции, и у каждого свои плюсы - с одной стороны универсальность и переносимость, с другой - применимость к текущим реальным задачам.
В общем, даже первое элементарное, но совместное занятие уже послужило очень хорошей основой и базой для запланированного на осень межфакультетского практического курса по робототехнике, который в отличие от летней школы, будет включен в учебный план и ни один студент от него просто так не отвертится.