Робототехника с пеленок/Свет и звук
Вы уже наверняка познакомились со средой программирования Scratch. И попробовали создать в ней что-то интересное, узнали как работать со спрайтами, костюмами. Смогли реализовать условия, движение и возможно даже познакомились с переменными. . Скратчбоард.Лаборатория дарит вам такую возможность взаимодействовать с персонажами, управлять ситуацией или познавать окружающий мир. Это специальная плата, подключив которую к компьютеру вы получите доступ к внешним датчикам и устройствам управления (сенсорам в терминологии Scratch). Важные вещи: В базовой версии (возможности которой мы будем учиться реализоваться в последующих темах) плата дает доступ к следующим датчикам и органам управления (выделены красным): 1. Датчик звука (Звук) 2. Переменный резистор (Рычажок) 3. Датчик света (Свет) 4. Разъемы для дополнительных аналоговых датчиков (Сопротивление A и B) 5. Кнопка С помощью Рычажка и Кнопки вы можете управлять движением персонажей и событиями в Scratch. Датчики (внешние устройства получения информации) позволяют вам в реальном времени получать данные об уровне освещенности и громкости звука. К разъемам вы можете подключить дополнительные датчики и к примеру измерить проводимость материала, собрать простейший термометр или найти им какое-нибудь другое применение.
Если Кнопка и Движок являются устройствами ввода, то два других сенсора - Звук и Свет - являются настоящими датчиками состояния внешней среды. Используя их, вы сможете создавать программы, реагирующие на внешние условия и воздействия - уровень громкости/шума и освещенности. Преимущества Лаборатории СкретчДуино:
Имея оба устройства (Робоплатформу и Лабораторию), можно подключить их оба и заставить взаимодействовать между собой. К примеру, кнопками Лаборатории управлять движением Робоплатформы или, наоборот, если Робоплатформа находит препятствие датчиком касания или ИК-глазом, выводить сигналы на светодиоды или динамик Лаборатории. Вообще, Scratchduino вполне можно использовать в качестве цифровой лаборатории в младших классах (вместо более дорогих ЛабДиск, Архимед и подобных), особенно, если использовать дополнительные датчики и "крокодильчики". Да будет Свет! Свет (или датчик освещенности) отображает ее уровень в месте, где находится плата. Закройте его пальцем, и вы увидите, что его значение снизилось. Датчик может изменять свои параметры (как и другие датчики платы) от 0 до 100. Обычно стандартная освещенность составляет 45-50 единиц при дневном свете и 50-60 единиц при свете ламп искуственного освещения.
Давайте напишем программу, которая будет показыавать нам, день или ночь в настоящий момент. Для этого мы будем определять уровень освещенности и если он будет недостаточным, то будем считать что на дворе у нас ночь. Для полноты картины мы будем использовать два разных фона для Сцены - один для ночи, второй для дня. Щелкните на Сцене и откройте вкладку Фоны. Выберите в качестве дневного фона что-то посветлее и для ночи потемнее (импортируйте их). Затем определите уровень освещенности, при котором у нас будет "ночь". Закройте датчик света пальцем и посмотрите на значение (обычно оно располагается в районе 10-15). Теперь закройте сверху плату чем нибудь светонепропускаемым (например тетрадкой). Это будет примерно соответствовать ночному состоянию, так как в городе не бывает 100% темно. У вас получится значение порядка 27-30. Это и будет порог срабатывания для определения ночного времени. Задайте для Сцены следующий код: Алгоритм работы прост - если значение датчика освещения меньше порогового (30), то показать ночной фон. Иначе дневной. Запустите программу и попробуйте закрывать датчик света. Задание: Теперь давайте создадим модель прибора, которая будет показывать нам уровень освещенности на специализированной шкале. Она будет выглядеть вот так: Как видите, у нас есть три столбика, которые появляются при определенном уровне света. Создайте три спрайта и задайте в каждом из них вот такой код (он будет различаться только цифрами): Задайте для первого спрата значение > 10, для второго > 30, для третьего > 50. Задание: Задание: Светомузыка Как и в случае с Рычажком, с помощью датчика света можно не только измерять его величину, но и управлять различными программными вещами. К примеру вы можете построить световой терменовокс. Важные вещи:
В нашем случае частота звука (то есть нота) будет изменяться при изменении уровня освещенности от закрывания датчика света рукой. Используем код из примера с Рычажком, только заменим сенсор: Принцип действия следующий. Датчик света отслеживает уровень затемнений, который вносит рука, и мы используем это значение как тон, преобразовав его по формуле для попадания в значение нот от 40 до 80. Задание: Звуковой сенсор Звуковой сенсор как и световой сенсор, он относится к аналоговым, но его реакция на звук проявляется по другому. Представьте себе натянутую струну. Чем дальше вы ее оттянете, тем больше будут ее колебания. Звуковой сенсор действует аналогично - чем больше уровень воспринимаемого шума, тем больше его отклонения. То есть при улавливании шума он начинает выдавать значения в плюс. Проиллюстрируем это простой программой: Запустите программу и поднесите плату к источнику громкого шума (или просто покричите или похлопайте. Персонаж передвигаясь оставит за собой диаграмму уровня звука с течением времени. Надо помнить что после достижения максимума регистрируемой амплитуды, звуковой сенсор сбрасывается до нуля, поэтому использовать надо уровень, которого достигает шум. К примеру соберем охранную сигнализацию, реагирующую на звук. При появлении каких нибудь сильных звуков в радиусе чувствительности сенсора у нас будет лаять собака. Выставленный порог срабатывания будет отсеивать ложные срабатывания: Задание:
http://wiki.scratchduino.ru/wiki/%D0%A0%D0%BE%D0%B1%D0%BE%D1%82%D0%BE%D1%82%D0%B5%D1%85%D0%BD%D0%B8%D0%BA%D0%B0_%D1%81_%D0%BF%D0%B5%D0%BB%D0%B5%D0%BD%D0%BE%D0%BA/%D0%A1%D0%B2%D0%B5%D1%82_%D0%B8_%D0%B7%D0%B2%D1%83%D0%BA
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|