Arduino Ses Makinesi

Hala bir Arduino Ses Makinesi projesi göndermek için birçok istek alıyorum. Bence şimdi yeni başlayanlar için bir kitapçık hazırlamanın tam zamanı. Öncelikle, burada paylaşacak yeni bir şeyim olmadığı için beklentilerinizi düşük tutun. Sadece Arduino’ya dayalı küçük bir ses üreteci projesi oluşturmanıza yardımcı olmak istiyorum – hepsi bu. Tamam, başlayalım!

MP3-TF-16P Modülü

Burada sunulan projem, yükseltilmiş mono hoparlör çıkışına sahip ucuz bir MP3 modülü olan eski ancak hala mevcut olan MP3-TF-16P seri MP3 mini modülüne dayanıyor. Modül, bağlı pil, hoparlör ve basma düğmelerine sahip bağımsız bir modül olarak kullanılabilir veya bir Arduino veya seri iletişim (UART) özelliklerine sahip başka herhangi bir mikrodenetleyici ile birlikte kullanılabilir. Veri sayfalarına göre, bu kullanımı kolay, kararlı ve güvenilir modül, mükemmel entegre MP3 ve WMV donanım kod çözme sağlar.

Küçük modülün bir SD Kart portu vardır ve MP3 dosyalarını SD Karttan okur. Ayrıca bu modülde bir mikrodenetleyici ile haberleşmek için kullanılan TX ve RX pinleri bulunmaktadır. Ayrıca DAC ve USB Fonksiyonlarına sahiptir.

Temel Özellikler (veri sayfasından kopyalanır):

  • Desteklenen örnekleme oranları (kHz): 8 / 11.025 / 12/16 / 22.05 / 24/32 / 44.1 / 48
  • 24 bit DAC çıkışı, dinamik aralık 90dB desteği, SNR desteği 85dB
  • FAT16, FAT32 dosya sistemlerini, maksimum 32G TF kartı desteği, 32G U disk, 64M bayt NORFLASH’ı destekler
  • Çeşitli kontrol modları, G / Ç kontrol modu, seri mod, AD düğmesi kontrol modu
  • Reklam sesi bekleme işlevi, müzik askıya alınabilir. müzikte reklam bittiğinde oynamaya devam edin
  • Klasöre göre sıralanan ses verileri, 100 klasöre kadar destekler, her klasör 255 şarkıya kadar tutabilir
  • 30 seviye ayarlanabilir hacim, 6 seviyeli EQ ayarlanabilir
  • MP3, WAV, WMA kodlarını çözer

YX5200-24SS (çekirdek) ve 8002 (ses) IC’leri etrafında oluşturulmuş MP3-TF-16P modülünün pini aşağıda verilmiştir. Pin çıkışı verilerinde görebileceğiniz gibi, küçük MP3 modülü ayrıca yazılım ses kontrolü (DAC_R, DAC_L) altında iki kanallı (stereo) ses çıkışı sağlar.

MP3-TF-16P modülünün çalışması için üç mod vardır – Seri mod, AD Anahtar modu ve G / Ç modu. Seri mod, asenkron seri iletişimi destekler – UART.

  • İletişim Standardı: 9600 bps
  • Veri bitleri: 1
  • Çıkış: Yok
  • Akış Kontrolü: Yok

Seri iletişim modundayken seviye dönüşümüne dikkat etmelisiniz çünkü modülün harici arayüzleri 3,3V TTL seviyesi için uyarlanmıştır. Projeniz için önerilen mikrodenetleyici, Arduino Uno / Nano gibi 5V tipiyse, modülün RX pini ile seri olarak 1K direnç eklemeniz önerilir. Modül için önerilen giriş voltajı (Vcc) DC3.2V ila 5.0V’dir (4.2V tipik). Yerleşik ‘köprü’ ses amplifikatörü, standart bir 3W dereceli hoparlörü çalıştırabilir (hoparlör seçimi hakkında daha fazla bilgi edinmek için veri sayfasına bakın).

İlgili Web Bağlantıları:

Arduino Entegrasyonu

Bir Arduino kartıyla kullanmak için, modülün yalnızca VCC, GND, SP +, SP-, TX ve RX pinlerine ihtiyacınız olacaktır (diğer pinler isteğe bağlıdır). Tüm kablolama oldukça basittir. Modül, Arduino Uno ile TX ve RX olarak işaretlenmiş pinleri aracılığıyla seri olarak iletişim kurar. Mevcut kurulumda, Uno’nun D10 ve D11 pinleri Yazılım Seri kütüphanesi altında programlanabilir TX ve RX olarak işlev görür. Modülün hoparlör çıkış pimleri (SPK_1 ve SPK_2) küçük bir hoparlöre yönlendirilir. Bazı MP3 dosyalarını SD karta kopyalayıp Arduino Sketch’i yükledikten sonra, modül üzerindeki kırmızı LED’in oynatma işlemi sırasında yanıp sönmeye başladığını görebilirsiniz.

Modülle birlikte yalnızca bir mikro SD kart kullanabileceğinizi unutmayın (hızlı bir başlangıç ​​için 1 GB yeterlidir). Çoğu mikro SD kart, kutudan çıkar çıkmaz çalışır, ancak önceden kullanılmış bir kartın kurulum tarafından okunamama ihtimali vardır. Öyleyse, bellek kartını bir mikro SD kart adaptörü / okuyucusu ve bilgisayarınız kullanarak biçimlendirmeyi deneyin. Kurulum, FAT16 ve FAT32 dosya sistemlerini destekler. Mikro SD kartı bilgisayarınıza takın, Bilgisayarım’a gidin, SD karta sağ tıklayın ve Biçimlendir… öğesini seçin.

Ardından, bu Micro SD kartta MP3 adlı yeni bir klasör oluşturun ve mp3 dosyalarınızı buraya kopyalayın. MP3 dosyaları “0001 Name.mp3 ″,” 0002 Name.mp3 ”ve benzeri adlara sahip olmalıdır. Unutmayın, MP3 dosyalarını mikro SD karta kopyalama sıranız, oynatma sırasını etkileyecektir, yani burada kullanılan Arduino Sketch’teki oynat (1) işlevi, mikro SD karta kopyalanan ilk MP3 dosyasını oynatacaktır.

Aşağıda bahsi geçen donanım kurulumu ile kullandığım hızlı test Arduino Sketch’i görebilirsiniz. Açıkçası, bu Arduino Sketch, web’den alınan bir kodun uyarlanmış bir sürümüdür. Arduino Sketch’in üç kitaplığa ihtiyacı vardır – “Arduino h”, “SoftwareSerial h” ve “DFRobotDFPlayerMini.h”.

Üçüncü kütüphaneyi indirip kurduktan sonra, Arduino Sketch’i kopyalayıp yapıştırın ve yükleyin (kütüphane indirme bağlantısı https://github.com/DFRobot/DFRobotDFPlayerMini).

#include "Arduino.h"

#include "SoftwareSerial.h"

#include "DFRobotDFPlayerMini.h"

SoftwareSerial mySoftwareSerial(2, 3); // RX, TX

DFRobotDFPlayerMini myDFPlayer;

void setup()

{

  mySoftwareSerial.begin(9600);

  Serial.begin(115200);

  Serial.println();

  Serial.println(F("DFRobot DFPlayer Mini Demo"));

  Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));

  if (!myDFPlayer.begin(mySoftwareSerial)) {  //Use softwareSerial to communicate with mp3.

    Serial.println(F("Unable to begin:"));

    Serial.println(F("1.Please recheck the connection!"));

    Serial.println(F("2.Please insert the SD card!"));

    while(true);

  }

  Serial.println(F("DFPlayer Mini online."));

  myDFPlayer.volume(20);  //Set volume value. From 0 to 30

}

void loop()

{

  myDFPlayer.play(1);  //Play the first mp3

delay(2000);

  myDFPlayer.next();  //Play next mp3

delay(2000);

  myDFPlayer.next();  //Play next mp3

delay(2000);

  myDFPlayer.next();  //Play next mp3

delay(2000);

}

Dürüst olmak gerekirse, küçük mylar hoparlörümden gelen teneke mono MP3 çıkışından nefret ettim. Bu yüzden, stereofonik bir çıktı elde etmenin kolay bir yolunu aradım ve harika bir numara buldum! MP3-TF-16P modülünün DAC_R ve DAC_L çıkış pinlerini, ortak sinyal giriş noktası (G) GND’ye bağlıyken, L ve R üzerinden 100Ω dirençler üzerinden bir şekilde ‘hacklenmiş’ bir PC multimedya konuşmacısının sinyal giriş noktalarına bağladım. Ardından, modülün mevcut monofonik hoparlör çıkış pimleri (SPK_1 ve SPK_2) isteğe bağlı monofonik ses çıkışı olarak 2 pimli vidalı terminale bağlanır. Yine de, revize edilmiş kurulum iyi oynuyor!

Bu, benim kullandığım PC multimedya hoparlör sistemidir. Neyse ki, kendi USB güç kaynağı var.

Orijinal DFPlayer modülü (DFRobotics’ten), harika bir fiyata harika bir küçük MP3 çalar modülüdür. Bu ucuz MP3-TF-16P Modülünün performansı da oldukça iyi. Bu MP3-TF-16P modülünün şeması, temelde YX5200-24SS MP3 çalar yonga satıcısı tarafından tasvir edilen resmi referans tasarımının neredeyse bir kopyasıdır (aşağıya bakın), ancak sahte bir AB sınıfı (D değil) 8 pimli 8002 ses kullanır BTL (köprüye bağlı yük) modunda amplifikatör çipi.

MP3-TF-16P mini MP3 çalar modülünü Arduino Uno’ya nasıl bağlayacağınızı ve çalmaya nasıl başlayacağınızı öğrendiniz. Açıkçası, mikro SD kart tabanlı bir MP3 oynatıcı modülünü bir Arduino ile arayüzlemek, yeni bir gerçek dijital ses dünyasının üstesinden gelir. Bu temel fikri, özelleştirilmiş ses tabanlı uyarılara ihtiyaç duyan birçok projede kullanmak üzere düzenleyebilirsiniz.

Mini MP3 Çalar modülü, tek bir hoparlör için doğrudan çıkışı olan küçük ve ucuzdur. Modül aynı zamanda bağlı pil, hoparlör ve basma düğmeleri ile bağımsız bir modül olarak da kullanılabilir. Sahte olanlar da dahil olmak üzere bu süper sevimli modülün pek çok çeşidi olduğunu belirtmekte fayda var. Bu sahtekarlıkların en son DFR kitaplığının tüm özelliklerini desteklemediğini gözlemledim (sahteler işe yarıyor, ancak yalnızca sınırlı biçimde). Ayrıca, oynatma sırasında çok yüksek sesler duyarsanız, modül gücünü Arduino gücünden ayırmanız ve / veya modülün Vcc’sini 4.2VDC’ye düşürmeniz gerekecektir. Bu, DFPlayerMini hile sayfasına faydalı bir bağlantıdırhttps://reprage.com/post/dfplayer-mini-cheat-sheet

Bu arada, henüz denemedim ama işte orijinal satıcının web sitesinden elde edilen örnek bir koda dayanan başka bir basit (uyarlanmış) Arduino Sketch. Bence bu kodda yer alan kitaplık, en son DFRobot kitaplığının öncüsüdür!

#include <softwareserial.h>

#include <dfplayer_mini_mp3.h>

void setup () {

Serial.begin (9600);

mp3_set_serial (Serial); // TX0 and RX1

mp3_set_volume (15);

}

void loop () {

mp3_play (1); //play 0001.mp3

delay (10000); //10 sec time delay to finish playing

mp3_play (2);

delay (5000);

 

 mp3_play (3);
 delay (3000);
 

 mp3_play (12); //play 0012.mp3
 delay (8000);
 

 mp3_play (16); //play 0016.mp3
 delay (6000);
 

 mp3_play (30); //play 0030.mp3
 delay (9000);
 

}

Bu makale buradan çevrilmiştir.