понедельник, 20 июня 2016 г.

3.2. Инфракрасный дальномер

Урок: 3.2. Инфракрасный дальномер

Транскрибация урока: Для начала разберемся, как мы можем измерить расстояние. Воспользуемся для этого инфракрасным дальномером. Как он работает? У него есть излучатель, который может отправлять инфракрасный свет. Мы его глазом. соответственно, не видим. Но сам датчик своими приемниками его видит, а приемников у него целая линейка. Они спрятаны за линзой. В зависимости от расстояния до препятствия свет будет отражаться под разным углом. И в зависимости от того, как он упадет на приемники, датчик выдаст разный уровень напряжения. То есть, как вы уже догадались, это обычный аналоговый датчик. Сейчас мы его будем подключать и увидим, что считывать с него сигнал мы уже умеем. У дальномера есть вот такой тройной шлейф, поэтому нам снова будет удобно подключить его к Troyka шилду. Но я еще раз хочу обратить ваше внимание на то, чтобы вы каждый раз убеждались в том, что распиновка соблюдается. Распиновка – то есть назначение каждого из выводов. На модулях, которые мы использовали в прошлый раз, явно подписано, какой контакт за что отвечает. Там были буквы g, v, s. Здесь же на дальномере мы ничего такого не видим, поэтому лучше не полениться и поискать от него документацию, как мы делали раньше. Здесь мы видим, что со стороны дальномера провода промаркированы соответственно: синий отвечает за сигнал, черный – за землю, красный – за питание. А вот с другой стороны эти цвета не совпадают. Как мы видим, синий приходит в сигнальный контакт, а красный и черный поменяны местами. В данном случае ничего страшного нет. Если у вас нет подходящего шлейфа, вы можете его переключить своими руками. Вот здесь есть такие вот пластмассовые зажимчики, которые можно аккуратно отогнуть маленькой отверткой или какой-нибудь иголочкой. Теперь у нас черный провод (земля) с краю, а красный (питание) в центре. И мы можем без опаски подключать дальномер к аналоговым входам на Troyka шилде. Я подключу к A0, и теперь пойдем читать его. Начиная с этого момента, в курсе я буду использовать другую плату Arduino. Точнее, она называется даже не Arduino, но она ее аналог. Это наш российский аналог Arduino Leonardo, который называется Iskra Neo. Мне он по многим причинам нравится больше. Вы вскоре узнаете о некоторых возможностях этих плат, в которых Iskra Neo дает чуть даже больше, чем Arduino Uno. Внешних отличий вы практически не найдете за исключением того, что здесь используется микро USB-разъем. Колодка у нее точно такая же, то есть на нее отлично встают все те же платы расширения, и мы установим Тройку шилд на Искру для того, чтобы приступить к чтению дальномера. Снова пойдем в Образцы. Найдем там наш любимый образец AnalogReadSerial и изменим скорость передачи данных на 115200 бод. Также убедимся, что у нас дальномер подключен к пину, который здесь указан – A0, и загрузим этот скетч. Хочу обратить ваше внимание на то, что теперь я работаю с Искрой, которая в оригинале – Arduino Leonardo, и поэтому в инструментах мне нужно убедиться, что у меня выбрана плата Arduino Leonardo. Если вы работаете с разными платами, не забывайте проверять это. Кроме этого, еще одна особенность Leonardo – в отличие от Uno у нее (а также у Искры) нету второго контроллера, который занимается коммуникацией с компьютером. Поэтому когда вы подключаете Leonardo или Искру, в списке портов вы сначала увидите один порт, а через несколько секунд он изменится на другой. В этом нет ничего страшного. Просто нужно привыкнуть, что нужно несколько секунд терпения. Сейчас я посмотрю, какой порт у меня в конце концов установился здесь – COM15. Отправлю скетч загружаться, а сам запущу в Processing тот пример, с помощью которого я визуализирую данные с платы. Здесь у меня прописан COM15, и скорость передачи данных 115200. И я запускаю визуализатор. Сейчас наш дальномер направлен вверх, и он на самом деле не видит ничего, потому что у каждого датчика есть свои границы, в которых его можно использовать. Данный дальномер имеет диапазон измерений от 10 до 80 см, поэтому потолок, который находится гораздо выше, для него незаметен. Я буду изменять расстояние до него рукой. И мы видим, что когда я начинаю приближать руку ближе чем 10 см, у нас показания снова начинают падать. Это уже не является его рабочей областью. Вот. А рабочий диапазон позволяет получить данные вот в таком диапазоне. Хочу обратить ваше внимание на то, что зависимость напряжения, которое выдает инфракрасный аналоговый дальномер от расстояния, не совсем линейна. Обратите внимание на график, и если вы захотите преобразовать то, что показывает дальномер в какие-то метрические единицы, вам придется использовать довольно хитрую формулу. Ну сейчас для нас это не так важно, мы поняли, что мы получаем различное напряжение в зависимости от дальности до препятствия. Теперь я хочу сделать так, чтобы расстояние до объекта отображалось а каком-то индикаторе, то есть уже не на экране компьютера. Для этого мы возьмем самый обычный светодиод, который будем включать более ярко или менее ярко.

Часть: Видео

Модуль: Цель обнаружена

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

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

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

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

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

Материал: