Мазмұны:

AdaBox004 музыкалық ойнатқышы: 4 қадам
AdaBox004 музыкалық ойнатқышы: 4 қадам

Бейне: AdaBox004 музыкалық ойнатқышы: 4 қадам

Бейне: AdaBox004 музыкалық ойнатқышы: 4 қадам
Бейне: Adabox004 Unboxing 2024, Шілде
Anonim
AdaBox004 музыкалық ойнатқышы
AdaBox004 музыкалық ойнатқышы

Мен AdaBox004 ішіндегі бөлшектерді қарапайым музыкалық ойнатқыш жасау үшін қолдандым. Ол USB портына қосылады және микро SD картасынан кездейсоқ әндерді ойнай бастайды. Бұл менің шеберханам үшін көтеріңкі әндердің қайнар көзі.

1 -қадам: бөлшектер

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

2 -қадам: Музыкалық қорапты жасаңыз

Музыкалық қорапты жасаңыз
Музыкалық қорапты жасаңыз
Музыкалық қорапты жасаңыз
Музыкалық қорапты жасаңыз

Жалпы нұсқаулар AdaFruit сайтында https://learn.adafruit.com/adabox004 орналасқан.

Назар аудару маңызды:

AdaBox004 нұсқауларын оқу кезінде компоненттерге арналған нұсқаулық сайттарына сілтемелерді елемеу оңай. Adafruit Feather HUZZAH ESP8266 (https://learn.adafruit.com/adafruit-feather-huzzah-esp8266) сілтемелері бар жасыл жәшіктерге назар аударыңыз. Тақтаның «Arduino IDE пайдалану» бөлімінде драйверлерге сілтемелер бар, сіз тақтаны қосып, Arduino IDE -ден кодты жүктеуіңіз керек, сонымен қатар тақтаны Arduino IDE -ге қосымша ретінде қосу нұсқаулары қажет.

Сонымен қатар FeatherWing Music Maker сілтемесіне назар аударыңыз (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_song

// Адафрут қауырсынымен пайдалану үшін, түйреуіштер осында алдын ала орнатылған! // AdaBox 004 жобасы үшін өзгертілген feather_player мысалы // ойнату тізімінен кездейсоқ әндерді ойнайтын оқшау ойнатқыш // пайдаланылмаған кодты алып тастау // файл атауын алу кезінде қиындықтар туындады. String // түрін түрлендіруге арналған жұмыс, себебі ойнауға арналған функция char массивін пайдаланады // әр түрлі тәсілдерді қолданып көргеннен кейін бұл трек // тректер TRACK ## деп аталады. mp3 // Менде SD картасында 60 ән бар «(000 - 059) пайдаланамын // файлдардың санын санау немесе файл атауын кездейсоқ алудың басқа әдісін табу ақылды болар еді // О, келесі жолы

// SPI, MP3 және SD кітапханаларын қамтиды

#қосу #қосу #қосу

// Бұл қолданылатын түйреуіштер

#define VS1053_RESET -1 // VS1053 қалпына келтіру түйреуіші (қолданылмайды!) // Қауырсындылық ESP8266 -HUZZAH featther көмегімен #define VS1053_CS 16 // VS1053 чипті таңдау түйінін (шығысын) #анықтау VS1053_DCS 15 // VS1053 Деректерді/пәрменді таңдау түйінін (шығыс) #анықтамалық CARDCS 2 // карта чипін таңдайтын түйін #анықтаңыз VS1053_DREQ 0 // VS1053 деректерді сұрау, ең дұрысы үзу түйреуіші #анықтайтын VOLUME_KNOB A0

int lastvol = 10;

int loopcounter = 0; ұзын жол нөмірі; 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 қауырсындық тест»); 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 () {

// дыбыс деңгейін реттеу үшін мезгіл -мезгіл тексеріп отырыңыз!

цикл есептегіші ++; if (loopcounter> = 1000) {loopcounter = 0; int vol = 0; vol = analogRead (VOLUME_KNOB); көлем /= 10; if (abs (vol - lastvol)> 3) {// Serial.println (том); lastvol = vol; musicPlayer.setVolume (lastvol, lastvol); }}

// Файлды фондық режимде ойнату, үзулерді талап етеді!

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

4 -қадам: ләззат алыңыз

USB қуат көзіне қосыңыз және сүйікті әндеріңізді тыңдаңыз.

Дыбыс деңгейін қораптың ішіндегі потенциометр көмегімен реттеуге болады. Әйтпесе, бақылау жоқ.

Ұсынылған: