İçindekiler:

AdaBox004 Müzik Çalar: 4 Adım
AdaBox004 Müzik Çalar: 4 Adım

Video: AdaBox004 Müzik Çalar: 4 Adım

Video: AdaBox004 Müzik Çalar: 4 Adım
Video: 3D Hangouts – Boxes, Boards and Beats 2024, Temmuz
Anonim
AdaBox004 Müzik Çalar
AdaBox004 Müzik Çalar

Basit bir müzik çalar yapmak için AdaBox004'teki parçaları kullandım. Bir USB bağlantı noktasına takılır ve şarkıları mikro SD karttan rastgele çalmaya başlar. Bu, telaşsız bir neşeli şarkı kaynağı için atölyem için.

Adım 1: Parçalar

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

2. Adım: Müzik Kutusunu Yapın

Müzik Kutusunu Yap
Müzik Kutusunu Yap
Müzik Kutusunu Yap
Müzik Kutusunu Yap

Genel talimatlar https://learn.adafruit.com/adabox004 adresindeki AdaFruit sitesinde bulunmaktadır.

Dikkat edilmesi önemlidir:

AdaBox004 talimatlarını okurken, bileşenler için talimat sitelerine giden bağlantıları gözden kaçırmak kolaydır. Adafruit Feather HUZZAH ESP8266 (https://learn.adafruit.com/adafruit-feather-huzzah-esp8266) için bağlantıları olan yeşil kutulara dikkat ettiğinizden emin olun. Kart için "Arduino IDE'yi Kullanma" bölümünün altında, kartı bağlamanız ve Arduino IDE'den kod indirmeniz gereken sürücülere bağlantılar ve ayrıca kartı Arduino IDE'ye bir seçenek olarak ekleme talimatları vardır.

Aynı şekilde Music Maker FeatherWing bağlantısına da dikkat edin (https://learn.adafruit.com/adafruit-music-maker-featherwing/). Arduino'ya gerekli kütüphaneleri kurmak için talimatlar var.

Potansiyometreyi tam olarak gösterildiği gibi bağladım (https://learn.adafruit.com/adabox004/adding-a-volume-knob) - ancak USB kablosunu takmak için Feather'ı devre tahtasında daha geriye taşıdığımı unutmayın.

Beyaz kutu kit ile birlikte gelir. Birlikte verilen USB kablosunun sığabileceği kadar büyük delikler açmak için sadece bir delgeç kullandım. Katlanmış kutuda çakı ile küçük bir yarık açmıştım, böylece her panelin neresini keseceğimi biliyordum.

Konuşmacı açılışı için merkezi tahmin ettim ve büyük bir yabancı madeni parayla (tam olarak Kosta Rika 100 kolonu) işaretledim, sonra bir dükkan hobi bıçağıyla daireyi kestim. Hoparlör aynı hizadaydı ve küçük cıvataların nereye gitmesi gerektiğini keskin bir yumrukla işaretledim.

Adım 3: Müzik Çalar Kodu

Tüy oynatıcı için örnek kodu değiştirdim, uygulanmayan kodu çıkardım. Arduino IDE'ye kesip yapıştırabilir ve ardından Feather'ınıza yükleyebilirsiniz.

Dosyaların tanınmasını sağlamaya çalışırken zorlandığımı unutmayın. Burada sahip olduğum şey çalışıyor, ancak mevcut şarkı sayısını değiştirmek için kodu ayarlamanız gerekiyor. Ve benim yaptığım yöntemin 100'den fazla şarkı (000 - 099) yapmayı zorlaştıracağını unutmayın çünkü sadece 2 ayrı rakam seçiyor. Gerçek parça numarasını seçebilirdim ama sonra doğru dosya adını yaratmak için onu ayrıştırmak zorunda kalırdım. Belki gelecekteki bir yinelemede.

Dosya ayrıca GitHub'da https://github.com/KFW/AdaBox004 adresinde mevcuttur. Herhangi bir değişiklik yaparsam, orada olacaklar.

// AdaBox004_random_songs

// Özellikle Adafruit Feather ile kullanım için, pinler burada önceden ayarlanmıştır!// AdaBox 004 projesi için değiştirilmiş tüy_oyuncu örneği // çalma listesinden rastgele şarkılar çalan bağımsız oynatıcı // kullanılmayan kodu çıkardı // dosya adını almakta sorun yaşadı çalışmak için dize dönüştürme Dize türü // çalma için işlev çağrısı char dizisini kullandığından // farklı yaklaşımlar denedikten sonra bulduğum çamur bu oldu // parçaların adı TRACK##.mp3 // SD kartta 60 şarkım var I (000 - 059) // kullanıyorum // dosya sayısını saymak veya dosya adını rastgele almanın başka bir yolunu bulmak daha akıllıca olurdu // Bir dahaki sefere

// SPI, MP3 ve SD kitaplıklarını dahil et

#include #include #include

// Bunlar kullanılan pinlerdir

#define VS1053_RESET -1 // VS1053 reset pini (kullanılmıyor!) // Feather ESP8266 -- HUZZAH tüy kullanarak #define VS1053_CS 16 // VS1053 chip seçim pini (çıkış) #define VS1053_DCS 15 // VS1053 Veri/komut seçim pini (çıktı) #define CARDCS 2 // Kart çipi seçme pini #define VS1053_DREQ 0 // VS1053 Veri talebi, ideal olarak bir Kesme pini #define VOLUME_KNOB A0

int sonvol = 10;

int döngü sayacı = 0; uzun parçaNumara; String trackString; char şarkı[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);

geçersiz kurulum() {

// Serial.başlangıç(115200); // sadece sorun giderme için gerekli // while (!Serial) { delay(1); } // Seri portun açılmasını bekleyin, // Serial.println("\n\nAdafruit VS1053 Feather Test"); randomSeed(ESP.getCycleCount()); // HUZZAH'ın halihazırda kullanılan sadece 1 analog pini var // farklı rastgele tohum gerekli // bu fikir https://github.com/esp8266/Arduino/issues/728 musicPlayer.begin(); musicPlayer.sineTest(0x44, 500); // VS1053'ün çalıştığını belirten bir ses çıkar SD.begin(CARDCS);

// Sol, sağ kanallar için ses seviyesini ayarlayın. daha düşük sayılar == daha yüksek ses seviyesi!

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

boşluk döngüsü () {

// ses seviyesini ayarlamak için periyodik olarak kontrol edin!

döngü sayacı++; if (döngü sayacı >= 1000) { döngü sayacı = 0; int hacim = 0; hacim = analogRead(VOLUME_KNOB); cilt /= 10; if (mutlak(hacim - son hacim) > 3) { // Serial.println(hacim); son hacim = cilt; musicPlayer.setVolume(lastvol, lastvol); } }

// Arka planda bir dosya oynatın, kesinti GEREKTİRİR!

if (! musicPlayer.playingMusic) { trackNumber = rastgele(6); // bunu her seferinde bir rakam yapmak zorundayız; ilk basamak 0-5 karakter c = karakter(trackNumber + 48); // ASCII 48 '0'; doğru karakter şarkısını elde etmek için değeri kaydırmanız gerekiyor[6] = c; // char dizisindeki onlarca değeri değiştir trackNumber = random(10); // ikinci basamak 0-9 c= char(trackNumber + 48); şarkı[7] = c; // Serial.println(şarkı); musicPlayer.startPlayingFile(şarkı); gecikme(10); } }

4. Adım: Keyfini çıkarın

Sadece bir USB güç kaynağına takın ve en sevdiğiniz şarkıların keyfini çıkarın.

Kutunun içindeki potansiyometre ile ses seviyesi ayarlanabilir. Aksi takdirde kontrol yok.

Önerilen: