Аудиотрек
ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ
1) Напряжение питания: 3,3–5 В
2) Количество каналов: 1 (моно, 3 Вт)
3) Поддерживаемые частоты дискретизации: 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, 48 кГц
4) Разрядность ЦАП: 24 бита
5) Поддерживаемые файловые системы: FAT16, FAT32
6) Максимальный объем памяти microSD-карты: до 32 Гб
7) Сопротивление динамика 4 Ом
8) Количество папок с музыкальными файлами: до 100
9) Количество композиций в папке: до 255
10) Форматы аудиофайлов: MP3, WAV, WMA
11) Масса модуля 60 г.
12) Габариты 63х50х50 мм.
13) Длина провода 260 мм.
14) Предустановленная карта памяти 8 Гб.
Описание
Аудимодуль «Аудиотрек» предназначен для расширения возможностей контроллера "Трекдуино". Позволяет воспроизводить аудиозаписи в популярных форматах таких как MP3, WAV и WMA. В модуль установлена microSD карта объемом 8 Гб, так что использовать его можно сразу же после приобретения. Встроенный динамик мощностью 3 Ватта и сопротивлением 4 Ом позволяет создать достаточно громкие проекты, которые будут слышны в даже в больших аудиториях. Управляется модуль программно и может работать в автономном режиме, для него не требуется дополнительного питания. С помощью включенных в состав ПО Роботрек библиотек и графических блоков можно выполнять базовые действия:
проиграть конкретный файл
проиграть конкретный файл из указанной папки
поставить трек на паузу
продолжить воспроизведение
проиграть следующий/предыдущий трек
увеличить/уменьшить громкость
установить громкость в процентах от 0 до 100
Использование
Подключение
Датчик использует 4-пиновый разъем UART и подключается в любой из двух портов UART контроллера "Трекдуино".
Аудиотрек подключается к плате с помощью идущей в комплекте 4-проводной шины по следующей схеме:
Верхняя часть коннектора должна быть расположена ближе к лицевой стороне платы Трекдуино. Цвет проводов аудиомодуля может отличаться!
Как записать свои файлы
Для записи файлов на microSD карту, воспользуйтесь следующей инструкцией:
2. Используйте адаптер, идущий в комплекте, чтобы подключить карту памяти в компьютер.
Обязательно установите новую версию ПО, которое расположено в корне SD карты!
4. Помимо примера с инструкцией на карте памяти содержатся 4 папки с различными звуками и мелодиями. В папке 01 находится подборка звуков, которые помогут сделать Ваш проект более живым. В папке 02 находятся детские песни. В папке 03 содержатся музыкальные композиции из открытых источников. А в папке 04 вы найдете озвученные действия для робототехнических проектов. В папках содержится вся информация об используемых файлах. Всего 140 аудио файлов для первого знакомства с модулем Аудиотрек.
5. Для создания собственных списков необходимо правильно нумеровать файлы и папки. Для папок используйте название, состоящее из 2 цифр, например, 01, 02, 03 и так далее до 10. Для файлов обязательно в начале укажите номер из 3 цифр, например, 001, 002 и так далее до 255. Также можно оставлять название файла, но при этом добавить в начале цифровую нумерацию, например 001_пример.mp3. Учитывайте тот момент, что если у вас созданы файлы с именами 010.mp3 и 025.mp3, то при использовании команды «проиграть файл» для аудио файла 010.mp3 используйте «проиграть файл (1)», для 025.mp3 «проиграть файл (2)» соответственно. В данном случае вы указываете порядковый номер файла в директории.
Программирование
Все блоки для работы с Аудиотреком расположены в группе блоков «Mp3-плеер».
При использовании «Аудиотрека» первым делом необходимо подключить соответствующую библиотеку <MP3Player_KT403A.h> и создать объект класса mp3player, указав интерфейс UART, к которому подключен «Аудиотрек», в качестве аргумента. В визуальной среде эту функцию выполняет блок «Подключить mp3-плеер»
, который необходимо использовать в секции Установка
.
Блок и генерируемая им функция | Описание |

#include <MP3Player_KT403A.h>mp3player
mp3(int UARTport);
{
mp3.SelectPlayerDevice(0x02);
}
| Подключает библиотеку «Аудиотрека» и создает объект с именем по умолчанию MP3Player_KT403A , назначает источником, содержащим аудиофайлы, SD карту.
Аргументы:
UART (int uartPort) - интерфейс UART, к которому подключен «Аудиотрек». Допустимые значения - UART1 или UART2 |

mp3.SpecifyMusicPlay(int track);
| Проигрывает файл с порядковым номером от 000 до 255
Аргументы:
трек (int track) -порядковый номер аудио файла от 000 до 255 |

mp3.SpecifyfolderPlay(int folder,int track);
| Проигрывает указанный файл с порядковым номером от 000 до 255 из указанной папки с порядковым номером от 00 до 10
Аргументы:
трек (int track) - порядковый номер аудио файла от 000 до 255
папка (int folder) - порядковый номер папки (директории) от 00 до 10 |

mp3.PlayPause();
| Останавливает воспроизведение аудиофайла |

mp3.PlayResume();
| Продолжает воспроизведение аудиофайла |

mp3.PlayNext();
| Воспроизводит следующий по порядку файл |

mp3.PlayPrevious();
| Воспроизводит предыдущий по порядку файл |
mp3.PlayLoop();
| Включает бесконечный повтор трека, при повторном использовании отключает. |
mp3.IncreaseVolume();
| Увеличивает громкость (от минимума до максимума 30 пунктов) |
mp3.DecreaseVolume();
| Уменьшает громкость (от максимума до минимума 30 пунктов) |

mp3.SetVolume(int Vol);
| Устанавливает громкость в процентах от 0 до 100
Аргументы:
громкость (int Vol) - значение громкости от 0 до 100 процентов |
Примеры использования в проектах
Плеер, управляемый встроенными кнопками Трекдуино
В примере используется задержка в 100 мс., если мелодии переключаются через одну, то необходимо увеличить время задержки.
Генерируемый код:
#include <MP3Player_KT403A.h>
bool _ABVAR_1_stopit= false ;
mp3player mp3(UART1);
void plypause();
void setup()
{
mp3.SelectPlayerDevice(0x02);//select SD card as source
_ABVAR_1_stopit = HIGH ;
delayMicroseconds( 100 );
mp3.SetVolume(50);
delay( 100 );
mp3.SpecifyMusicPlay(1);
}
void loop()
{
plypause();
if (buttonRead(BTN_UP))
{
mp3.IncreaseVolume();
delay( 100 );
}
if (buttonRead(BTN_DOWN))
{
mp3.DecreaseVolume();
delay( 100 );
}
if (buttonRead(BTN_LEFT))
{
mp3.PlayPrevious();
delay( 100 );
}
if (buttonRead(BTN_RIGHT))
{
mp3.PlayNext();
delay( 100 );
}
}
void plypause()
{
if (( buttonRead(BTN_CENTER) && ( ( _ABVAR_1_stopit ) == ( HIGH ) ) ))
{
mp3.PlayPause();
delay( 100 );
_ABVAR_1_stopit = LOW ;
}
if (( buttonRead(BTN_CENTER) && ( ( _ABVAR_1_stopit ) == ( LOW ) ) ))
{
mp3.PlayResume();
delay( 100 );
_ABVAR_1_stopit = HIGH ;
}
}