- •Курс «Основы робототехники». Занятие 7 Вывод информации
- •7.1. Генерация звука
- •Практическое занятие 1. Проигрывание заданной мелодии
- •Практическое занятие 2. Управление звуком резистором
- •7.2. Жк индикатор
- •Практическое занятие 3. Проверка и настройка жк индикатора
- •Практическое занятие 4. Эффекты
- •Практическое занятие 5. Вывод текста на жк индикатор
- •Практическое занятие 6. Управление звуком кнопками жк индикатора
- •Практическое занятие 7. Собственные символы
- •Практическое занятие 8. Музыкальный автомат
- •Домашнее задание
Курс «Основы робототехники». Занятие 7 Вывод информации
Ранее мы выводили информацию, полученную с датчиков, на светодиоды (управление частотой мигания, яркостью, количеством включенных светодиодов) или в Монитор порта компьютера. Имеется возможность сделать вывод информации звуком (в том числе проговаривание данных голосом при подключении специального модуля MP3 плейера, что будет изучено на продвинутом курсе) и буквами и цифрами на ЖК индикатор, подключенный к Arduino
7.1. Генерация звука
Для генерации звука определенной частоты используется команда tone:
tone(контакт, частота) – генерировать сигнал определенной частоты (в Герцах) на определенном пине Arduino tone(контакт, частота, длительность) – генерировать сигнал определенной частоты (в Герцах) на определенном пине Arduino в течение заданного в миллисекундах времени noTone(контакт) – прекратить генерацию звука на этом контакте |
Примечание: команда tone может генерировать звук только на одном контакте. Для использования нескольких спикеров их можно либо подключить на один и тот же контакт, либо генерировать на них звук по очереди (только один спикер звучит в определенный момент времени). Еще вариант – генерировать с помощью digitalWrite частоты на пинах, не используя команду tone
Подключать низкоомные динамики (например, 4 Ом, 8 Ом) напрямую на вход Arduino нельзя, так как в этом случае ток через динамик в соответствии с законом Ома U = I · R
I = U / R = 5 В / 4 Ом = 1,25 А = 1250 мА, что намного больше тока, который допустим для пина Arduino 40 мА
Поэтому мощные динамики подключают через транзисторный ключ или, как и в случае со светодиодом, используют резистор, чтобы ограничить проходящий через динамик ток (схема слева).
Используемые в занятии спикеры с материнских плат компьютеров имеют высокое сопротивление и малый ток (но и существенно более тихий звук), поэтому можно их подключать напрямую к пину Arduino одним контактом, и к земле другим контактом. На некоторых спикерах есть маркировка полярности, но особой разницы, какой контакт спикера подключить к пину Arduino, а какой – к земле, нет.
Практическое занятие 1. Проигрывание заданной мелодии
установите на макетную плату спикер, один контакт его подключите к контакту D8 Arduino, другой – к Gnd
откройте и загрузите в контроллер программу Файл / Примеры / Digital / toneMelody
при включении контроллер должен издавать определенную мелодию
в примере код мелодии находится в блоке setup, поэтому мелодия проигрывается только один раз. Чтобы запустить повторное проигрывание, нужно отключить и вновь включить питание либо нажать кнопку Reset на Arduino. Сделайте воспроизведение мелодии непрерывным, переместив код в блок loop
Примечание: пример содержит библиотеку pitches.h, которая содержит наборы частот для нот
попробуйте загрузить в контроллер другие мелодии – пример программы приведен в приложении, также коды мелодий можно найти в интернете по запросам типа Arduino Melody, Arduino Sound и т.п.
Практическое занятие 2. Управление звуком резистором
Подключите к контроллеру переменный резистор и сделайте, чтобы частота звука спикера зависела от угла поворота резистора.
Пример программы – Файл / Примеры / Digital / tonePitchFollower