Мазмуну:

AdaBox004 Музыка ойноткучу: 4 кадам
AdaBox004 Музыка ойноткучу: 4 кадам

Video: AdaBox004 Музыка ойноткучу: 4 кадам

Video: AdaBox004 Музыка ойноткучу: 4 кадам
Video: Музыкальный Hi-Fi центр Technics SC-EH60 (стереосистема). Японское качество! Лучшая акустика 90-х. 2024, Июль
Anonim
AdaBox004 музыкалык ойноткучу
AdaBox004 музыкалык ойноткучу

Мен жөнөкөй музыкалык ойноткучту жасоо үчүн AdaBox004төгү бөлүктөрдү колдондум. Ал USB портуна туташтырылып, микро 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)-бирок USB кабелин батыраак алуу үчүн Мамыкты дагы нанга жылдырганымды эске алыңыз.

Ак куту комплект менен келет. Мен жөн гана тешикти колдонуп, камтылган USB кабелине туура келиши үчүн чоңураак тешиктерди жасадым. Мен бүктөлгөн кутунун чөнтөк бычагы менен кичинекей тешик жасап койгом, ошондуктан ар бир панелдин кайсыл жерин кесүү керек экенин билчүмүн.

Динамиктин ачылышы үчүн мен борборду баалап, чоң чет элдик тыйын менен белгилеп койдум (тактап айтканда Коста -Риканын 100 колону), андан кийин дүкөндүн хобби бычагы менен тегеректи кесип салдым. Баяндамачы тизилип турду, мен кичинекей болттор кайда барыш керек экенин белгилеп койдум.

3 -кадам: Музыка ойноткучтун коду

Мен канаттуу оюнчунун мисал кодун өзгөртүп, колдонулбаган кодду алып салдым. Сиз аны Arduino IDEге кесип, чаптап, анан жүнүңүзгө жүктөй аласыз.

Белгилей кетчү нерсе, мен файлдарды таануу үчүн абдан кыйын болдум. Бул жерде менде бар нерсе иштейт, бирок сиз жеткиликтүү болгон ырлардын санын өзгөртүү үчүн кодду тууралашыңыз керек. Белгилей кетчү нерсе, менин жасаганым 100дөн ашык ырды аткарууну кыйындатат (000 - 099), анткени ал 2 жеке цифраны гана тандайт. Мен чыныгы трек номерин тандап алмакмын, бирок туура файл атын түзүү үчүн аны талдоо керек болчу. Балким, келечекте кайталанат.

Файл GitHubда дагы бар https://github.com/KFW/AdaBox004. Эгерде мен кандайдыр бир өзгөртүүлөрдү киргизсем, алар ошол жерде болот.

// AdaBox004_random_songs

// Адафрут Мамык менен колдонуу үчүн, бул жерде казыктар алдын ала коюлган! // AdaBox 004 проекти үчүн feather_player өзгөртүлгөн // ойнотмо тизмесинен туш келди ырларды ойнотуучу // өзүнчө ойнотуучу // колдонулбаган кодду алып салуу // файлдын аталышын алууда кыйынчылыктар болгон Стрингдин түрүн айландыруу үчүн // иштөө функциясы char массивин колдонгондуктан // ар кандай ыкмаларды колдонуп көргөндөн кийин бул // тректердин аты TRACK ##. mp3 // Менин SD картада 60 ырым бар I Мен колдонуп жатам (000 - 059) // # файлды эсептөө же файлдын атын туш келди алуу үчүн башка жолду табуу акылдуу болмок // Ооба, кийинки жолу

// SPI, MP3 жана SD китепканаларын камтыйт

#кошуу #кошуу #кошуу

// Бул колдонулган төөнөгүчтөр

#define VS1053_RESET -1 // VS1053 баштапкы абалга келтирүү (колдонулбайт!) // Feather ESP8266 -HUZZAH featther аркылуу #define VS1053_CS 16 // VS1053 чип тандоо пин (чыгаруу) #define VS1053_DCS 15 // VS1053 Маалымат/буйрук тандоо пини (чыгаруу) #define CARDCS 2 // Карта чипин тандоо пин #define VS1053_DREQ 0 // VS1053 Маалымат сурамы, идеалдуу Үзгүлтүк пин #аныктоо VOLUME_KNOB A0

int lastvol = 10;

int loopcounter = 0; long trackNumber; String trackString; char ыры [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);

жараксыз орнотуу () {

// 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 ++; if (loopcounter> = 1000) {loopcounter = 0; int vol = 0; vol = analogRead (VOLUME_KNOB); vol /= 10; if (abs (vol - lastvol)> 3) {// Serial.println (vol); lastvol = vol; musicPlayer.setVolume (lastvol, lastvol); }}

// Файлды фондо ойнотуу керек, үзгүлтүктөрдү талап кылат!

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

4 -кадам: ырахат алыңыз

Жөн гана USB энергия булагына туташтырып, сүйүктүү ырларыңыздан ырахат алыңыз.

Көлөмү кутунун ичиндеги потенциометр менен жөнгө салынышы мүмкүн. Болбосо көзөмөл жок.

Сунушталууда: