Оглавление:

Музыкальный проигрыватель AdaBox004: 4 шага
Музыкальный проигрыватель AdaBox004: 4 шага

Видео: Музыкальный проигрыватель AdaBox004: 4 шага

Видео: Музыкальный проигрыватель AdaBox004: 4 шага
Видео: Как выбрать первый проигрыватель винила? Полная инструкция для начинающих 2024, Июль
Anonim
AdaBox004 Музыкальный плеер
AdaBox004 Музыкальный плеер

Я использовал части AdaBox004, чтобы сделать простой музыкальный проигрыватель. Он подключается к USB-порту и начинает случайное воспроизведение песен с карты micro SD. Это для моей мастерской, где можно без суеты создавать оптимистичные песни.

Шаг 1: Детали

AdaBox004 (https://www.adafruit.com/product/3370)

Шаг 2: сделайте музыкальную шкатулку

Сделать музыкальную шкатулку
Сделать музыкальную шкатулку
Сделать музыкальную шкатулку
Сделать музыкальную шкатулку

Общие инструкции находятся на сайте AdaFruit по адресу

Важно обратить внимание на:

При чтении инструкций AdaBox004 легко пропустить ссылки на сайты с инструкциями для компонентов. Обязательно обратите внимание на зеленые поля со ссылками на: Adafruit Feather HUZZAH ESP8266 (https://learn.adafruit.com/adafruit-feather-huzzah-esp8266). В разделе «Использование Arduino IDE» для платы есть ссылки на драйверы, которые вам понадобятся для подключения платы и загрузки кода из Arduino IDE, а также инструкции по добавлению платы в качестве опции в Arduino IDE.

Также обратите внимание на ссылку на Music Maker FeatherWing (https://learn.adafruit.com/adafruit-music-maker-featherwing/). Там есть инструкции по установке необходимых библиотек на Arduino.

Я подключил потенциометр точно так, как показано (https://learn.adafruit.com/adabox004/adding-a-volume-knob), но обратите внимание, что я переместил Feather еще дальше на макетной плате, чтобы подключить USB-кабель.

Белая коробка идет в комплекте. Я просто использовал дырокол, чтобы проделать отверстия достаточно большими, чтобы через них прошел прилагаемый USB-кабель. Мне пришлось сделать карманным ножом небольшую прорезь в сложенной коробке, чтобы я знал, где на каждой панели разрезать.

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

Шаг 3: Код музыкального проигрывателя

Я изменил пример кода для перьевого плеера, убрав код, который не применялся. Вы можете вырезать и вставить его в Arduino IDE, а затем загрузить в Feather.

Обратите внимание, что мне было сложно распознать файлы. То, что у меня здесь, работает, но вам нужно настроить код, чтобы изменить количество доступных песен. И обратите внимание, что способ, которым я это сделал, затруднит создание более 100 песен (000 - 099), потому что он выбирает только 2 отдельные цифры. Я мог бы выбрать фактический номер трека, но тогда мне пришлось бы проанализировать его, чтобы создать правильное имя файла. Может быть, в какой-нибудь будущей итерации.

Файл также доступен на GitHub по адресу https://github.com/KFW/AdaBox004. Если я внесу какие-либо изменения, они будут там.

// AdaBox004_random_songs

// Специально для использования с Adafruit Feather, здесь предварительно установлены контакты! // модифицированный пример перья_плеер для проекта AdaBox 004 // автономный проигрыватель, который воспроизводит случайные песни из списка воспроизведения // удален неиспользуемый код // возникли проблемы с получением имени файла строка для работы с преобразованием типа String // так как при вызове функции для воспроизведения используется массив символов // после разных подходов это тот кладж, который я придумал // треки названы TRACK ##. mp3 // У меня есть 60 песен на SD-карте I m using (000 - 059) // было бы разумнее подсчитать # файлов или найти другой способ получить имя файла случайным образом // Ну, в следующий раз

// включаем библиотеки SPI, MP3 и SD

#include #include #include

// Это используемые контакты

#define VS1053_RESET -1 // Вывод сброса VS1053 (не используется!) // Перо ESP8266 - с использованием HUZZAH featther #define VS1053_CS 16 // Вывод выбора микросхемы VS1053 (вывод) #define VS1053_DCS 15 // Вывод данных / команды VS1053 (output) #define CARDCS 2 // Вывод выбора микросхемы карты #define VS1053_DREQ 0 // Запрос данных VS1053, в идеале вывод прерывания #define VOLUME_KNOB A0

int lastvol = 10;

int loopcounter = 0; long trackNumber; String trackString; char song [13] = {'T', 'R', 'A', 'C', 'K', '0', '2', '0', '.', 'm', 'p';, '3', '\ 0'};

Adafruit_VS1053_FilePlayer musicPlayer =

Adafruit_VS1053_FilePlayer (VS1053_RESET, VS1053_CS, VS1053_DCS, VS1053_DREQ, CARDCS);

void setup () {

// Serial.begin (115200); // необходимо только для устранения неполадок // while (! Serial) {delay (1); } // Дождитесь открытия последовательного порта, // Serial.println ("\ n / nAdafruit VS1053 Feather Test"); randomSeed (ESP.getCycleCount ()); // HUZZAH имеет только 1 аналоговый вывод, который уже используется // требуется другое случайное начальное число // эта идея из https://github.com/esp8266/Arduino/issues/728 musicPlayer.begin (); musicPlayer.sineTest (0x44, 500); // Подавать звуковой сигнал, указывающий, что VS1053 работает SD.begin (CARDCS);

// Устанавливаем громкость для левого и правого каналов. меньшие цифры == громкость выше!

musicPlayer.setVolume (lastvol, lastvol); musicPlayer.useInterrupt (VS1053_FILEPLAYER_PIN_INT); // DREQ int}

void loop () {

// периодически проверять, чтобы регулировать громкость!

loopcounter ++; если (счетчик циклов> = 1000) {счетчик циклов = 0; int vol = 0; объем = аналоговое чтение (VOLUME_KNOB); объем / = 10; if (abs (vol - lastvol)> 3) {// Serial.println (vol); lastvol = vol; musicPlayer.setVolume (lastvol, lastvol); }}

// Воспроизвести файл в фоновом режиме, ТРЕБУЕТСЯ прерывания!

если (! musicPlayer.playingMusic) {trackNumber = random (6); // это нужно делать по одной цифре за раз; первая цифра 0-5 char c = char (trackNumber + 48); // 48-й код ASCII равен 0; необходимо сместить значение, чтобы получить правильный характер песни [6] = c; // заменяем значение десятков в массиве символов trackNumber = random (10); // вторая цифра 0-9 c = char (trackNumber + 48); песня [7] = c; // Serial.println (песня); musicPlayer.startPlayingFile (песня); задержка (10); }}

Шаг 4: наслаждайтесь

Просто подключите к источнику питания USB и наслаждайтесь любимыми песнями.

Громкость можно регулировать с помощью потенциометра внутри коробки. В противном случае никаких элементов управления.

Рекомендуемые: