пятница, 27 мая 2016 г.

1.6. Встречаем Arduino

Урок: 1.6. Встречаем Arduino

Транскрибация урока: Что же такое Arduino? Это вот такие платы, которые можно запрограммировать на взаимодействие с любыми электронными устройствами. Теперь на картинке я вам покажу части платы, которые вас будут интересовать. Ну во-первых, чтобы вы знали, вот это является мозгом вашего устройства. Это микроконтроллер. Затем нас интересуют вот эти так называемые колодки, расположенные по бокам. Это – порты, к которым вы подключаете все ваши компоненты. Также их называют «пинами», «выводами», «контактами». Это все синонимы. Некоторые из них могут служить как входами, так и выходами. Затем вас будет интересовать USB-порт. С помощью него плата подключается к компьютеру, и вы можете загружать в нее программу или обмениваться с компьютером данными, или даже давать вашему устройству небольшое питание. Ну об этом мы поговорим еще позже. Также вы можете питание подвести через специальный разъем, куда можно подключить батарейный отсек. Вот эта кнопка называется reset. С помощью нее вы можете перезапустить контроллер, то есть начать программу заново. А еще нас могут интересовать светодиоды, уже расположенные на плате. Один из них вы можете программировать, не подключая ничего к плате. А другие два являются индикаторами обмена данных с компьютером. Например, вы можете видеть, что сейчас загружается программа, и скоро она будет в плате. На самом деле, Arduino — это целое семейство плат. Они отличаются друг от друга габаритами, количеством портов ввода-вывода, мощностью контроллера или уже даже процессора, и какими-то другими параметрами. Кроме этого, нужно отметить, что Arduino является открытой платформой, то есть на сайте производителя вы можете найти все ее схемы, и при желании даже изготовить свою Arduino. Единственное, вам придется выдумать для нее какое-то другое название, потому что авторы не разрешают клоны называть таким же именем. Мы в ходе нашего курса будем пользоваться Arduino Uno и платой Iskra Neo, которую сделала компания «Амперка». Это отечественный аналог Arduino Leonardo, сделанный по всем правилам, с соблюдением лицензионных требований, и более интересный с точки зрения стоимости. Кстати, на сайте «Амперки» появилась отличная сравнительная таблица, глядя на которую вы можете понять, чем платы отличаются друг от друга, и выбрать ту, которая в вашем проекте будет наиболее подходящей, изучить ее на досуге. А теперь давайте переделаем нашу модель светофора таким образом, чтобы ею уже управлял не человек, а контроллер. На самом деле, подключение светофора к Arduino будет еще проще, чем я рассказывал раньше. Мы можем сейчас обойтись без транзисторов, которые якобы нажимают на кнопки. Мы подключим каждый светодиод прямо к выводу Arduino, потому что ток, который может позволить Arduino на своем пине, достаточен для того, чтобы светодиод зажегся. Я уже избавился от кнопок и подключил каждый индикатор к своему контакту Arduino. Посмотрите еще раз. Мы видим нумерацию у пинов и это важно, потому что мы будем включать и выключать каждый из светодиодов из программы, и контроллеру нужно знать, на какой своей ножке нужно изменить напряжение. Также очень важно, что линия минус, которая раньше у нас была соединена с источником питания, теперь соединена вот этим черным проводом с пином GND (от слова ground, или «земля»). В нашем контексте это эквивалентно «минусу». Теперь давайте проследим, как будет течь ток по данной цепи. Когда программа даст контроллеру указание включить пин № 8 (тот, к которому подключен оранжевый провод), вот этот вот участок цепи, проходящий через резистор, красный светодиод и рельсу «минус», через черный провод снова замкнется с платой контроллера. Цепь будет работать. Аналогичная история будет с желтым проводом, подключенным к десятому пину, и белым проводом, подключенным к двенадцатому пину. У нас есть три отдельных участка цепи, каждым из которых мы можем управлять с помощью контроллера и не забывать возвращать ток в вывод «земля».

Часть: Видео

Модуль: Один старый и много новых знакомых

Описание модуля: Добро пожаловать! На этой неделе вас ждет введение в курс (обязательно ознакомьтесь с ним), а затем начало работы: знакомство с Arduino, средой разработки и первыми компонентами. Вы научитесь собирать схемы на макетке, напишете первую программу и получите первое готовое устройство. Не забывайте про важнейший раздел "Сделайте сами"!

Курс: Строим роботов и другие устройства на Arduino. От светофора до 3D-принтера

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

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

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

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

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

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

Программа:
  • Неделя 1 Один старый и много новых знакомых
  • Неделя 2 Контроллер изучает мир
  • Неделя 3 Цель обнаружена
  • Неделя 4 Как полить цветок из другого города
  • Неделя 5 Мобильный робот
  • Неделя 6 Как создать новый предмет за час
Преподаватель: Алексей Перепелкин (1), Дмитрий Савицкий (2)

Описание преподавателя: (1) Алексей Перепёлкин занимается развитием робототехники на базе ЛИОТ МФТИ. В 2012 году открыл для себя новое захватывающее чувство – когда устройство, которое сам построил и запрограммировал, работает. Свернул с финансовой дорожки и создал кружок робототехники для подростков. Готовил их к соревнованиям. Стал посещать конференции, а затем проводил мастер-классы для тех, кто тоже хочет организовать занятия. Совместно с коллегами в 2013 году разработал новые соревнования – Робопрофи – для конкурса Робот для жизни и провел их. В 2014 году впервые провел Arduino-номинацию на фестивале Робофест, а для российского финала Russian Robot Olympiad 2014 сделал творческую категорию. С тех пор эти соревнования стали регулярными. Летом 2014 провел двухнедельную мастерскую в детском лагере Никола-Ленивца, а затем преподавал в выездной школе, посвященной программированию и робототехнике, которую провели ABBYY и Яндекс. В 2015 году стал руководителем направления робототехники в GoTo Camp, выездных школах, где участники создали десятки проектов, от прототипов умных домов и операторских тележек до робота-бубниста и принтера для незрячих. В 2014 году с коллегами начал проект Роболабы: мероприятия для школьников и студентов, где участники параллельно решают усложненные задачи, а затем проводят рефлексию сделанной работы и оценивают чужие в ходе серии мероприятий.

(2) Физик, научный сотрудник, выпускник МФТИ. Запустил кружок робототехники в 2011 году. Рассказал Алексею Перепелкину о том, как здорово вести кружок робототехники. Рассказал об этом еще целому ряду людей. Побеждал со своими командами на соревнованиях. Проводил проектную работу с участниками исследовательской выездной школы МКШ с 2013 года, где руководил реализацией физических и робототехнических проектов, например, «Вслед за солнцем», в котором изучалась эффективность динамической ориентации солнечных батарей на солнце. Вместе с коллегами разрабатывал и был судьей Робопрофи. Участвовал в подготовке проекта Роболабы. Вновь пришел в МФТИ для проведения факультативного курса «Основы создания киберфизических устройств»

Организатор: Лаборатория инновационных образовательных технологий МФТИ (1), Лаборатория инновационных образовательных технологий МФТИ (2)

Описание организатора: (2) Московский физико-технический институт (неофициально известный как МФТИ или Физтех) является одним из самых престижных в мире учебных и научно-исследовательских институтов. Он готовит высококвалифицированных специалистов в области теоретической и прикладной физики, прикладной математики, информатики, биотехнологии и смежных дисциплин. Физтех был основан в 1951 году Нобелевской премии лауреатами Петром Капицей, Николаем Семеновым, Левом Ландау и Сергеем Христиановичем. Основой образования в МФТИ является уникальная «система Физтеха»: кропотливое воспитание и отбор самых талантливых абитуриентов, фундаментальное образование высшего класса и раннее вовлечение студентов в реальную научно-исследовательскую работу. Среди выпускников МФТИ есть Нобелевские лауреаты, основатели всемирно известных компаний, известные космонавты, изобретатели, инженеры.

Категория: Компьютерные науки

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

Тематика: Разработка ПО

Материал: