İçindekiler:

MAX9814 Mikrofonlu Arduino Nano Ses Kayıt Cihazı: 3 Adım
MAX9814 Mikrofonlu Arduino Nano Ses Kayıt Cihazı: 3 Adım

Video: MAX9814 Mikrofonlu Arduino Nano Ses Kayıt Cihazı: 3 Adım

Video: MAX9814 Mikrofonlu Arduino Nano Ses Kayıt Cihazı: 3 Adım
Video: Arduino Nano ile Telsiz -Walkie Talkie- yapımı 2024, Kasım
Anonim
MAX9814 Mikrofonlu Arduino Nano Ses Kayıt Cihazı
MAX9814 Mikrofonlu Arduino Nano Ses Kayıt Cihazı
MAX9814 Mikrofonlu Arduino Nano Ses Kayıt Cihazı
MAX9814 Mikrofonlu Arduino Nano Ses Kayıt Cihazı
MAX9814 Mikrofonlu Arduino Nano Ses Kayıt Cihazı
MAX9814 Mikrofonlu Arduino Nano Ses Kayıt Cihazı

Amazon'da AZ teslimatından bir MAX9814 mikrofon aldım ve cihazı test etmek istedim. Bu nedenle, Great Scott's Spy Bug (bu yaratıcı ortak lisans altında yayınlanmıştır) üzerine kurulu bu basit projeyi oluşturdum. Verimliliği artırmak ve birkaç yeni özellik eklemek için proje yapısını biraz değiştirdim. Bu benim ilk Instructables projem, bu yüzden mükemmel olmayacak ama öğrenmeye ve tavsiyeye açığım.

Farklı kazançlara sahip mikrofondan gelen test sonuçları en sona eklenir, bu nedenle sadece 40dB, 50dB ve 60dB kazançların kalitesini karşılaştırmak istiyorsanız oraya geçebilirsiniz.

Umarım bu proje, projelerine mikrofon yerleştirmeye çalışanlar için faydalı olur. Ayrıca bu projeyi yeni başlayanlar için mümkün olduğunca erişilebilir hale getirmeyi umuyorum, bu yüzden koduma birçok yorum ekledim ama aynı zamanda yardımcı olabilecek herhangi bir ekstra açıklama eklemek için çalışmamı revize etmekten de mutluyum. Kablolama çok acemi dostu ama yazılımı uygulamak biraz daha zor.

GitHub depomdaki tüm proje dosyalarını görüntüleyin ve kodumda iyileştirmeler önerin.

Gereçler:

Amazon:

  • Amplifikatörlü MAX9814 mikrofon
  • ekmek tahtası
  • Arduino Nano (3'lü bir paket ama sadece bir tanesine ihtiyacınız var!)
  • SD kart okuyucu
  • LED'ler
  • dirençler
  • Dokunsal Düğmeler
  • USB B Mini kablo (Arduino Nano için)
  • USB güç bankası (yerel olarak satın aldığım ucuz bir tane kullandım)

Adım 1: Devre ve Cihazın Açıklaması

Devre ve Cihaz Açıklaması
Devre ve Cihaz Açıklaması

Devremi Arduino Nano cihazı ile çalışacak şekilde özelleştirdim ancak kodumun üst kısmındaki pin numaralarını düzenleyerek devrenizi farklı Arduino cihazlarında çalıştırabilirsiniz (sonraki bölüm). Devreyi cihazınızda kurmak için "Arduino [Your model] pinout" araması yapın ve her bir pinin hangi işlevleri gerçekleştirebileceğini gösteren birçok resim olmalıdır (örn. Analog Giriş, SS, MOSI vb.). Çoğu cihaz ayrıca etiketli pimlerle birlikte gelir. Bu şemayı EasyEDA düzenleyicisini kullanarak çizdim, ancak bunu olabildiğince çabuk oluşturmak ve düzeni hızlı bir şekilde yeniden yapılandırmak istediğim için lehimsiz bir devre tahtası kullanarak oluşturdum.

Adım 2: Programlama

Programlama
Programlama

Sesi cihaza kaydetmek için bazı basit kodlar yazdım. Great Scott'ın kodunu ilham kaynağı olarak kullandım, ancak verimliliği ve basitliği artırmak için yapıyı değiştirdim. Ayrıca kaydedilebilecek dosya sayısı üzerindeki kısıtlamaları kaldırdım ve yeni başlayanların gezinmesine yardımcı olacak daha fazla yorum ekledim. Aşağıdaki bitmiş kodu indirin ve Arduino IDE'yi kullanarak açın. Arduino Paket yöneticisini kullanarak gerekli modülleri ("SD.h", "SPI.h" ve "TMRpcm.h") indirin (yukarıdaki resimlerde gösterilmiştir).

SD karttaki bir WAV dosyasına kayıt yapmak, TMRpcm kitaplığının gelişmiş bir özelliğidir, bu nedenle onu kullanmak için kitaplığın yapılandırma dosyasını düzenlemeniz gerekir. Bu kulağa ürkütücü gelse de (en azından benim için öyleydi) dosya gezginini kullanarak yalnızca "pcmConfig.h" dosyasını arıyor ve birkaç satır kod yorumunu kaldırıyor (sonra kaydediyor).

  1. Uno veya mega olmayan kartlarda #define buffSize 128 satırını kaldırın
  2. Ayrıca #define ENABLE_RECORDING ve #define BLOCK_COUNT 10000UL yorumlarını kaldırın

Arduino IDE'ye dönüşü tamamladıktan sonra, Arduino'nuzu takın, seçin ve ardından programı derleyin ve yükleyin. Seri monitörü açmak, çalışma süresi boyunca size bazı geri bildirimler de verecektir.

Adım 3: Biten Proje ve Test

Biten Proje ve Test
Biten Proje ve Test

Kablolamayı ve hata ayıklamayı bitirdiğimde projeyi test ettim.

UYARI Cihazı yeniden başlatmak dosya adı sayacını sıfırlayarak yeni dosyaların eski dosyaların üzerine yazmasına neden olur.

Cihazı kullanmak için:

  1. Arduino'ya bir USB güç kablosu takın
  2. Kaydı başlatmak için dokunsal düğmeye basın (bunu belirtmek için LED yanacaktır)
  3. kaydı bitirmek için düğmeye tekrar basın
  4. gerektiği kadar kayıt için tekrarlayın
  5. USB güç kablosunu çıkarın
  6. SD kartı çıkarın
  7. SD kartı bir bilgisayara veya telefona takın
  8. Dosyaları seçtiğiniz oynatma uygulamasında açın

Bu projenin ilk amacı MAX9814 mikrofonunu test etmekti, bu yüzden dahili amplifikatörünün sonuç üzerindeki etkisini bulmak için üç test yaptım. Kayıtları yaparken Mozart'ın senfonilerinden birini kontrol değişkeni olarak kullandım. Her üç kayıt için de mikrofona sabit bir mesafede tuttuğum telefonumun hoparlöründe çaldım. Değiştirdiğim tek değişken mikrofonun kazancıydı (VCC, GND'ye bağlayarak veya yüzer halde bırakarak ayarlandı). Ortaya çıkan ses klipleri eklenmiştir. Ayrıca 40dB ve 60dB sesi, 40dB'nin sol kulakta ve 60dB'nin sağ kulakta çalındığı tek bir kayıtta birleştirdim. Bu, kalite farkını çok belirgin kılar ve MAX9814 modülünün sağladığı kazancın ne kadar önemli olduğunu vurgular.

Genel olarak, özellikle cihazın kurulumu gördüğüm en basitlerinden biri olduğu için kayıt sonuçlarından inanılmaz derecede memnun kaldım (sadece üç kabloyla ve harici bileşen olmadan - basit bir LED bile bir direnç gerektirir). Arduino Nano'nun 10 bit ADC'ye sahip olduğu da dikkate alınmalıdır, bu nedenle herhangi bir genlik okuması 1024 ayrık değerden yalnızca biri olabilir. İyi ses kalitesi, kompakt boyutu ve ihmal edilebilir güç tüketimi nedeniyle; Cihazı ileriki projelerde kullanmayı umuyorum.

Yeterince ayrıntıya girmediysem, yardımcı olmaktan ve ekstra açıklama eklemekten çok mutlu olurum. Bu benim ilk Eğitmenlerim, bu yüzden şimdi verdiğim herhangi bir tavsiye, gelecek tüm projelerime yansıtılabilir. Kodlarımı geliştirmek için herhangi bir öneriniz varsa, bunları GitHub ve bu Instructables'taki projeme eklemekten memnuniyet duyarım.

Önerilen: