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

تحلیل و بررسی کتابخانه SCA100T.h

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

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

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

 


سنسور شیب و تعادل سنجی SCA100T


شیب سنجی و حفظ تعدل یکی از موارد مهم در طراحی ربات، پهپاد و حتی صنایع خودرو سازی است. امروز خوروهای دنده اوتوماتیک از سنسور شیب سنج جهت کنترل سرعت و پایداری خودرو استفاده می کنند. سنسور SCA100T یک سنسور فوق العاده کاربردی است. به کمک این سنسور و از طریق پورت SPI می توان میزان زاویه را مطلع شد. در کنار این، سنسور SCA100T دارای دماسنج داخلی بوده که از این طریق میزان دمای محیط را می توان مطلع شد.

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

 


نصب کتابخانه SCA100T.h


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

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

 

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

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

 


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


پس از نصب کتابخانه SCA100T، نوبت به بررسی الزامات و نکات فنی آن می رسد. در نگاه اول، از آنجاییکه این سنسور از پورت سریال SPI استفاده می کند، بنابراین نیاز است تا برد شما از این پورت پشتیبانی سخت افزاری نماید. در طرف دیگر، این کتابخانه تنها برای بردهای آردوینو با معماری AVR توسعه یافته است. به عبارت دیگر از این کتابخانه نمی توان در بردهایی با معماری تراشه ESP و یا ARM نظیر ESP8266 و ARDUINO DUE بهره برد. کتابخانه SCA100T از بردهای زیر پشتیبانی می نماید.

  • MAGE
  • UNO
  • NANO

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

 


توابع کلیدی وکاربردی کتابخانه SCA100T


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

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

ورودی دوم سرعت

ورودی سوم نوع سنسور

SCA100T(int csPin, unsigned long comSpeed, int sensorType)
به کمک این تابع می توان سرعت تبادل داده در پورت SPI را تغییر داد. این سرعت در ورودی تابع قرار می گیرد. ورودی جهت تعیین سرعت تبادل داده void changeCommSpeed(long value)
به کمک این تابع می توان دمای فعلی محیط را بخوانیم. دمای خوانده شده در خروجی تابع قرار می گیرد. بدون ورودی float getTemperature()
به کمک این تابع می توان میزان زاویه را در محورهای X و یا Y خواند. میزان زاویه خوانده شده در خروجی قرار می گیرد. برای ورودی هم ثوابتی از پیش تعریف شده است. ورودی جهت تعیین محور X یا Y float getAngle(int axis)
به کمک این تابع می توان سنسور را در حال تست راه اندازی کرد. این تست برای هر محور جداگانه انجام شده و هر محور در ورودی قرار می گیرد. ورودی جهت تعیین زاویه void startSelfTest(int axis)
این تابع روال تست را متوقف می کند. بدون ورودی void stopSelfTest()
به کمک این تابع فرمان به ماژول ارسال می گردد. متن فرمان در ورودی قرار می گیرد. ورودی جهت ارسال فرمان void sendCMD(byte command)

 

همانطور که پیشتر نیز گفته شد، برای این کتابخانه ثوابتی از پیش تعریف شده، نخست دو ثابت زیر برای مدل های سنسور را مشاهده می کنیم.

  • SCA100TD02    با عدد ۱۰۲
  • SCA100TD01 با عدد ۱۰۱

پس از این مورد، برای محورهای X و Y هم ثوابتی تعریف شده که در زیر آن ها را مشاهده می کنید.

  • SCA_ACCEL_X با عدد ۲
  • SCA_ACCEL_Y   با عدد ۳

پس از بررسی این موارد، نوبت به اجرای نمونه برنامه می رسد. برای این مورد می توانید در نرم افزار آردوینو از منوی File->Examples->SCA100T، برنامه مد نظر خود را اجرا نمایید.

 


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


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

 


جمع بندی


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

 

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

 

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

معین صابری

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

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

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