Подключение пинов в режиме управления библиотекой Arduino Wtv020sd16p.h




Курс «Основы робототехники. Продвинутый уровень». Занятие 12

Модуль звука WTV020

Модуль позволяет проигрывать звуковые файлы (речь, музыку и прочие звуки) с SD карты, вставленной в модуль, под управлением Arduino (наподобие MP3-плейера). Может использоваться для реализации «голоса» робота, движения робота под музыку, звуков движений (езда машины, танка), имитации звуков оружия и т.д.

Подключение

Питание модуля от 3,3 Вольт! Пишут, что 5 В на питании может вывести из строя модуль и вставленную в него SD карту

Модуль получается запустить только с SD картой емкостью 2 Гб, отформатированной в FAT16. Карта емкостью 4 Гб не подошла, даже когда была отформатирована с меньшей емкостью. Скорее всего, SD карты с меньшей емкостью тоже будут работать, но рекомендуется использовать именно 2 Гб.

Звуковые файлы на SD карте должны быть в формате AD4 (для преобразования MP3 и WAV файлов в данный формат может использоваться, например, программа USBRecording Version 1.3) и иметь названия вида 0000.ad4, 0001.ad4, 0002.ad4 и т.д. В некоторых источниках пишут, что файлы WAV тоже могут проигрываться.

Если нет усилителя – на выход (4 и 5 контакты) можно подключать динамик, минимальное сопротивление – 8 Ом (но лучше немного побольше, у меня 8-омный динамик иногда «вешал» контроллер, с 16-омным такого не было). Качество звука сравнительно неплохое, установленный в корпус (коробку) динамик звучит со вполне приемлемой громкостью. Если нужен более громкий звук – используйте компьютерные колонки или схему усилителя (пример есть в конце занятия)

Нумерация пинов на модуле (стрелкой показана выемка на модуле)

Подключение пинов в режиме управления кнопками (проверка работоспособности модуля)

Пины платы Название Функция, описание
  DAC Подключается на вход усилителя, колонки, если не подключен спикер. Другой контакт входа колонки – на землю. Хорошее качество звука
  SPK+ speaker + На них подключается пищалка (Speaker) или динамик. Динамик 8 Ом (по даташиту это минимальное допустимое сопротивление динамика), можно динамик бОльшего сопротивления
  SPK- speaker -
  Gnd Земля
  Next По нажатию играет первый файл (0000.ad4), затем второй и т.д.
  Busy Между ней и 16 можно подукючить светодиод+резистор на 470 Ом. Используется для отображения режима (светится – модуль ждет команды, не светится – проигрывает звук, если нет SD карты – светится непрерывно)
  +3.3 V Питание. Именно 3,3 вольта, пишут, что 5 вольт сожжет микросхему и SD карту

Подключение пинов в режиме управления библиотекой Arduino Wtv020sd16p.h

Примечание: светодиод к пину 15 подключать не обязательно

Пины платы Название Функция, описание Пины Arduino, используемые в примере
  /Reset reset The pin number of the reset pin  
  DAC Подключается на вход колонки, если не подключен спикер. Другой контакт входа колонки – на землю.
  SPK+ speaker + На них подключается пищалка (Speaker). Или динамик
  SPK- speaker -
  CLK clock The pin number of the clock pin  
  Gnd Земля Gnd
  Data The pin number of the data pin  
  Busy The pin number of the busy pin  
  3.3V Питание. Именно 3,3 вольта, пишут, что 5 вольт сожжет микросхему и SD карту 3.3V

Примечание 1: могут использоваться другие пины Arduino, они задаются в начале программы работы с модулем (см. пример в библиотеке)

Примечание 2: после подключения 8-омного динамика модуль иногда переставал работать в режиме программного управления (ничего не воспроизводил). После замены динамика на 16-омный данная ошибка перестала появляться, скорее всего, источник питания 3,3 В подключенной к нему Arduino Nano не тянул требуемую для 8-омного динамика мощность и контроллер непрерывно перезагружался

Примечание 3: иногда модулю требовалось время (видимо, для инициализации) и после включения он не сразу начинал воспроизводить файлы, а где-то через 30-60 секунд

Библиотека

На форуме Arduino https://forum.arduino.cc/index.php?PHPSESSID=7au0vpjfbke17kob1jsbtir2k3&topic=117009.0 выложена библиотека для управления данным модулем Wtv020sd16p.h. В библиотеке имеется пример кода, описания команд:

· wtv020sd16p. playVoice(0); – полностью проиграть файл с именем, соответствующим номеру в скобках (в данном случает 0000.ad4), после чего продолжить работу. То есть если после данной команды поставить delay(2000), он проиграет полностью файл, подождет 2 секунды, затем перейдет к следующим командам

· wtv020sd16p. asyncPlayVoice(0); – запустить воспроизведение файла с именем, соответствующим номеру в скобках (в данном случает 0000.ad4), после чего продолжить работу. То есть если после данной команды поставить delay(2000), затем какую-то другую команду звуковому модулю (остановить, проиграть другой файл), проиграются только первые 2 секунды файла 0000.ad4

· wtv020sd16p. stopVoice(); – остановить проигрывание текущего асинхронно проигрываемого файла

· wtv020sd16p. pauseVoice(); – поставить на паузу проигрывание текущего асинхронно проигрываемого файла. Следующий вызов этой команды снимает с паузы, проигрывание возобновляется с того же места, где было остановлено

· wtv020sd16p. mute (); – файл продолжает проигрываться, но громкость равна нулю

· wtv020sd16p. unmute (); – громкость возвращается к максимальному уровню

В библиотеке пока отсутствует, но предложены следующие команды для управления уровнем громкости звука (модуль, видимо, поддерживает 8 уровней громкости):

wtv020sd16p. asyncPlayVoice(0xFFF7); – устанавливает уровень громкости проигрываемого асинхронно в данный момент файла равным последней цифре (от 0 до 7): 7 – максимальная громкость (включена по умолчанию), 0 – звука нет. Взято из примера:



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-12 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: