Агуулгын хүснэгт:

AdaBox004 хөгжим тоглуулагч: 4 алхам
AdaBox004 хөгжим тоглуулагч: 4 алхам

Видео: AdaBox004 хөгжим тоглуулагч: 4 алхам

Видео: AdaBox004 хөгжим тоглуулагч: 4 алхам
Видео: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Долдугаар сарын
Anonim
AdaBox004 хөгжим тоглуулагч
AdaBox004 хөгжим тоглуулагч

Би энгийн хөгжим тоглуулагч болгохын тулд AdaBox004 -ийн хэсгүүдийг ашигласан. Энэ нь USB порт руу залгагдаж, микро SD картнаас санамсаргүй байдлаар дуу тоглуулж эхэлдэг. Энэ бол өөдрөг дууны эх сурвалж болох миний семинарт зориулагдсан болно.

Алхам 1: эд анги

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

Алхам 2: Хөгжмийн хайрцгийг хий

Хөгжмийн хайрцгийг хий
Хөгжмийн хайрцгийг хий
Хөгжмийн хайрцгийг хий
Хөгжмийн хайрцгийг хий

Ерөнхий зааврыг https://learn.adafruit.com/adabox004 дээрх AdaFruit сайт дээр байрлуулсан болно.

Анхаарал хандуулах нь чухал юм:

AdaBox004 зааврыг уншиж байхдаа бүрэлдэхүүн хэсгүүдийн зааварчилгааны сайтын холбоосыг анзаарахгүй байх нь амархан. Adafruit Feather HUZZAH ESP8266 (https://learn.adafruit.com/adafruit-feather-huzzah-esp8266) линктэй ногоон хайрцганд анхаарлаа хандуулаарай. Самбарын "Arduino IDE -ийг ашиглах" хэсгийн доор драйверуудын холбоосууд байгаа бөгөөд та самбарыг холбож, Arduino IDE -ээс код татаж авах, мөн Arduino IDE -д нэмэлт болгон оруулах зааварчилгааг агуулсан болно.

Үүний нэгэн адил Хөгжим бүтээгч 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 руу хайчилж аваад оо дээрээ ачаалж болно.

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

Файлыг GitHub дээр https://github.com/KFW/AdaBox004 дээрээс авах боломжтой. Хэрэв би ямар нэгэн өөрчлөлт хийвэл тэд тэнд байх болно.

// AdaBox004_random_songs

// Adafruit Feather-т ашиглахад зориулагдсан зүүг энд урьдчилан суулгасан болно! String type -ийг хөрвүүлэх ажилд ажиллах мөр // тоглох функц дуудлага нь char массивыг ашигладаг тул // өөр өөр арга барилыг туршиж үзсэний дараа энэ нь миний гаргаж ирсэн kludge юм // дууг TRACK ## гэж нэрлэдэг. mp3 // Би SD карт дээр 60 дуутай (000 - 059) -ийг ашиглаж байгаа бол # файл тоолох эсвэл файлын нэрийг санамсаргүй байдлаар олж авах өөр аргыг олох нь илүү ухаалаг байх байсан. // За дараагийн удаа

// SPI, MP3 болон SD номын сангуудыг багтаасан болно

#оруулах #оруулах #оруулах

// Эдгээр нь ашигласан тээглүүрүүд юм

#тодорхойлох VS1053_RESET -1 // VS1053 дахин тохируулах зүү (ашиглагдаагүй!) // Feather 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 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 () {

// дууны түвшинг тохируулахын тулд үе үе шалгаж байгаарай!

давталтын тоолуур ++; if (loopcounter> = 1000) {loopcounter = 0; int vol = 0; vol = analogRead (VOLUME_KNOB); эзлэхүүн /= 10; if (abs (vol - lastvol)> 3) {// Serial.println (боть); lastvol = боть; musicPlayer.setVolume (lastvol, lastvol); }}

// Файлыг цаана тоглуулах, тасалдахыг шаардана!

if (! musicPlayer.playingMusic) {trackNumber = санамсаргүй (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 тэжээлд залгаарай, дуртай дуугаа сонсоорой.

Дууны хэмжээг хайрцаг доторх потенциометрээр тохируулж болно. Үгүй бол хяналт байхгүй болно.

Зөвлөмж болгож буй: