Mündəricat:

MAX9814 Mikrofonlu Arduino Nano Səs Yazıcı: 3 addım
MAX9814 Mikrofonlu Arduino Nano Səs Yazıcı: 3 addım

Video: MAX9814 Mikrofonlu Arduino Nano Səs Yazıcı: 3 addım

Video: MAX9814 Mikrofonlu Arduino Nano Səs Yazıcı: 3 addım
Video: Как работает датчик звука Arduino 2024, Iyul
Anonim
MAX9814 Mikrofonu ilə Arduino Nano Səs Yazıcı
MAX9814 Mikrofonu ilə Arduino Nano Səs Yazıcı
MAX9814 Mikrofonu ilə Arduino Nano Səs Yazıcı
MAX9814 Mikrofonu ilə Arduino Nano Səs Yazıcı
MAX9814 Mikrofonu ilə Arduino Nano Səs Yazıcı
MAX9814 Mikrofonu ilə Arduino Nano Səs Yazıcı

Amazonda AZ çatdırılmasından MAX9814 mikrofonu aldım və cihazı sınamaq istədim. Buna görə də, Great Scott's Spy Bug üzərində qurulan bu sadə layihəni yaratdım (bu yaradıcı ümumi lisenziya altında nəşr olunur). Effektivliyi artırmaq və bir neçə yeni xüsusiyyət əlavə etmək üçün layihələrin strukturunu bir qədər dəyişdirdim. Bu mənim ilk Instructables layihəmdir, buna görə mükəmməl olmayacaq, amma öyrənmək və məsləhətlərə açıq olmaq istəyirəm.

Fərqli qazancları olan mikrofondan alınan test nəticələri sonunda əlavə olunur, buna görə yalnız 40dB, 50dB və 60dB qazanclarının keyfiyyətini müqayisə etmək istəyirsinizsə oraya keçə bilərsiniz.

Ümid edirəm ki, bu layihə mikrofonu öz layihəsinə daxil etmək istəyən insanlar üçün faydalı olacaq. Mən də bu layihəni yeni başlayanlar üçün mümkün qədər əlçatan etmək ümidindəyəm, buna görə koduma bir çox şərh əlavə etdim, amma faydalı ola biləcək hər hansı əlavə aydınlıq əlavə etmək üçün işlərimi yenidən nəzərdən keçirməkdən məmnunam. Kablolama çox yeni başlayanlar üçün əlverişlidir, lakin proqramın tətbiqi bir az çətindir.

Bütün layihə sənədlərinə baxın və kodumu GitHub depomda təkmilləşdirməyi təklif edin.

Təchizat:

Amazon:

  • MAX9814 gücləndirici ilə mikrofon
  • Çörək lövhəsi
  • Arduino Nano (3 paketdən ibarətdir, ancaq yalnız birinə ehtiyacınız var!)
  • SD kart oxuyucusu
  • LEDlər
  • Rezistorlar
  • Toxunma düymələri
  • USB B Mini kabel (Arduino Nano üçün)
  • USB güc bankı (yerli olaraq alınmış ucuz birindən istifadə etdim)

Addım 1: Cihazın dövrəsi və izahı

Cihazın dövrəsi və izahı
Cihazın dövrəsi və izahı

Dövrümü Arduino Nano cihazı ilə işləmək üçün fərdiləşdirdim, ancaq kodumun üst hissəsindəki pin nömrələrini düzəldərək dövrənizi fərqli Arduino cihazlarında işlədə bilərsiniz (növbəti hissə). Cihazınızda dövrə qurmaq üçün "Arduino [Modeliniz] pinout" axtarın və hər pinin hansı funksiyaları yerinə yetirə biləcəyini göstərən bir çox şəkil olmalıdır (məsələn, Analog Giriş, SS, MOSI və s.). Əksər cihazlar da etiketli sancaqlar ilə gəlir. EasyEDA redaktorundan istifadə edərək bu sxemi çəkdim, amma bunu mümkün qədər tez yaratmaq istədiyim üçün və lehimsiz çörək taxtasından istifadə edərək düzümü tez yenidən konfiqurasiya etmək istədim.

Addım 2: Proqramlaşdırma

Proqramlaşdırma
Proqramlaşdırma

Səsin cihaza yazılması üçün bir neçə sadə kod yazdım. Great Scott kodunu ilham olaraq istifadə etdim, amma səmərəliliyi və sadəliyi artırmaq üçün quruluşu dəyişdim. Yazıla biləcək faylların sayındakı məhdudiyyətləri də aradan qaldırdım və yeni başlayanlar üçün naviqasiyaya kömək edəcək daha çox şərh əlavə etdim. Aşağıdakı bitmiş kodu yükləyin və Arduino IDE -dən istifadə edərək açın. Arduino Paket menecerindən istifadə edərək lazımi modulları ("SD.h", "SPI.h" və "TMRpcm.h") yükləyin (yuxarıdakı şəkillərdə göstərilmişdir).

SD kartda WAV faylına qeyd etmək TMRpcm kitabxanasının inkişaf etmiş bir xüsusiyyətidir, buna görə kitabxananın konfiqurasiya faylını redaktə etməlisiniz. Bu çətin görünsə də (ən azından mənim üçün belə idi), yalnız fayl araşdırıcısından istifadə edərək "pcmConfig.h" faylını axtarır və bir neçə sətir kodunu şərh edir (sonra saxlayır).

  1. Uno və ya mega olmayan lövhələrdə #define buffSize 128 xəttini şərh edin
  2. Həmçinin şərh et #define ENABLE_RECORDING və #define BLOCK_COUNT 10000UL

Arduino IDE -yə tam qayıtdıqdan sonra Arduino -nuzu qoşun, seçin və sonra proqramı tərtib edin və yükləyin. Serial monitorun açılması da iş vaxtı ərzində sizə bir qədər geribildirim verəcəkdir.

Addım 3: Bitmiş Layihə və Test

Bitmiş Layihə və Test
Bitmiş Layihə və Test

Kablolama və ayıklama işlərini bitirdikdən sonra layihəni sınadım.

XƏBƏRDARLIQ Cihazı yenidən başlatmaq yeni faylların köhnə faylların üzərinə yazılmasına səbəb olan fayl sayğacını sıfırlayacaq.

Cihazı istifadə etmək üçün:

  1. USB kabelini Arduinoya qoşun
  2. yazmağa başlamaq üçün toxunma düyməsini basın (bunu göstərmək üçün LED yanacaq)
  3. yazını bitirmək üçün düyməni yenidən basın
  4. bir çox qeyd lazım olduğu üçün təkrarlayın
  5. USB elektrik kabelini ayırın
  6. SD kartı çıxarın
  7. SD kartı kompüterə və ya telefona daxil edin
  8. Seçdiyiniz səsləndirmə tətbiqindəki faylları açın

Bu layihənin ilkin məqsədi MAX9814 mikrofonunu sınamaq idi, buna görə də onun daxili gücləndiricisinin nəticəyə təsirini öyrənmək üçün üç sınaq keçirdim. Səs yazarkən Motsartın simfoniyasından birini nəzarət dəyişən kimi istifadə etdim. Telefonumun dinamikində çaldım və hər üç yazı üçün sabit bir məsafədə mikrofonu göstərdim. Dəyişdirdiyim yeganə dəyişən mikrofonun qazancı idi (VCC, GND -ə qoşularaq və ya üzən vəziyyətdə qoyularaq düzəldilir). Yaranan audio kliplər əlavə olunur. 40dB və 60dB səsi də 40dB -nin sol qulaqda, 60dB -nin isə sağ qulaqda çalındığı tək bir qeyddə birləşdirdim. Bu keyfiyyət fərqini çox nəzərəçarpan edir və MAX9814 modulunun təmin etdiyi qazancın nə qədər əhəmiyyətli olduğunu göstərir.

Ümumiyyətlə, qeyd nəticələrindən inanılmaz dərəcədə məmnun oldum, çünki cihazın qurulması gördüyüm ən sadə qurğulardan biridir (yalnız üç telli və heç bir xarici komponenti yoxdur - hətta sadə bir LED də bir rezistor tələb edir). Arduino Nanonun 10 bitlik bir ADC -yə sahib olduğunu da nəzərə almaq lazımdır, buna görə hər hansı bir amplituda oxunması yalnız 1024 diskret dəyərlərdən biri ola bilər. Yaxşı səs keyfiyyəti, yığcam ölçüsü və əhəmiyyətsiz enerji istehlakı səbəbindən; Cihazdan gələcək layihələrdə istifadə edəcəyimi ümid edirəm.

Kifayət qədər ətraflı məlumat verməmiş olsaydım, kömək etməkdən və əlavə aydınlıq gətirməkdən çox məmnun olardım. Bu mənim ilk Təlimatlarımdır, ona görə də indi verdiyim hər bir məsləhət gələcək layihələrimə əks oluna bilər. Kodlarımı təkmilləşdirmək üçün hər hansı bir təklifiniz varsa, bunları GitHub və bu Təlimatlardakı layihəmə əlavə etməkdən məmnun olaram.

Tövsiyə: