تحلیل کتابخانه

تحلیل و بررسی کتابخانه clap

clap-arduino-library-digispark
نوشته شده توسط معین صابری

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

 


نصب کتابخانه های مورد نیاز


جهت نصب کتابخانه، می بایست به صورت دستی عمل کنیم. کتابخانه clap.h را باید از سورس اصلی آن دانلود کنید. جهت این مورد، کافیست روی این لینک کلیک کنید. با کلیک بر روی این لینک، به تصویر زیر می رسید. مطابق فلش ها، فایل زیپ را دانلود کنید. سپس در نرم افزار آردوینو، گزینه sketch، و سپس add zip library را انتخاب کرده و کتابخانه را اضافه کنید.

مراحل نصب کتابخانه clap در آردوینو - دیجی اسپارک

 

در ادامه، کتابخانه دیگری را باید به صورت اوتوماتیک نصب کنیم. برای استفاده از این کتابخانه، ابتدا باید آن را نصب کنیم. برای نصب کتابخانه در محیط آردویینو، ابتدا مطابق تصویر زیر بر روی گزینه Tools و سپس Manage Libraries کلیک کنید.

اصول نصب کتابخانه در آردوینو - دیجی اسپارک

 

پس از کلیک بر روی گزینه Manage Libraries، در صفحه ظاهر شده، در قسمت کادر جستجو، عبارت VolAnalyzer را جستجو نموده و کتابخانه مشخص شده در تصویر را نصب نمایید.

جستجوی کتابخانه clap در مخازن آردوینو - دیجی اسپارک

 


الزامات و نکات فنی کتابخانه calp.h


پس از نصب کتابخانه، نوبت به بررسی الزامات و نکات فنی می رسد. کتابخانه clap جهت اجرا نیاز به دریافت ورودی از آنالوگ دارد. بنابراین باید در این مورد دقت نظر داشته باشید. از طرف دیگر، این کتابخانه مستقل زا معماری پردازنده بوده و بر روی تمامی بردهای مورد پشتیبانی پلتفرم آردوینو، اجرا می شود. به عبارت دیگر این کتابخانه می تواند روی بردهای آردوینو با پردازنده AVR نظیر آردوینو UNO و یا XTENSA مثل بردهای سری ESP، اجرا شود.

 


توابع کلیدی و کاربردی کتابخانه clap.h


پس از بررسی الزامات و نکات فنی، نوبت به تحلیل توابع کلیدی و کاربردی کتابخانه clap می رسد. جدول زیر لیست توابع را به همراه ورودی/خروجی نمایش می دهد.

شرح ورودی تابع
این تابع مدت زمان جهت نمونه برداری را تعیین می کند. نمونه برداری از سنسور ضربه تعیین می گردد. ورودی جهت تعیین زمان void tick(int val)

 

این تابع در صورتیکه دست زدن را تشخیص دهد، خروجی خود را true خواهد کرد. بدون ورودی bool isClap();

 

در ورودی این تابع می توان یک عدد قرار داد. چنانچه تعداد دفعات دست زدن به اندازه عدد ورودی برسد، خروجی true خواهد شد. ورودی جهت شمارش             bool hasClaps(uint8_t claps)

 

این تابع در صورتیکه دست زدن را تشخیص داده باشد، خروجی را true خواهد کرد. بدون ورودی bool hasClaps();

 

این تابع تعداد دفعاتی که دست زده شده را شمارش کرده و در خروجی خود قرار می دهد بدون ورودی uint8_t getClaps()

 

 


اجرای یک برنامه با کتابخانه clap


پس از بررسی توابع کلیدی و کاربردی، نوبت به اجرای یک نمونه برنامه با کتابخانه clap می رسد. برنامه زیر وضعیت دست زدن در حالت های مختلف را شناسایی و در خروجی قرار می دهد.

#include <VolAnalyzer.h>  //کتابخانه آنالیز صدا
#include <Clap.h>  //کتابخانه دست زدن

VolAnalyzer vol(A0);  //ایجاد شی زا کلاس کتابخانه 
Clap clap;

void setup() {
  Serial.begin(115200);
}

void loop() {
  vol.tick();  //ایجاد زمان
  clap.tick(vol.getRawMax());  //دریافت داده ها به صورت کلی
  if (clap.isClap()) Serial.println("clap");  //در صورتیکه دست زدن تشخیص داده شود
  if (clap.hasClaps(1)) Serial.println("1 clap");  //در صورتیکه یکبار دست زدن تشخیص داده شود
  if (clap.hasClaps(2)) Serial.println("2 clap");  //در صورتیکه دو بار دست زدن تشخیص داده شود
  if (clap.hasClaps(3)) Serial.println("3 clap");  //در صورتیکه ۳ بار دست زدن تشخیص داده شود
}

 


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


لینک خرید ماژول میکروفن، کلیک کنید

لینک خرید برد آردوینو، کلیک کنید

 


جمع بندی


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

 

چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریع‌ترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند می‌توانید از همین طریق اطلاع رسانی کنید.

 

درباره نویسنده

معین صابری

کارشناسی ارشد رشته معماری سیستم های کامپیوتری

مالي که ز تو کس نستاند، علم است
حرزي که تو را به حق رساند، علم است
جز علم طلب مکن تو اندر عالم
چيزي که تو را ز غم رهاند، علم است
(شیخ بهایی)

تبادل نظر و رفع عیب با ثبت دیدگاه