جستجو برای:
سبد خرید 0
  • خانه
  • فروشگاه
    • دوره های آموزشی
    • پروژه
    • بسته های آموزشی
      • رباتیک
      • آردوینو
  • هوافضا
    • آموزش هوافضا
      • فیلم های آموزش هوافضا
      • PDF های آموزش هوافضا
    • محصولات هوافضایی
    • نرم افزار های هوافضا
    • تازه های هوافضا
  • رباتیک
    • آموزش رباتیک
      • فیلم های آموزش رباتیک
        • PDF های آموزش رباتیک
    • دیتاشیت فارسی
    • نرم افزار های رباتیک
    • تازه های رباتیک
    • تاریخ مسابقات
  • پروژه
    • پروژه های رایگان
    • پروژه های آماده
    • پروژه های آردوینو
    • پروژه های رزبری پای
    • پروژه های بدون میکروکنترلر
    • پردازش تصویر
    • سفارش پروژه
  • دوره های آموزشی
    • کلاس های آموزشی
    • فیلم های آموزشی
    • جلسه های آموزشی
      • آموزش آردوینو
      • آموزش رسپبری پای
      • آموزش STM32
      • ربات پرنده
      • رباتیک مقدماتی
  • تماس با ما
  • درباره ما
  • مقالات
شروع ثبت نام دوره تابستانی آوات روبو
فرصت تکرار نشدنی ثبت نام در دوره های حضوری با 20% تخفیف!
ساعت
دقیقه
ثانیه
مشاهده دوره های آموزشی
رباتیک و هوافضا
ورود
با ایمیل با شماره موبایل
گذرواژه خود را فراموش کرده اید؟
عضویت
با ایمیل با شماره موبایل
  • 09152556924
  • sup@avatrobo.ir
رباتیک و هوافضا
  • خانه
  • فروشگاه
    • دوره های آموزشی
    • پروژه
    • بسته های آموزشی
      • رباتیک
      • آردوینو
  • هوافضا
    • آموزش هوافضا
      • فیلم های آموزش هوافضا
      • PDF های آموزش هوافضا
    • محصولات هوافضایی
    • نرم افزار های هوافضا
    • تازه های هوافضا
  • رباتیک
    • آموزش رباتیک
      • فیلم های آموزش رباتیک
        • PDF های آموزش رباتیک
    • دیتاشیت فارسی
    • نرم افزار های رباتیک
    • تازه های رباتیک
    • تاریخ مسابقات
  • پروژه
    • پروژه های رایگان
    • پروژه های آماده
    • پروژه های آردوینو
    • پروژه های رزبری پای
    • پروژه های بدون میکروکنترلر
    • پردازش تصویر
    • سفارش پروژه
  • دوره های آموزشی
    • کلاس های آموزشی
    • فیلم های آموزشی
    • جلسه های آموزشی
      • آموزش آردوینو
      • آموزش رسپبری پای
      • آموزش STM32
      • ربات پرنده
      • رباتیک مقدماتی
  • تماس با ما
  • درباره ما
  • مقالات
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

وبلاگ

رباتیک و هوافضا > مقالات > پروژه > اندازه گیری سطح صدا با آردوینو بر حسب دسی بل با میکروفون

اندازه گیری سطح صدا با آردوینو بر حسب دسی بل با میکروفون

بهمن 26, 1396
ارسال شده توسط mjavad
پروژه، پروژه های آردوینو، پروژه های رایگان
اندازه گیری سطح صدا با آردوینو

به نام خدا

پروژه اندازه گیری سطح صدا با آردوینو بر حسب دسی بل با میکروفون

 

اندازه گیری سطح صدا با آردوینو بر حسب دسی بل با میکروفون

به علت تراکم جمعیت زیاد, آلودگی صوتی واقعا اهمیت دارد. گوش طبیعی انسان میتواند سطح صدا را از 0 دسی بل تا 140دسی بل بشنود که در آن سطح صدا از120 دسی بل تا 140دسی بل به عنوان نویز در نظر گرفته می شود .بلندی صدا یا سطح صدا معمولا برحسب دسی بل اندازه گیری میشوند .

ما بعضی از ابزار هایی را داریم که میتوانیم که سیگنال های صوتی را در دسی بل اندازه گیری کنیم اما این ابزار ها کمی گران هستند و متاسفانه ما از ماژول باکس برای اندازه گیری سطح صدا در دسی بل استفاده نمی کنیم و مقرون به صرفه نیست خرید میکروفن های گران قیمت .برای یک پروژه کوچک آردوینو که باید میزان صدا را در یک کلاس کوچک یا اتاق نشیمن اندازه گیری کند .

بنابراین در این پروژه از یک میکروفن ساده با آردوینو استفاده میکنیم و سعی میکنیم سطح آلودگی صدا یا سرو صدا را در دسی بل تا حد ممکن نزدیک به مقدار واقعی اندازه گیری کنیم.

ما یک مدار تقویت کننده عادی برای تقویت سیگنال های صوتی و تغذیه آن به آردوینو استفاده خواهیم کرد که در ان از روش رگرسیون برای محاسبه سیگنال های صوتی در دسی بل استفاده میکنیم .

برای بررسی این که آیا مقادیر بدست آمده صحیح هستند , میتوان از نرم افزاراندروید (وسیله صدا) استفاده کنیم ,اگر شما یک وسیله بهتر داشته باشید می توانید آنرا برای کالیبراسیون استفاده کنید.

توجه داشته باشید که هدف این پروژه دقت اندازه گیری برحسب دسی بل نیست و فقط مقادیر را که ممکن است به مقدار واقعی نزدیک می شود, ارایه دهد .

وسایل مورد نیاز:

آردوینو UNO

میکروفن

LM386

پتانسیومتر 10 کیلو

مقاوت و خازن ها

دیاگرام مدار

 

اندازه گیری سطح صدا با آردوینو بر حسب دسی بل با میکروفون

مدار برای این پروژه( سطح صدای آردوینو) خیلی ساده است که ما ازیک تقویت کننده LM386 استفاده کردیم تا سیگنال ها را از میکروفن تقویت کنیم و آنرا به پورت آنالوگ آردوینو بفرستیم.

گین این عامل خاص را میتوان از 20 تا 200 با استفاده از مقاومت یا خازن بین پین 1و 8 تنظیم کرد.اگر آنها آزاد باشند ,گین آنها به طور پیش فرض به 20 تنظیم خواهد شد. در پروژه مان, ما حداکثر گین ممکن را در این مدار بدست می آوریم .

بنابراین ما از یک خازن به ارزش 10 میکروفاراد بین پین های 1و8 استفاده می کنیم , توجه داشته باشید که این پین حساس به قطب مثبت ومنفی است و پین منفی خازن باید به پین 8 متصل شود . مدارتقویت کننده توسط 5 ولت آردوینو تغذیه شده است.

خازن c2 برای فیلتر کردن نویز DC از میکروفن استفاده شده است .اساسا میکروفن وقتی صدا را حس میکند امواج صوتی را به سیگنال های AC تبدیل خواهد کرد.این سیگنال های AC ممکن است دارای یک نویز DC باشد که توسط این خازن فیلتر میشود. به طور مشابه,حتی پس از تقویت ,یک خازن C3 برای فیلتر کردن هر نویز DC که در طول تقویت ممکن است اضافه شود, استفاده میشود .

اندازه گیری سطح صدا با آردوینو

استفاده از روش رگرسیون برای محاسبه دسی بل از مقدار ADC:

هنگامی که مدارمان آماده هست ما می توانیم آردوینو را به کامپیوتر وصل کنیم و به طور مثال برنامه (سریال آنالوگ خوانده شده)را بارگذاری کنید در آردوینو , بررسی کنید که آیا مقادیر معتبر ADC را از میکروفن دریافت می کنیم . حالا ما باید این مقادیر ADC را به دسی بل تبدیل کنیم .

بر خلاف مقادیر دیگری مانند اندازه گیری دمای یا رطوبت ,اندازه گیری دسی بل کار ساده ای نیست. از آنجا که مقدار دسی بل با مقدار ADC رابطه خطی ندارد چند راه وجود دارد که در آن میتوانید دهید ولی ممکن است به نتایج خوبی نرسید .

برای این کاربرد , هنگام اندازه گیری مقادیر دسی بل , نیازی به دقت بالا برای اندازه گیری مقادیر db نداشتم و به همین خاطر تصمیم گرفتم  مقادیر ADC  را با استفاده از  یک SPL متر مقایسه و کالیبره کنم . برای این کار ما نیاز به یک SPL متر خواهیم داشت (SPL meter یک ابزار است که میتواند مقدار های دسی بل را بخواند و آنرا نمایش دهد)، اما متاسفانه این وسیله را نداشتم .

بنابراین ما میتوانیم از نرم افزار های اندروید برای سنجش صدا استفاده کنیم که میتوانید به صورت رایگان آن را دانلود کنید . اپلیکیشن های زیادی برای این کار وجود دارد و شما میتوانید هر چیزی را به انتخاب خود دانلود کنید .

این برنامه ها از میکروفن داخلی موبایل برای تشخیص سطح سر و صدا استفاده میکنند و آنرا در تلفن همراه ما نمایش می دهند . داده های آنها دقیق نیستند اما مطمِئنا برای کار ما کافی خواهد بود . بنابراین با نصب برنامه اندروید شروع میکنیم, هنگامی که باز شد چیزی شبیه به زیر را مشاهده می کنید .

اندازه گیری سطح صدا با آردوینو

 

همانطور که قبلا گفتم رابطه بین مقادیر دسی بل و پورت آنالوگ خطی نخواهد بود و بنابراین ما باید این دو مقدار را در فواصل مختلف مقایسه کنیم. مقدار ADC  روی صفحه نمایش داده می شود و مقدار دسی بل متناظر با این مقدار های ADC بر روی موبایل نمایش داده می شود . من 10 بار نتیجه را خواندنم گرفتم که در زیر می بینید .

اندازه گیری سطح صدا با آردوینو

صفحه اکسل را باز کنید و در این مقادیر تایپ کنید. در حال حاضر ما از اکسل برای پیدا کردن مقادیر رگرسیون برای شماره بالا استفاده میکنیم قبل از آن ,نمودار را ترسیم کرده و نحوه ارتباط آن ها را بررسی کنید .

اندازه گیری سطح صدا با آردوینو

 

همانطور که میبینیم مقدار دسی بل به طور خطی با ADC ارتباطی ندارد,به این معنی که شما نمیتوانید یک ضریب مشترک برای تمام ADC داشته باشید تا مقدار دسی بل معادل آن را بدست آورید. در چنین مواردی میتوانیم از روش خطی رگرسیون استفاده کنیم .

اساسا این خط آبی نا منظم را به نزدیک ترین خط مستقیم ممکن(خط سیاه) تبدیل میکند و معادله ی این خط مستقیم را به ما میدهد.این معادله را میتوان استفاده کرد برای پیدا کردن مقدار معادل دسی بل برای هر مقدار از ADC,که جزئی ازابزارهای آردوینو است.

در اکسل ما یک پلاگین برای تجزیه و تحلیل داده ها داریم که به طور خودکار رگرسیون را برای مجموعه از مقادیرمنتشر میکند و داده های آن را منتشر میکند.من نمیخواهم در مورد چگونگی انجام این کار با اکسل صحبت کنم زیرا خارج از محدوده این پروژه است ,همچنین می توانید برای آموزش آن در گوگل سرچ کنید.

هنگامی که رگرسیون را برای این مقدار ها محاسبه میکنید ، اکسل برخی مقادیر مانند زیر را نشان میدهد .

اندازه گیری سطح صدا با آردوینو

هنگامی که این اعداد را دریافت میکنید میتوانید معادله زیر را بنویسید .

ADC = (11.003* dB) – 83.2073

حال می توانید به رابطه دسی بل برسید .

dB = (ADC+83.2073) / 11.003

 

برنامه آردوینو برای اندازه گیری سطح صدا در دسی بل :

برنامه کامل برای اندازه گیری دسی بل در زیر آمده است,چند خط مهم در زیر توضیح داده شده است .

در این دو خط  زیر ,مقدار ADC پین A0 را می خوانیم و آن را با استفاده از معادله ای که از آن استخراج شده به دسی بل تبدیل میکنیم . این مقدار ممکن است ما را به ارزش واقعی دسی بل به درستی نرساند ,اما تقریبا نزدیک به مقدار نمایش داده شده در برنامه تلفن همراه است .

adc= analogRead(MIC); //Read the ADC value from amplifer
dB = (adc+83.2073) / 11.003; //Convert ADC value to dB using Regression values

برای بررسی اینکه آیا برنامه به درستی کار میکند ما همچنین یک LED را به پین 3 دیجیتال آردوینو اضافه کردیم که در واقعی که صدایی بلند تر از 60 دسی بل اندازه گیری می شود برای 1 ثانیه High می شود ( روشن می شود ) .

if (dB>60)
{
  digitalWrite(3, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(3, LOW);
}

نحوه عملکرد پروژه :

وقتی مدار را بستید و برنامه ای را که دانلود کردید ، برنامه را بر روی برد آردوینو آپلود کنید ، حالا سریال مانیتور نرم افزار خود را باز کنید تا مقادیر dB اندازه گیری شده توسط آردوینو را ببینید . من این کد را در اتاقم آزمایش کردم که در آن سر و صدای زیادی وجود نداشت به جز ترافیک بیرون و مقادیر زیر را روی مانیتور سریال من نشان داد و برنامه اندروید نیز چیزی نزدیک به آن را نمایش داد.

اندازه گیری سطح صدا با آردوینو

 

 

تقویت کننده با مدار فیلتر :

در اینجا ما با استفاده از تقویت کننده فیلتر های کم پاس و پر قدرت را برای کاهش نویز در این مدار اندازه گیری سطح صدا به کار بردیم تا دقت را افزایش دهیم .

اندازه گیری سطح صدا با آردوینو

در مدار فوق، از تقویت کننده محبوب LM358 برای تقویت سیگنال های میکروفون استفاده می کنیم. همراه با تقویت کننده ما همچنین از دو فیلتر استفاده می کنیم، فیلتر بالاگذر توسط R5 ، C2 تشکیل شده است و فیلتر پایین گذر توسط C1 و R2 استفاده می شود.

این فیلترها برای عبور فرکانس هایی بین 8 تا 10 کیلوهرتز طراحی شده اند، زیرا فیلتر پایین گذر ، هرچیز کمتر از 8 کیلو هرتز را فیلتر می کند و فیلتر بالا گذر هر چیزی بالاتر از 15کیلوهرتز را فیلتر می کند.

این محدوده فرکانس به این دلیل انتخاب شده است زیرا میکروفون ما بین 10 تا 15 کیلو هرتز کار می کند . دیتاشیت میکروفون در زیر آمده است .

اندازه گیری سطح صدا با آردوینو

 

اگر فرکانس کاری شما فرق می کند , می توانید از فرمول زیر برای محاسبه مقدار مقاومت و خازن برای فرکانس مورد نیاز خود استفاده کنید .

Frequency (F) = 1/(2πRC)

همچنین توجه داشته باشید که مقدار مقاومت مورد استفاده ، در گین آمپلی فایر تاثیر خواهد گذاشت. محاسبه مقدار مقاومت و خازن مورد استفاده در این مدار در زیر نشان داده شده است.

اندازه گیری سطح صدا با آردوینو

 

دانلود کد پروژه:

[maxbutton id=”184″ url=”http://avatrobo.ir/wp-content/uploads/2018/02/اندازه-گیری-سطح-صدا-با-آردوینو.txt” ]

const int MIC = 0; //the microphone amplifier output is connected to pin A0
int adc;
int dB, PdB; //the variable that will hold the value read from the microphone each time

void setup() {
Serial.begin(9600); //sets the baud rate at 9600 so we can check the values the microphone is obtaining on the Serial Monitor
  pinMode(3, OUTPUT);
}

void loop(){

  PdB = dB; //Store the previous of dB here
  
adc= analogRead(MIC); //Read the ADC value from amplifer 
//Serial.println (adc);//Print ADC for initial calculation 
dB = (adc+83.2073) / 11.003; //Convert ADC value to dB using Regression values

if (PdB!=dB)
Serial.println (dB);

if (dB>60)
{
  digitalWrite(3, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(2000);                       // wait for a second
  digitalWrite(3, LOW); 
}
//delay(100);

}

 

برچسب ها: آردوینوآردوینو یونواندازه گیری سطح صدا با آردوینو بر حسب دسی بل با میکروفونپروژه آردوینوپروژه ی اندازه گیری سطح صدا با آردوینو بر حسب دسی بل با میکروفوندانلود پروزه ی اندازه گیری سطح صدا با آردوینو بر حسب دسی بل با میکروفون
قبلی پروژه کنترل استپ موتور با استفاده از پتانسیومتر
بعدی کنترل سرعت وجهت حرکت موتور dc با کمک آردوینو

پست های مرتبط

اردیبهشت 9, 1398

برنامه نویسی به زبان پایتون برای رزبری پای

mjavad
ادامه مطلب

اسفند 5, 1397

تشخیص رنگ با استفاده از رزبری پای

mjavad
ادامه مطلب

بهمن 10, 1397

راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت دوم

mjavad
ادامه مطلب

بهمن 10, 1397

راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت اول

mjavad
ادامه مطلب

بهمن 2, 1397

ساخت اسپیدکنترلر موتور براشلس 3 ( با سنسور )

Author Avatar
Admin
ادامه مطلب

دیدگاهتان را بنویسید لغو پاسخ

دسته های محصولات
آخرین دیدگاه‌ها
  • Admin در پروژه ی ساخت یک ریموت کنترل 2.4 گیگا هرتز برای 10 کانال
  • Admin در درباره ما
  • Admin در پروژه ی ساخت یک ریموت کنترل 2.4 گیگا هرتز برای 10 کانال
  • Admin در رادیوکنترل 4 کاناله با قابلیت افزایش تا 10 کانال
  • امیر در رادیوکنترل 4 کاناله با قابلیت افزایش تا 10 کانال
ژوئن 2026
ش ی د س چ پ ج
 12345
6789101112
13141516171819
20212223242526
27282930  
« آوریل    
فهرست 1
  • عضویت
  • ویرایش حساب کاربری
  • ورود
  • خانه
فهرست 2
  • حمایت مالی
  • تبلیغات
  • فروشنده
  • داشبورد فروشندگان
  • سفارش پروژه
  • تماس با ما
  • درباره ما
فهرست 3
  • ویرایش حساب کاربری
  • فراموشی رمز عبور
  • ثبت نام
  • ویرایش حساب کاربری
محل کد نماد...
جستجو برای:
محصولات
  • دوره کوادکوپتر سرعتی FPV دوره آموزش ساخت کوادکوپتر مسابقاتی FPV
    نمره 4.00 از 5

    4,830,000 
  • دوره هواپیما مقدماتی تا پیشرفته دوره آموزش ساخت پهپاد بال ثابت ( هواپیما ) - مقدماتی تا پیشرفته
    10,480,000 
  • دوره کوادکوپتر مقدماتی دوره آموزش مقدماتی ساخت مولتی کوپتر (کوادکوپتر، هگزاکوپتر و ...)
    2,490,000 
  • دوره کوادکوپتر فیلم بردار دوره آموزش ساخت پهپاد فیلم بردار ( مولتی کوپتر )
    8,970,000 
  • دوره هواپیمای مدل موتور کشی دوره آموزش ساخت هواپیمای موتور کشی
    2,030,000 
نوشته‌های تازه
  • برنامه نویسی به زبان پایتون برای رزبری پای
  • تشخیص رنگ با استفاده از رزبری پای
  • راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت دوم
  • راه اندازی ال سی 2 در 16 با استفاده رزبری پای قسمت اول
  • کنترل PID با آردوینو و دو موتور براشلس

درباره آوات روبو

 

آرمان آوات روبو نه تنها تغییر اکنون و تعریف آینده آموزش عملی و کاربردی در ایران، بلکه توسعه همین تغییر به کل دنیا است. نسخه بین المللی آوات روبو، هم اکنون در حال برنامه ریزی است و کارهای اولیه آن برای فعالیت در یوتیوب و یک سایت انگلیسی در حال انجام است.

دسترسی سریع

  • دوره های آموزشی
  • کیت
  • کلاس های حضوری
  • پروژه

کاوش

  • درباره ما
  • تماس با ما
  • مقالات

شبکه های اجتماعی

  • اینیستاگرام
  • یوتیوب
  • تلگرام

استفاده از مطالب سایت برای مقاصد غیر تجاری و با ذکر منبع بلامانع است. تمامی حقوق برای آوات روبو محفوظ است.