Mundarija:

AdaBox004 musiqa pleyeri: 4 qadam
AdaBox004 musiqa pleyeri: 4 qadam

Video: AdaBox004 musiqa pleyeri: 4 qadam

Video: AdaBox004 musiqa pleyeri: 4 qadam
Video: Char Kadam | Piano Cover | Shaan | Aakash Desai 2024, Noyabr
Anonim
AdaBox004 musiqa pleyeri
AdaBox004 musiqa pleyeri

Men oddiy musiqa pleyerini yasash uchun AdaBox004 dagi qismlardan foydalandim. U USB portiga ulanadi va micro SD kartadan tasodifiy qo'shiqlarni ijro qila boshlaydi. Bu mening ustaxonam uchun yaxshi qo'shiqlarning shovqinsiz manbai.

1 -qadam: qismlar

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

2 -qadam: Musiqa qutisini yarating

Musiqa qutisini yarating
Musiqa qutisini yarating
Musiqa qutisini yarating
Musiqa qutisini yarating

Umumiy ko'rsatmalar AdaFruit saytida -

E'tibor berish muhim:

AdaBox004 ko'rsatmalarini o'qiyotganda, komponentalar uchun ko'rsatma saytlariga havolalarni e'tiborsiz qoldirish oson. Adafruit Feather HUZZAH ESP8266 (https://learn.adafruit.com/adafruit-feather-huzzah-esp8266) havolalari bo'lgan yashil qutilarga e'tibor berishni unutmang. Kengash uchun "Arduino IDE -dan foydalanish" bo'limida drayverlarga havolalar mavjud bo'lib, siz taxtani ulashingiz va Arduino IDE -dan kodni yuklab olishingiz, shuningdek, taxtani Arduino IDE -ga qo'shimcha sifatida qo'shishingiz kerak bo'ladi.

Musiqa yaratuvchisi FeatherWing havolasiga ham e'tibor bering (https://learn.adafruit.com/adafruit-music-maker-featherwing/). Bu erda Arduino -ga kerakli kutubxonalarni o'rnatish bo'yicha ko'rsatmalar mavjud.

Men potensiometrni aynan ko'rsatilganidek uladim (https://learn.adafruit.com/adabox004/adding-a-volume-knob)-lekin shuni esda tutingki, men USB-kabelni joylashtirish uchun patni non taxtasida yana oldinga siljitdim.

Oq quti to'plam bilan birga keladi. Men shunchaki teshikka ulangan USB kabeli sig'ishi uchun etarlicha katta teshik qilish uchun teshik ishlatardim. Men yig'ilgan qutiga cho'ntak pichog'i bilan kichik bir tirqish yasagan edim, shuning uchun har bir panelni qayerdan kesish kerakligini bilardim.

Karnay ochilishi uchun men markazni taxmin qildim va uni katta xorijiy tanga bilan belgiladim (aniqrog'i kosta -rikalik 100 kolon), keyin doira ustaxonasi pichog'i bilan kesib tashladim. Karnay navbatda turdi va men kichik murvat qayerga o'tishi kerakligini aniq zarba bilan belgiladim.

3 -qadam: Musiqa pleyerining kodi

Men tukli o'yinchi uchun namuna kodini o'zgartirdim, amal qilmagan kodni olib tashladim. Siz uni Arduino IDE-ga kesib, joylashtirishingiz mumkin, keyin uni tukingizga yuklashingiz mumkin.

E'tibor bering, men fayllarni tanib olishda qiynaldim. Bu erda menda bor narsa ishlaydi, lekin siz mavjud bo'lgan qo'shiqlar sonini o'zgartirish uchun kodni o'zgartirishingiz kerak. Shuni esda tutingki, men qilgan ishim 100 dan ortiq qo'shiqni (000 - 099) bajarishni qiyinlashtiradi, chunki u faqat 2 ta alohida raqamni tanlaydi. Men haqiqiy trek raqamini tanlagan bo'lardim, lekin keyin to'g'ri fayl nomini yaratish uchun uni tahlil qilishim kerak edi. Ehtimol, kelajakda iteratsiya.

Fayl GitHub -da ham mavjud: https://github.com/KFW/AdaBox004. Agar biror o'zgartirish kiritsam, ular o'sha erda bo'ladi.

// AdaBox004_random_songlar

// Adafruit Feather bilan ishlash uchun, bu erda pinlar oldindan o'rnatilgan! // AdaBox 004 loyihasi uchun feather_player-ning o'zgartirilgan misoli // pleylistdan tasodifiy qo'shiqlarni ijro etuvchi mustaqil o'yinchi // ishlatilmagan kodni olib tashlash // fayl nomini olishda muammo bo'lgan. String // konvertatsiya qilish uchun string satr turi // ijro etish uchun funktsiya chaqiruvi char massividan foydalanadi // har xil yondashuvlarni sinab ko'rganimdan keyin // treklar TRACK ## deb nomlangan. mp3 // SD kartada 60 ta qo'shiq bor. (000-059) dan foydalansam // fayllar sonini hisoblash yoki fayl nomini tasodifiy olishning boshqa usulini topish aqlli bo'lardi // Oh, keyingi safar

// SPI, MP3 va SD kutubxonalarini o'z ichiga oladi

#qo'shish #qo'shish #qo'shish

// Bu ishlatilgan pinlar

#define VS1053_RESET -1 // VS1053 tiklash pimi (ishlatilmaydi!) // Feather ESP8266 -HUZZAH featther yordamida #define VS1053_CS 16 // VS1053 chip tanlash pimi (chiqish) #define VS1053_DCS 15 // VS1053 Ma'lumotlarni/buyruq tanlash pinini (chiqish) #define CARDCS 2 // Karta chipini tanlash pimi #define VS1053_DREQ 0 // VS1053 Ma'lumot so'rovi, ideal holda uzilish pin #aniqlang VOLUME_KNOB A0

int lastvol = 10;

int loopcounter = 0; uzun trek raqami; String trackString; char qo'shig'i [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);

bo'sh o'rnatish () {

// Serial.begin (115200); // faqat muammoni hal qilish uchun kerak // while (! Serial) {delay (1); } // Ketma -ket port ochilishini kuting, // Serial.println ("\ n / nAdafruit VS1053 Feather Test"); randomSeed (ESP.getCycleCount ()); // HUZZAH -da faqat bitta analog pin bor, u allaqachon ishlatilgan // har xil tasodifiy urug 'kerak // bu fikr https://github.com/esp8266/Arduino/issues/728 musicPlayer.begin () dan; musicPlayer.sineTest (0x44, 500); // VS1053 ishlayotganini bildirish uchun ohang qiling SD.begin (CARDCS);

// Chap, o'ng kanallar uchun ovoz balandligini o'rnating. past raqamlar == baland ovoz!

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

void loop () {

// ovoz balandligini sozlash uchun vaqti -vaqti bilan tekshirib turing!

pastadir ++; if (loopcounter> = 1000) {loopcounter = 0; int vol = 0; vol = analogRead (VOLUME_KNOB); vol /= 10; if (abs (vol - lastvol)> 3) {// Serial.println (jild); lastvol = vol; musicPlayer.setVolume (lastvol, lastvol); }}

// Faylni orqa fonda ijro eting, TALABLAR uziladi!

if (! musicPlayer.playingMusic) {trackNumber = tasodifiy (6); // buni bir vaqtning o'zida bitta raqam bilan bajarish kerak; birinchi raqam 0-5 char c = char (trackNumber + 48); // ASCII 48 - "0"; to'g'ri belgi qo'shig'ini olish uchun qiymatni o'zgartirish kerak [6] = c; // char massividagi o'nlab qiymatlarni almashtiring trackNumber = random (10); // ikkinchi raqam 0-9 c = char (trackNumber + 48); qo'shiq [7] = c; // Serial.println (qo'shiq); musicPlayer.startPlayingFile (qo'shiq); kechikish (10); }}

4 -qadam: rohatlaning

USB quvvat manbaiga ulang va sevimli qo'shiqlardan zavqlaning.

Ovozni qutidagi potentsiometr yordamida sozlash mumkin. Aks holda, nazorat yo'q.

Tavsiya: