اتصال ماژول آمپلی فایر میکروفن MAX4466 به آردوینو
محتویات
میکروفن ها امروزه در دستگاه های خیلی زیادی استفاده میشوند، از تلفن های همراه ما گرفته تا سیستم های هوشمند سازی خانه ها همه وابسته به میکروفن ها هستتند. انواع میکروفن برای کاربرد های مختلف استفاده میشوند، به عنوان مثال از میکروفن های MEMS به دلیل دقت بالای آن ها در تلفن های همراه استفاده میشود که خروجی دیجیتالی دارند. میکروفون ها با خروجی آنالوگ نیز از گذشته معروف بوده اند و هنوز هم به دلیل ارزان بودن استفاده میشوند. مشکل این میکروفن ها ضعیف بودن سیگنال خروجی آن ها هست و برای رفع این مشکل باید از آمپلی فایر های برای تقویت سیگنال استفاده کنیم.
در این مقاله با ماژول میکروفن MAX4466 کار میکنیم که با یک تقویت کننده از پیش ساخته شده تعبیه شده است. در این درس ابتدا این ماژول را معرفی میکنیم و سپس نحوه راه اندازی ماژول MAX4466 با برد آردوینو را آموزش میدهیم.
ماژول تقویت کننده میکروفون MAX4466
ماژول آمپلی فایر میکروفن MAX4466 یک ماژول همه کاره با کاربرد بسیار گسترده و آسان هست. این ماژول مبتنی بر تراشه تقویت کننده MAX4466 است که میتواند بهره (Gain) تا 125 را ارائه کند که از طریق پتانسیومتر روی ماژول قابل تنظیم است. این مورد به کاربر اجازه میدهد حساسیت را با توجه به پروژه خود تنظیم کند.
MAX4466 قادر است سیگنال با پهنای باند 600 کیلوهرتز AV ≥ 5 را تنها با جریان 24 میکروآمپر ارائه دهد. این ماژول همچنین دارای یک میکروفون است که قادر به ضبط صدا از 20 هرتز تا 20 کیلوهرتز است. با این ویژگی های عالی، ماژول تقویت کننده میکروفون MAX4466 قادر است صدایی فوق العاده را حتی در محیط های پر سر و صدا ضبط کند.
پین اوت ماژول آمپلی فایر میکروفون MAX4466
ماژول MAX4466 تنها دارای 3 پین است که کار با آن را بسیار آسان می کند. پین های این ماژول شامل VCC، GND و OUT هستند. پایه های VCC و GND برای تامین برق ماژول استفاده می شود و سیگنال خروجی از پین OUT گرفته می شود.
- VCC: ورودی تغذیه ماژول (2.4 ولت تا 5.5 ولت)
- GND: اتصال به زمین منبع تغذیه
- OUT: خروجی سیگنال تقویت شده از میکروفن
در تصویر زیر میتوانید اجزای اصلی این ماژول را مشاهده کنید. همانطور که مشخص است، در نمای جلویی فقط میتوانید یک میکروفن را مشاهده کنید.
مدار اصلی در پشت ماژول است. میتوانید تراشه آمپلی فایر MAX4466 را به همراه اتصالات آن ببینید. پتانسیومتر تنظیم بهره ماژول در قسمت پشتی قرار گرفته است.
سوالات متداول درباره ماژول MAX4466
MAX4466 آنالوگ است یا دیجیتال؟
MAX4466 یک خروجی آنالوگ ارائه می دهد.
محدوده فرکانس MAX4466 چقدر است؟
سیگنال صوتی می تواند در محدوده فرکانس 20 تا 20 کیلوهرتز باشد.
چگونه بهره را در MAX4466 تنظیم کنیم؟
در قسمت پشتی برد، یک پتانسیومتر کوچک برای تغییر گین تعبیه شده است. امکان تنظیم بهره از 25x تا 125x وجود دارد.
تفاوت MAX9814 و MAX4466 چیست؟
MAX4466 کاملاً کلاسیک است و دارای op-AMP یکپارچه است و بهره می تواند از 25x به 125x تغییر کند در حالی که MAX9814 دارای کنترل بهره خودکار است.
ولتاژ کاری MAX4466 چقدر است؟
ماژول MAX4466 می تواند با محدوده ولتاژ 2.4 تا 5 ولت تغذیه شود.
اتصال ماژول MAX4466 به برد آردوینو
برای اتصال ماژول MAX4466 به آردوینو، از یک پین آنالوگ استفاده خواهیم کرد. شماتیک مدار زیر را دنبال کنید و اتصالات را مطابق آن انجام دهید.
اتصالات این پروژه ساده است زیرا شما فقط به 3 سیم احتیاج دارید. دو سیم برای تغذیه بین 5V و VCC آردوینو و ماژول و همچنین بین GND و GND هستند. پایه خروجی ماژول به پایه A0 برد آردوینو متصل میشود.
کد آردوینو تقویت کننده میکروفون MAX4466
در این کد نمونه، خروجی میکروفن را میخوانیم و همچنین مقادیر را در سریال پلاتر آردوینو نمایش میدهیم. کد کامل پروژه در انتهای مطلب قابل دانلود هست.
در ابتدای کد متغیر های مورد نیاز را تعریف میکنیم و سپس سریال مانیتور آردوینو را با نرخ 9600 راه اندازی میکنیم.
در این مثال خروجی میکروفون را می خوانیم و مقادیر پیک روی پلاتر سریال رسم می شوند. در ابتدا، همه متغیرهای مورد نیاز خود را به عنوان متغیر جهانی اعلام کرده ایم. سپس در تابع setup، رابط سریال را با نرخ باود 9600 مقداردهی اولیه کردهایم. مقدار پیک را روی سریال ارسال میکنیم، و این مقدار ارسال بر روی پلاتر سریال Arduino IDE رسم میشود.
const int sampleWindow = 50; // نرخ نمونه برداری (50 mS = 20Hz) int const Input_Pin = A0; // پایه متصل به خروجی unsigned int ADC_Value; void setup() { Serial.begin(9600); }
سپس در تابع Loop، مقادیر ADC را به طور پیوسته برای نمونه برداری می خوانیمو سپس مقدار پیک شناسایی شده در این نمونه را محاسبه می کنیم. سپس این مقدار پیک با استفاده از دستور Serial.print به سریال مانیتور ارسال میشود. شما همچنین می توانید ببینید که ما مقادیر زیر 20 را حذف کرده ایم، زیرا این موارد بیشتر نویز است.
void loop() { unsigned long startMillis = millis(); // ثبت زمان فعلی unsigned int PeakValue = 0; // peak-to-peak unsigned int InMax = 0; unsigned int InMin = 1024; // نمونه برداری هر 50 ثانیه while (millis() - startMillis < sampleWindow) { ADC_Value = analogRead(Input_Pin); if (ADC_Value < 1024) // { if (ADC_Value > InMax) { InMax = ADC_Value; // ذخیره مقدار بالا } else if (ADC_Value < InMin) { InMin = ADC_Value; // ذخیره مقدار پایین } } } PeakValue = InMax - InMin; // max - min = peak-peak amplitude if (PeakValue < 20) { PeakValue = 0; } Serial.println(PeakValue); }
حالا کد را روی برد آردوینو آپلود میکنیم سپس میتوانیم مشابه تصویر زیر مشاهده کنیم که با ایجاد هر گونه صدا سریال پلاتر میزان صدای ایجاد شده را نمایش میدهد.
موارد موجود در فایل : سورس کامل
برای دانلود فایل ها باید حساب کاربری داشته باشید ثبت نام / ورود