Предыстория

Arduino

ArduinoUnoFront

Всё началось пару лет назад с Arduino. Узнал в интернете про этот проект, и он меня заинтересовал. Группа энтузиастов решила взять за основу не сложный микроконтроллер, и разработать инфраструктуру, среду, чтобы программирование и работа с микроконтроллером была абсолютной простой, и доступной даже детям.

Они взяли за основу недорогой микроконтроллер, спроектировали схему, опубликовали её. Создали язык программирования, похожий по синтаксису на C, доступны библиотеки по работе с периферией, создали полноценную среду IDE для разработки и программирования, на разных платформах.

Я следил за этим проектом — появились разные «клоны» Arduino – выпускаемые другими производителями, но совместимые с оригинальное. Google проявил интерес к этой проекту, и были направления по интеграции Android с устройствами Arduino.

Google chooses Arduino as a development platform for Android (сентябрь 2011 года)

Android Open Accessory Development Kit (ADK) [ADK1, 2011 год]

В 2012 году Google перешли на ARM 32-bit Cortex M3:
Android Accessory Development Kit (ADK) for 2012

Квадрокоптеры

parallax-elev-8-quadcopter-uav-B

После Arduino я случайно увидел Квадрокоптеры, это тематика мне так показалась интересной. Люди самостоятельно проектировали, программировали, собирали, и запускали летающие рамы с пропеллерами (что и есть квадрокоптер). Радоуправляемые, с системой собственной стабилизации, камерами и т.п.

Пионером на этом рынке была компания OpenPilot – которая сделал первый CopterController плату, которая включала в себя весь функционал, и сенсоры, необходимые для управления квадрокоптером. При этом она была универсальная, что можно было программировать не только на 4 но и на любые другие конфигурации квадрокоптеров.

OpenPilot кроме платы предоставила и полную инфраструктуру для «наземной» разработки — эмуляция аппаратной части, тестирование систем стабилизации — полноценный IDE – и всё это бесплатно.

Мне казалось, что это направление будет активно развиваться.

RaspberryPi

raspberry_pi_model_b_rev2_13

И вот я узнал про проект RaspberryPi — это был очень интересный проект.

И не менее интересен был один из идейных вдохновителей проекта — Дэвид Брэбен, это один из авторов известной игры Elite, для тех кто знаком с ZX Spectrum – знают.

Игра была полностью революционной по тем временам (80е годы), она умещалась в 32 килобайта (тогда загрузка была с кассет), и это была 3D игра, от первого лица (FPV) – и игрок выступал в роли капитана космического корабля, который был свободным странником по вселенной. В игре было 8 галактик. На каждой доступны сотни звезд. Перемещения между звездами осуществлялось с помощью гиперпрыжков. Можно было торговать товарами. На вырученные деньги — оборудовать корабль, дополнительным вооружением, или другим оборудование (двигатели, радары и т. п.). Причем игрок сам выбирал свою стратегию развития — он либо мог честно и настойчиво зарабатывать торговлей официальными товарами, или нарушая закон, торговать запрещёнными (работорговля, наркотики, вооружение). Были элементы 3d шутеров — стычки с пиратами, или полицией. И при этом ещё в игру были встроены некоторые миссии.

 

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

Идея недорогого компьютера для детей пришла из 2006 года, когда Eben Upton с коллегами по университету проанализировали уровень компьютерных знаний, знаний по информационным технологиям, и по сравнению с 1990 годами, когда программирование было интересных хобби и увлечением, показатели 2000 года показали в основном лишь веб-технологии.

Для привлечения к программированию, было решено сделать мало-бюджетный компьютер в рамках $25, для привлечения внимания к программированию.

Был организован некоммерческий фонд, и Eben Upton взялся за проектирование и разработку микро-компьютера. Были несколько версий (прототип от 2006 года), но в конечном счете они оставили только главные компоненты — сетевой адаптер, выход на монитор, аналоговый выход на телевизор, аудио выход, USB, был добавлен графический акселератор, что позволяло воспроизводить 1080 Full HD видео, чипсет был специально спроектирован, и сделан для RaspberryPi (компания Broadcom). Память изначально была 256Mb, сейчас она доведена в стандарте до 512Mb. Был сделан вход для SD флэш карты, которая выступает в роли накопителя, и с которой микроконтроллер и загружается. Так же были сделаны выходы GPIO для подключения периферийный устройств.

RaspberryPi-Development_sm

Благодаря этим людям появился RaspberryPi, в руках у них 3 версии RaspberryPi.

В центре — Eben Upton — «отец» RaspberryPi — он полностью разработал чип, и всю плату, небольшое интервью с ним.

Старт продаж был 29 февраля 2012 года.
Производство было размещено в Китае.
Была заказана партия.
После старта продаж — ажиотаж был настолько большой, что интернет магазин на некоторое время вышел из строя, скорость продаж доходила до 300 шт/секунду.

Со временем было решено перенести производство в Англию на завод Sony.

На данный момент продано приблизительно миллион штук.

Я следил за эти проектом, и стали проявляться разные проект энтузиастов — кроме основной задачи популяризации информатики для школьников, многие уже взрослые люди — стали применять эти платы для автоматизации и портирования своих проектов с «больших компьютеров». Так были портированы мультимедиа проекты, были портированы дистрибутивы линукс. Даже Оракл не обошел внимание, и есть пример запуска JavaME на RaspberryPi.

Постепенно стала образовываться коммьюнити, появился журнал The MagPi – Уже 10 выпусков, бесплатный, на страница которого люди делятся своими проектами идеями.

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

Системы управления роботами, совмещенными с распознаванием образов, распознаванием звуков.

Идея Курса

Глядя на всё это — я понял, что к сожалению в наших классах, этого всего нет.
А это могло бы дать школьникам интерес к изучению, к творчеству.

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

Сейчас компьютер это обыденная реальность, и чем-то интересным он привлечь не может.

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

И мне кажется, что идею схемотехники, робототехники — можно так представить, что это будет интересно школьникам, что это будет их занимать, что это может составить конкуренцию «виртуальному миру».

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

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

Этими мыслями я делился с Александром Анатольевичем Давыдовым (это было в конце 2012 года), он был полностью согласен с тем что курс может быть полезен, и предлагал мне попробовать его сделать, но моих знаний радиотехники — было явно не достаточно.

Начало

И вот, в начале этого года я узнал, что мой старый знакомый — Олег Евсегнеев, кроме программирования на Python, в качестве хобби — занимается ещё и сборкой квадрокоптера, и вообще достаточно продвинут во всех вопросах микроконтроллеров и компонентов — его блог — http://www.poprobot.ru/ (Популярная робототехника).

Он неспешно заказывал детали, и собирал полностью самостоятельно панель управления полётом, и пульт дистанционного управления.

Я поделился с ним идеей по курсу для начинающих по радиотехнике, робототехнике. Ему эта идея понравилась, мы пришли к выводу, что рационально использовать RaspberryPi как базу для начала, и подключать к ней периферию и параллельно постепенно обучать.

Но остался вопрос организационный — о том кому это преподавать, где арендовать помещение, как искать учеников и т.п. И тут Олег сказал про Уральскую Компьютерную Школу (УКШ), что он переговорит — будет ли интересно эта тематика в рамках данного курса.

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

Вопрос оставался в формировании набора компонентов, и финансировании покупки (было решено начать с 10 комплектов)

Олег стал готовить список компонентов — искать по интернету.

Александр Анатольевич оплатил эти 10 комплектов для пилотного Курса.

Набор состоит из:

Базовой части

RaspberryPi, SD карта, HDMI-VGA адаптер.

Я предположил — что можно использовать инфраструктуру аудитории — мониторы, клавиатуру (USB) и мышку (USB) — и не включать это в комплекты, единственное монитор может не поддерживать HDMI, поэтому решили включить переходник на VGA.

Макетная плата — это плата чтобы можно было без пайки подключать компоненты к GPIO шине RaspberryPi

Сенсоры, периферия

Это набор разнообразных сенсоров, светодиоды, кнопки, потенцимоентр, и т.п.

Мобильная платформа

Движущиеся модели всегда интересны, Олег нашёл недорогую мобильную платформу — два серводвигателя и шаровое колесо — на этой платформе можно размещать RaspberryPi с сенсорами, с автономным источником питания, и программировать системы с обратной связью, например Line Follower.

Свой опыт по заказам и доставке — Олег опишет отдельно в постах.

Так же на данный момент было 1ое занятие от 7го марта — так же Олег сделает пост.

Курс Робокласс

понимание которое пришло уже постепенно

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

Хотелось бы чтобы курс был максимально практическим, где теоретическая часть была совмещена с лабораторными, практическими занятиями.

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

Было решено сделать набор датчиков, взаимодействие с которыми можно вынести в лабораторные.

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

Первоначально всю тематику разбил на следующие группы:

1. Базовый
Микрокомпьютер, работа с периферийными датчиками
Работа с Микрокомпьютером, подключение периферийных датчиков, изучение основ Python для работы с датчиками

2. Мобильная платформа
Микрокомпьютер, сервоприводы, датчики (передвижной робот)
автономный робот, с датчиками, и алгоритмами обратной связью.

3. Распознавание образов, звуков
Микрокомпьютер, (видеокамера, микрофон) + Система распознавания образов (OpenCV — Open Source Computer Vision), система распознавания звуков.
Для систем умный дом — распознавание образов и звуков — важный компонент

4. Arduino
Микрокомпьютер, Arduino (датчики)
Подключение Arduino — расширяет возможности базового Микрокомпьютера, за счёт использования простых микроконтроллеров, и языка программирования, поставляемого с Arduino, и бесплатной среды разработки IDE.

5. Интернет
Микрокомпьютер, Wi-Fi или модуль 3G модема
Доступ к Микрокомпьютеру, удалённо из интернета — настройка веб-сервера — что позволит заходить на МК, и управлять периферией (получать информацию) со смартфона.

6. Linux
На Микрокомпьютер — устанавливается бесплатные Linux дистрибутивы
Получение навыка работы с этой операционной системой (которая по причине своей стабильности, является дефакто для задач автоматизации)

7. 3D моделирование
Моделирование корпусов
Корпуса, базовые платформы, необходимы для любой системы. Приобретение навыка проектирования, и преобразования этих моделей в код управления станком. SketchUp (бесплатная программа для 3D моделирования)

8. Python
Более глубокий курс Python

Позднее я подумал над такими курсами:

10. 3д принтер
Теория и практика 3д принтеров
Проектирование, сборка, настройка

11. Квадрокоптер
Теория и практика квадрокоптеров
Проектирование, сборка, настройка

12. Умный дом
Отдельно можно акцентировать внимание, сюда могут входить кроме систем умного дома — охранные системы, энергосберегающие технологии.

1-12 марта 2013 год

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>