پروژه تشخیص صدا با آردوینو

پروژه تشخیص صدا با آردوینو

پروژه تشخیص صدا با آردوینو
پروژه تشخیص صدا با آردوینو

شاید تا کنون در پروژه‌هایتان با این مسله برخورد کرده باشید که صدای محیط را تشخیص دهید و یا در صورتیکه صدایی شنیده شد سیستم هشدار دهد و …

در این مقاله می‌خواهیم به برسی این مسله بپردازیم و در نهایت به صورت عملی راهکار ارائه شده را تست کنیم.

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

 

تشخیص صوت چیست؟

اگر به طور خلاصه بخواهیم تشخیص صوت را تعریف کنیم می‌توان گفت که، تشخیص صوت در واقع کار تشخیص دادن صدا را برعهده دارد و نمی‌تواند تشخیص دهد که صدای مربوطه چیست و تولید کننده این صدا چه کسی بوده و … فقط قادر به تشخیص صدا در محیط می‌باشد.

پردازش صوت چیست؟

پردازش صوت، قادر است که علاوه بر تشخیص صدای محیط، صدای تشخیص شده را آنالیز کند و به عبارتی پارامتر‌هایی مثل اینکه صدای تشخیص داده شده مربوط به انسان است یا حیوان، آیا صدای تشخیص داده شده مربوط به فرد X است یا Y و … شاید برایتان هیجان انگیز باشد که این سیستم چطور کار می‌کند که توصیه می‌کنم اگر به این مبحث علاقه‌مند هستید حتما بحث پردازش سیگنال‌های دیجیتال را یاد بگیرید و یکی از بهترین نرم‌افزار‌هایی که می‌تواند به شما کمک کند نرم‌افزار Matlab است. و اگر به دنبال پیاده‌سازی سخت‌افزاری برای این کار هستید توصیه می‌کنیم که از تراشه‌های FPGA شرکت Xilinx و یا از DSP های قدرتمند شرکت TI استفاده کنید.

 

دقت کنید که در این پروژه می‌خواهیم تشخیص صدا را توسط آردوینو انجام دهیم نه پردازش صوت.

معرفی ماژول تشخیص صدا

ماژول تشخیص صوت برای آردوینو

ویژگی‌ای سخت افزاری

  • تشخیص شدت صدای محیط
  •  قابل تنظیم بودن حساسیت
  • ولتاژ کاری 3.3 ولت
  • خروجی به صورت دیجیتال (0 یا 1)
  • قابلیت اتصال به طور مستقیم به ولتاژ 5 ولت

خب پس از اینکه با این ماژول آشنا شدیم نوبت به راه‌اندازی این ماژول رسیده است.

 

معرفی پایه‌های ماژول تشخیص صدا

معرفی پایه‌های ماژول تشخیص صدا

راه‌اندازی ماژول تشخیص صدا با آردوینو

 

وسایل مورد نیاز جهت راه‌اندازی ماژول تشخیص صوت با آردوینو

  • آردوینو
  • ماژول تشخیص صدا که در بالا معرفی شد
  • بردبرد
  • سیم بردبردی

 

نحوه اتصال ماژول تشخیص صدا به آردوینو

 

نحوه اتصال ماژول تشخیص صدا به آردوینو

خب پس از اینکه ماژول را طبق تصویر بالا به آردوینو متصل کردیم. نوبت به برنامه نویسی ماژول می‌رسد.

برنامه نویسی ماژول تشخیص صدا با آردوینو

در واقع کل کاری که این برنامه انجام می‌شود این است که پین دیتا ماژول که به آردوینو متصل شده است را می‌خواند در صورتیکه در این پین تغیر وضعیتی شاهد باشیم آن را طبق متغیری که تعریف کرده‌ایم در سریال مانیتور خواهیم دید.

شاید برای برخی از شما‌ها این سوال پیش آید که پایه A0 روی ماژول چیست؟ در واقع از طریق این پین، قادر خواهیم بود به جای اینکه از پایه دیجیتال یعنی D0 استفاده کنیم.

برنامه هم دقیقا مثل برنامه بالا است با این تفاوت که پین متصل به آردوینو و ماژول فرق می‌کند که اگر به تصویر دقت کنید متوجه این اتصالات خواهید شد.

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

امیدوارم که این آموزش هم برای شما مفید واقع شده باشد.

0 نفر

پــــســنــدیـده انـد

توجه

BLO OM
BLO OM

«السَّلَامُ عَلَیْکَ یَا أَبَا عَبْدِ اللَّهِ، السَّلَامُ عَلَیْکَ وَ رَحْمَهُ اللَّهِ وَ بَرَکَاتُهُ».

دیدگاه ها

6 دیدگاه

  • شهریار
    ۳ مرداد ۱۳۹۹

    ببخشید من یه اردوینو نانو دارم و می خوام توسط این سنسور یک led رو روشن کنم و تمام قطعات را درست به هم وصل می کنم و برنامشو رو اردوینو اپلود می کنم ولی led همون طور خاموش می مونه و هیچ واکنشی نسبت به صدا نشون نمی ده ولی وقتی اردوینو را فشار می دم یا تکون می دم led جدا از سنسور روشن می شه. شما می تونید راهنماییم کنید؟

    • Zeus ‌
      زئوس Zeus
      ۳۱ مرداد ۱۳۹۹

      احتمالا نویز دستتون باعث روشن شده میشه !‌
      حساست میکروفون رو تغییر بدید شاید مشکل از اون باشه

  • امیر حسین
    ۱۷ شهریور ۱۳۹۸

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

    • BLO OM
      BLO OM
      ۲۰ شهریور ۱۳۹۸

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

      باز هم متشکرم از اینکه ما رو با نظرات خودتون خوشحال می کنید.

      موفق باشید.

  • فرید
    ۱۷ شهریور ۱۳۹۸

    آقا زشته این چه پروژه ایه????

    • Zeus ‌
      زئوس Zeus
      ۲۱ شهریور ۱۳۹۸

      خوب الکترونیک از آسون شروع میشه تا سخت :دی

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 3 سال پیش
راه اندازی LCD گرافیکی Nokia 1661

راه اندازی LCD گرافیکی Nokia 1661

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش
ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش
همه چیز درباره ریموت کنترل‌های هاپینگ

همه چیز درباره ریموت کنترل‌های هاپینگ

امنیت همیشه و در همه‌ی اعصار، مقوله‌ی مهم و قابل‌توجه‌ ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. ریموت کنترل یکی از این اختراعات است. در این مقاله، به بررسی امنیت انواع ریموت‌های کنترل خواهیم پرداخت....

Zeus ‌ Zeus ‌
  • 5 سال پیش
مسابقه سوم: استخراج داده از رشته ها در زبان C

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش
مسابقه ششم: بزن میکروکنترلر را بسوزون!

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 12 ماه پیش
آموزش قدم به قدم راه اندازی NRF24L01

آموزش قدم به قدم راه اندازی NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش
ساخت ماینر با FPGA و ARM

ساخت ماینر با FPGA و ARM

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

Zeus ‌ Zeus ‌
  • 3 سال پیش
کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش
مسابقه چهارم: کدام حلقه سریع‌تر است؟

مسابقه چهارم: کدام حلقه سریع‌تر است؟

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

Zeus ‌ Zeus ‌
  • 2 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک