İçindekiler:

Arduino ile DFMini Player MP3 Modülü Nasıl Kullanılır: 4 Adım
Arduino ile DFMini Player MP3 Modülü Nasıl Kullanılır: 4 Adım

Video: Arduino ile DFMini Player MP3 Modülü Nasıl Kullanılır: 4 Adım

Video: Arduino ile DFMini Player MP3 Modülü Nasıl Kullanılır: 4 Adım
Video: Arduino MP3 Player - TF-16P - Müzik Çalar - Arduino projects - 70 - 2024, Kasım
Anonim
Arduino ile DFMini Player MP3 Modülü Nasıl Kullanılır
Arduino ile DFMini Player MP3 Modülü Nasıl Kullanılır

Birkaç proje, bir tür işlevsellik eklemek için ses üretimi gerektirir. Bu projeler arasında, örneğin görme engelliler için erişilebilirlik, MP3 müzik çalarlar ve ses seslerinin robotlar tarafından yürütülmesini vurguluyoruz.

Tüm bu sistemlerde Arduino'ya bağlanmak için bir MP3 ses çoğaltma cihazına ihtiyacımız var. Bu nedenle, bu yazımızda aşağıdaki noktaları öğreneceğiz: DFMini Player MP3'ün temel çalışma devresi; Hafıza kartındaki ses dosyalarının organizasyonu ve konfigürasyonu; Arduino ile müzik kontrolü.

Gereçler

PCBWay Özel PCB;

DFPlayer Mini MP3 Modülü - UTSOURCE;

10kR Direnç - UTSOURCE;

Anahtar Düğmesi - UTSOURCE;

Breadboard - UTSOURCE;

Arduino UNO - KAYNAK;

Başlık Pimi - UTSOURCE;

Adım 1: DF Mini Player MP3 Modülü Nedir?

DF Mini Player MP3 Modülü Nedir?
DF Mini Player MP3 Modülü Nedir?
DF Mini Player MP3 Modülü Nedir?
DF Mini Player MP3 Modülü Nedir?

DFMini Player modülü, bellek kartında depolanan sesleri yeniden üretme amacına sahip, düşük maliyetli ve düşük güçlü küçük bir müzik çalardır.

Buna dayanarak, modül bağımsız mod aracılığıyla kontrol edilebilir, yani bu modda sadece DFMini modülü, güç sağlamak için bir pil, hoparlör, kontrol etmek için düğmeler ve şarkılarla birlikte SD Kart olacaktır. Bunu kontrol etmenin başka bir yolu da bir Arduino veya başka bir kontrol cihazı kullanmaktır.

Örneğin Arduino, DFMini Player Module ile seri iletişim yoluyla komutlar gönderecektir. DFMini Player modülü Şekil 1'de gösterilmiştir.

Bunu kontrol etmek için temel bağımsız devreyi kullanmak önemlidir. Bu devre Şekil 2'de gösterilmiştir.

Yukarıdaki devrede gösterilen iki buton müzik parçalarını değiştirmek ve sesin seviyesini kontrol etmek için kullanılmaktadır. Pin IO1'e bağlı olan buton bir önceki parçaya gitmek ve sesi azaltmak için kullanılır. Hızlı bir dokunuşla sistem önceki şarkıya döner, ancak düğmeye 1 saniyeden fazla basarsanız sistem şarkının sesini azaltır.

Pin IO2'ye bağlanan buton bir sonraki parçaya geçmek ve sesi artırmak için kullanılır. Hızlı bir dokunuşla sistem bir sonraki şarkıya geçer, ancak düğmeye 1 saniyeden fazla basarsanız sistem şarkının sesini artıracaktır.

Adım 2:

resim
resim

Bu bağımsız yöntemde şarkılar Şekil 3'te gösterildiği gibi hafıza kartına kaydedilmelidir.

Bu şekilde, düğmelere her basıldığında, sistem her şarkıyı artan veya azalan sırayla çalacaktır. Ancak, Arduino veya başka bir kontrol cihazı kullanırken, SD Kart üzerindeki müzik dosyalarını düzenleme şeklini değiştirmeliyiz.

Şimdi seri iletişim yoluyla Arduino kullanarak DFMini Player'ın nasıl kontrol edileceğini anlatacağım.

Adım 3: Arduino ile DFMini Oynatıcıyı Kontrol Etme

Arduino ile DFMini Oynatıcıyı Kontrol Etme
Arduino ile DFMini Oynatıcıyı Kontrol Etme
Arduino ile DFMini Oynatıcıyı Kontrol Etme
Arduino ile DFMini Oynatıcıyı Kontrol Etme

Bu adımda ses kontrolü, menzil kontrolü, eşitleme komutları ve diğer özellikler Arduino tarafından gönderilecektir.

Arduino, DFMini Player ile seri üzerinden iletişim kurmalı ve kontrol komutlarını göndermelidir.

Kontrol devresinin elektronik şeması Şekil 4'te gösterilmektedir.

Öncelikle aşağıdaki şekildeki devreyi kurmalıyız. Bu devreyi kurduktan sonra hafıza kartınızdaki şarkıları eklemelisiniz. Bu adımda şarkılar örneğin 01, 02, 03 olarak yeniden adlandırılmalıdır.

Arduino belirli bir parçayı yürütmek için komut gönderdiğinde bir sorun olacağından, şarkıları isimleriyle bırakamazsınız. Bu nedenle, aşağıda gösterildiği gibi yapılandırmanız gerekir.

4. Adım:

Dosyaları isimlendirdikten sonra Arduino'nuza aşağıdaki kodu yazın.

// serialwhile ile veri girişi için bekler (Serial.available() > 0) { command = Serial.read(); if ((komut >= '1') && (komut <= '9')) { Serial.print("Müzik çoğaltma"); Serial.println(komut); komut = komut - 48; myDFPlayer.play(komut); menu_opcoes(); } //Reprodüksiyon //Stop if (komut == 's') { myDFPlayer.stop(); Serial.println("Müzik Durdu!"); menu_opcoes(); } //Pausa/Continua a musica if (komut == 'p') { duraklama = !pausa; if (duraklatma == 0) { Serial.println("Devam…"); myDFPlayer.start(); } if (duraklat == 1) { Serial.println("Müzik Duraklatıldı!"); myDFPlayer.pause(); } menu_opcoes(); }

//Sesi artırır

if (komut == '+') { myDFPlayer.volumeUp(); Serial.print("Mevcut hacim:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } if (komut == '') { myDFPlayer.next(); Serial.println("sonraki:"); Serial.print("Mevcut parça:"); Serial.println(myDFPlayer.readCurrentFileNumber()+1); menu_opcoes(); } //Sesi azaltır if (command == '-') { myDFPlayer.volumeDown(); Serial.print("Mevcut Hacim:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } } } void menu_opcoes() { Serial.println(); Serial.println(F("========================================== ================================================= ====================================")); Serial.println(F("Komutlar:")); Serial.println(F(" [1-3] MP3 dosyasını seçmek için")); Serial.println(F(" [s] çoğaltmayı durduruyor")); Serial.println(F(" [p] müziği duraklat/devam et")); Serial.println(F(" [+ veya -] sesi artırır veya azaltır")); Serial.println(F(" parçayı ileri veya geri alır")); Seri.println(); Serial.println(F("========================================== ================================================= ====================================")); }

Yukarıda sunulan kod oldukça basittir ve şarkıyı numarasına göre seçmenize, durdurmanıza, duraklatmanıza, ses seviyesini kontrol etmenize ve parçaları geçmenize yardımcı olacaktır.

Müzik kontrolü, Arduino IDE serisinden Arduino kartımıza veri göndermekten oluşur. İlk olarak sistem kurulumda konfigürasyonu yapar ve SD Kartın modüle takılı olup olmadığını kontrol eder.

Takılı değilse, sistem kullanıcıyı uyarmak için bir mesaj sunar.

Ayrıca sistem, sistem yapılandırma seçenekleriyle birlikte mesajlar görüntüler.

void setup(){ //Comunicacao seri iletişim modulo mySoftwareSerial.begin(9600); //Arduino Serial.begin(115200); //Verifica se o modulo esta yanıtlayan e se o //cartao SD foi encontrado Serial.println(); Serial.println(F("DFRobot DFPlayer Mini")); Serial.println(F("DFPlayer modülü başlatılıyor… Bekleyin!")); if (!myDFPlayer.begin(mySoftwareSerial)) { Serial.println(F("Başlatılmamış:")); Serial.println(F("1. DFPlayer Mini bağlantılarını kontrol edin")); Serial.println(F("2. Bir SD kart takın")); while (doğru); } Seri.println(); Serial.println(F("DFPlayer Mini modülü başlatıldı!")); //Tanımlar başlangıç myDFPlayer.setTimeOut(500); //Zaman aşımı seri 500ms myDFPlayer.volume(5); //Cilt 5 myDFPlayer. EQ(0); //Equalizacao normal menu_opcoes(); }

Hafıza kartı takılırsa, kod akışı döngü fonksiyonuna girer.

void loop(){ //Seri olarak veri girişi için bekler while (Serial.available() > 0) { command = Serial.read(); if ((komut >= '1') && (komut <= '3')) { Serial.print("Müzik çoğaltma"); Serial.println(komut); komut = komut - 48; myDFPlayer.play(komut); menu_opcoes(); } //Reprodüksiyon //Stop if (komut == 's') { myDFPlayer.stop(); Serial.println("Müzik Durdu!"); menu_opcoes(); } //Pausa/Continua a musica if (komut == 'p') { duraklama = !pausa; if (duraklatma == 0) { Serial.println("Devam…"); myDFPlayer.start(); } if (duraklatma == 1) { Serial.println("Müzik Duraklatıldı!"); myDFPlayer.pause(); } menu_opcoes(); }

//Sesi artırır

if (komut == '+') { myDFPlayer.volumeUp(); Serial.print("Mevcut hacim:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } if (komut == '') { myDFPlayer.next(); Serial.println("sonraki:"); Serial.print("Mevcut parça:"); Serial.println(myDFPlayer.readCurrentFileNumber()+1); menu_opcoes(); } //Sesi azaltır if (command == '-') { myDFPlayer.volumeDown(); Serial.print("Mevcut Hacim:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } } }

Kullanıcı aşağıdaki kontrol karakterlerini gönderebilir:

1'den 3'e kadar numaralar: Çalınacak şarkıyı seçin;

  • Harf s: Şarkıyı durdur; Harf p: Şarkıyı duraklat;
  • + işaretini gönderin: Şarkı sesini artırın;
  • - sinyalini gönder: Şarkı sesini azaltın;
  • Sinyali gönder <: Önceki şarkıyı seçin;
  • Sinyali gönder >: Sonraki şarkıyı seçin;

Bu sinyaller, harfler ve rakamlardan Arduino bunları seri olarak alacak ve çalınacak müziği kontrol edecektir.

Her koşul, kendi komutlarıyla birlikte aşağıda ve dahili olarak sunulmuştur.

if ((komut >= '1') && (komut <= '3')){ Serial.print("Müzik çoğaltma"); Serial.println(komut); komut = komut - 48; myDFPlayer.play(komut); menu_opcoes(); } //Reprodüksiyon //Stop if (komut == 's') { myDFPlayer.stop(); Serial.println("Müzik Durdu!"); menu_opcoes(); } //Pausa/Continua a musica if (komut == 'p') { duraklama = !pausa; if (duraklatma == 0) { Serial.println("Devam…"); myDFPlayer.start(); } if (duraklatma == 1) { Serial.println("Müzik Duraklatıldı!"); myDFPlayer.pause(); } menu_opcoes(); }

//Sesi artırır

if (komut == '+') { myDFPlayer.volumeUp(); Serial.print("Mevcut hacim:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } if (komut == '') { myDFPlayer.next(); Serial.println("sonraki:"); Serial.print("Mevcut parça:"); Serial.println(myDFPlayer.readCurrentFileNumber()+1); menu_opcoes(); } //Sesi azaltır if (command == '-') { myDFPlayer.volumeDown(); Serial.print("Mevcut Hacim:"); Serial.println(myDFPlayer.readVolume()); menu_opcoes(); } }

Dolayısıyla, sunulan tüm adımları uyguladıysanız şunları öğrenebildiniz:

  • DFMini Player MP3'ün temel çalışma devresi;
  • Hafıza kartındaki ses dosyalarının organizasyonu ve konfigürasyonu;
  • Arduino ile müzik kontrolü. Bu koddan, sistem işlevselliği olarak sesi kullanması gereken başka projeler geliştirebilirsiniz.

Teşekkür

Bitirirken, okuduğunuz ve Silício Lab'ı sizin için bu makalenin hazırlanmasında desteklediği için PCBWAY. COM'un desteği için teşekkür ederiz.

Silícios Laboratuvarı, bu projeyi inşa etmek için elektronik bileşenleri sunduğu için UTSOURCE'a teşekkür eder.

Önerilen: