Урок по легоконструированию Воспроизведение звуков NXT

Раздел Информатика
Класс -
Тип Другие методич. материалы
Автор
Дата
Формат doc
Изображения Есть
For-Teacher.ru - все для учителя
Поделитесь с коллегами:

Воспроизведение звуков NXT

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

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

Урок по легоконструированию Воспроизведение звуков NXT

Иконки на изображении блока отражают следующее.

Показывает, что будет воспроизводиться - звуковой файл или отдельный тон.

Режим работы блока - начало воспроизведения или его остановка.

Громкость воспроизведения .

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

Настройка блока

Радио-кнопка Действие (Action) выбирает тип звука: звуковой файл (sound file) или тон определенной частоты (tone).

Выбирает режим работы: воспроизведение (Play) или остановка воспроизведения (Stop).

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

Воспроизведение звукового файла

Если вы выбрали воспроизведение файла, то у вас появляются дополнительные опции.

Циклическое воспроизведение файла. При выборе этой функции опция "ждать конца воспроизведения" становится недоступной.

Свойство файл (File) позволяет выбрать имя файла из имеющегося списка. Все звуковые файлы хранятся в папке "Sound Files" на жестком диске.

При установленном свойстве "Ожидание конца воспроизведения" управление следующему блоку передано не будет, пока не операция не будет выполнена. При сброшенном флажке свойства при переходе на следующий блок воспроизведение не останавливается. Исключение составляет цепочка из блоков Звук, в этом случае при воспроизведении нового звука воспроизведение предыдущего автоматически прекращается.

Урок по легоконструированию Воспроизведение звуков NXT

Воспроизведение тона

Свойство нота позволит выбрать соответсвующий тон. Вы можете воспользоваться маленькой (на три октавы) фортепьянной клавиатурой, обозначение ноты появится в соответствующем окошке. В окне Длительность (Duration) можно задать длительность ноты в десятых секунды.

Аналогично, установленный флажок "Ожидание конца воспроизведения" заставит блок ждать завершения операции.

Урок по легоконструированию Воспроизведение звуков NXT

Активация робота звуком

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

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

Урок по легоконструированию Воспроизведение звуков NXT

1. Создайте новый документ. Левой кнопкой мыши перетащите в рабочую зону иконку блока Движение.

Урок по легоконструированию Воспроизведение звуков NXT

2

Настройте блок, выбрав двигатели B и С, направление движения - вперед, уровень мощности 75%, длительность - неограничена.

Урок по легоконструированию Воспроизведение звуков NXT

3

Добавим к программе блок Жди для микрофона, подключенного ко 2-му порту.

Урок по легоконструированию Воспроизведение звуков NXT

4

Настройте блок: порт 2, пороговое значение 60, активация диапазоном БОЛЬШИМ порогового значения.

Урок по легоконструированию Воспроизведение звуков NXT

5

Последним блоком программы является снова блок Движение.

Урок по легоконструированию Воспроизведение звуков NXT

6

Настройте блок, выбрав двигатели B и С, направление движения - остановка. В конце операции должен будет включен тормоз.

Урок по легоконструированию Воспроизведение звуков NXT

Чем громче, тем быстрее

Теперь напишем Урок по легоконструированию Воспроизведение звуков NXTпрограмму, также управляющую роботом, измеряя интенсивность звука, но распознающую 4 уровня громкости:

0 - 20

20 -40

40 - 60

60 - 100

В зависимости от громкости звука меняется скорость робота.

Программа имеет следующий вид. Рассмотрим отдельные ее составляющие.

1

Создайте новый документ. Левой кнопкой мыши перетащите в рабочую зону блок Цикл.

Урок по легоконструированию Воспроизведение звуков NXT

2. Бесконечный цикл

Урок по легоконструированию Воспроизведение звуков NXT

3

Внутрь цикла поместите первый блок-переключатель, сконфигурированный на работу с датчиком звука.

Урок по легоконструированию Воспроизведение звуков NXT

4

Порог срабатывания для этого блока установим в 40.

Урок по легоконструированию Воспроизведение звуков NXT

5

Второй блок-переключатель будет выполняться при уровнях громкости >40 %.

Урок по легоконструированию Воспроизведение звуков NXT

6

Он, в свою очередь, настроен на порог в 60%.

Урок по легоконструированию Воспроизведение звуков NXT

7

Итак, при громкости >60% выполняет блок движение, ...

Урок по легоконструированию Воспроизведение звуков NXT

8

... подающий на оба мотора 60% максимальной мощности.

Урок по легоконструированию Воспроизведение звуков NXT

9

В диапазоне громкости 40-60% ...

Урок по легоконструированию Воспроизведение звуков NXT

10

... на моторы подается уже 40 % мощности.

Урок по легоконструированию Воспроизведение звуков NXT

11

Для диапазона <40% мы используем третий блок-переключатель.

Урок по легоконструированию Воспроизведение звуков NXT

12

Его порог - 20%.

Урок по легоконструированию Воспроизведение звуков NXT

13

В диапазоне 20-40% громкости ...

Урок по легоконструированию Воспроизведение звуков NXT

14

... используется только 20% мощности двигателя.

Урок по легоконструированию Воспроизведение звуков NXT

15

Наконец при громкости <20%

Урок по легоконструированию Воспроизведение звуков NXT

16

Двигатели вообще останавливаются

Урок по легоконструированию Воспроизведение звуков NXT

Нажмите кнопку RUN, программа будет загружена в NXT и запущена.

Регулируя уровень громкости источника звука, легко управлять скоростью движения робота.

Задание: Напишите программу для управления скоростью движения робота микрофоном.

Измените программу так, чтобы робот ехал тем быстрее, чем ТИШЕ звук.



Робот-футболист. Вам предстоит собрать самую сложную модель в рамках этого курса - робота-футболиста. Робот должен подъехать к мячу, идентифицировать его и нанести удар. Кроме этого вы должны будете модифицировать робота так, чтобы он смог двигаться к мячу вдоль черной линии. Вы познакомитесь и с новым блоком языка NXT-G - блоком переменная.

Урок по легоконструированию Воспроизведение звуков NXT

Теперь мы усложним задачу - поместим мяч в конце извилистого пути, обозначенного черной линией на белом фоне. Датчик освещенности теперь должен смотреть вниз и следить за линией в процессе движения робота. Одновременно с этим робот должен контролировать расстояние до препятствия. При обнаружении мяча робот должен нанести удар вне зависимости от его цвета.

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

Итак, программа имеет следующий вид. Здесь мы в первый раз используем возможность NXT выполнять параллельно несколько программ или процессов. Верхняя ветвь программы определяет расстояние до объекта, в нашем случае, подставки с мячом. Нижняя ветвь управляет двигателями, отслеживая черную линию. Обмен информацией между этими параллельными процессами происходит через специальную логическую переменную (Logic 1), для чего мы добавили в программу новый блок - переменная.

Урок по легоконструированию Воспроизведение звуков NXT

1

Начнем с верхней ветви. Создайте новый документ и назовите его find_ball. Вставьте в программу блок Цикл, настройте его на работу с ультразвуковым датчиком.

1Урок по легоконструированию Воспроизведение звуков NXT

Урок по легоконструированию Воспроизведение звуков NXT

2

Работа цикла прекратится, как только расстояние до объекта станет менее 22 см. Таким образом пустой цикл работает просто как блок жди.

3

Следующим за циклом идет блок Переменная.

Урок по легоконструированию Воспроизведение звуков NXT

4

В нем мы в переменную "Logic 1" записываем логическое значение False. Это дает знать нижней ветви программы, что робот приблизился к мячу на расстояние удара.

Урок по легоконструированию Воспроизведение звуков NXT

5

После этого робот должен произнести слово Объект ...

Урок по легоконструированию Воспроизведение звуков NXT

6.Урок по легоконструированию Воспроизведение звуков NXT

7

... отвести клюшку и ...

Урок по легоконструированию Воспроизведение звуков NXT

8.Урок по легоконструированию Воспроизведение звуков NXT

9.... нанести удар. Эти два блока Движение аналогичны блокам рассмотренной ранее программы.

Урок по легоконструированию Воспроизведение звуков NXT

10Урок по легоконструированию Воспроизведение звуков NXT

11

Перейдем теперь к нижней ветви программы. Первая команда - это блок Переменная.

Урок по легоконструированию Воспроизведение звуков NXT

12

Этот блок инициирует логическую переменную "Logic 1", помещая в нее значение True. Это означает, что робот еще не достиг мяча и что он должен двигаться, следуя черной линии.

Урок по легоконструированию Воспроизведение звуков NXT

13

Следующей командой идет блок цикл,

Урок по легоконструированию Воспроизведение звуков NXT

14

настроенный на выход по логическому состоянию False.

Урок по легоконструированию Воспроизведение звуков NXT

15

Внутрь тела цикла мы помещаем блок-переключатель.

Урок по легоконструированию Воспроизведение звуков NXT

16

Он настроен на работу с датчиком освещенности при пороговом значении в 40. Как и раньше это значение подбирается, исходя из освещенности белого фона и черной линии

Урок по легоконструированию Воспроизведение звуков NXT

17Урок по легоконструированию Воспроизведение звуков NXT

18

Следующие команды как и в предыдущей программе реализуют поворот робота вправо или влево.

Урок по легоконструированию Воспроизведение звуков NXT

19Урок по легоконструированию Воспроизведение звуков NXT

20Урок по легоконструированию Воспроизведение звуков NXT

21Урок по легоконструированию Воспроизведение звуков NXT

22Урок по легоконструированию Воспроизведение звуков NXT

23Урок по легоконструированию Воспроизведение звуков NXT

24Урок по легоконструированию Воспроизведение звуков NXT

25

Последней командой в теле цикла является чтение значение переменной "Logic 1".

Урок по легоконструированию Воспроизведение звуков NXT

26

Если ее значение False цикл прекращает свою работу.

Урок по легоконструированию Воспроизведение звуков NXT

27

После чего программа выключает двигатели и робот останавливается.

Урок по легоконструированию Воспроизведение звуков NXT

Урок по легоконструированию Воспроизведение звуков NXT28

Загрузите программу в NXT, поставьте его на начало трассы и запустите программу.

© 2010-2022