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

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

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

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

 


سنسور تاچ GLS1680


با پیشرفت روز افزون فناوری، سنسورهای تاچ یکی از مهم ترین و پرکابردترین ابزارها در زمینه دریافت ورودی از کاربر به شمار می روند. امروزه بسیاری از دستگاه های الکترونیکی نظیر هودهای آشپزخانه، سیستم های گرمایشی/سرمایشی و… از سنسورهای تاچ استفاده می گردد. یکی از مهم ترین و پرکابردترین نوع سنسورهای تاچ، سنسور GLS1680 است. این سنسور که دارای رابط I2C است، می توان به سادگی با انواع میکروکنترلرها ارتباط برقرار کند.

سنسور تاچ GLS1680 دارای تغذیه ۳٫۳ ولتی بوده که به آسانی با بردهای مختلف راه اندازی می گردد. همچنین این ماژول دارای دو پایه wake و intprt به ترتیب برای خارج سازی از حالت خواب و دریافت وقفه از سنسور توسط میکروکنترلر است. جهت راه اندازی و کار با سنسور GLS1680 کتابخانه تحت آردوینو طراحی و توسعه یافته است. در این آموزش قصد داریم تا به تحلیل و بررسی توابع کلیدی و کاربردی این کتابخانه بپردازیم. بنابراین در قسمت بعد ابتدا به نصب آن پرداخته و در ادامه جزییات فنی و توابع کلیدی را از نظر خواهیم گذراند.

 


نصب کتابخانه GLS1680


پیش از آنکه به ادامه بحث بپردازیم، لازم است تا در ابتدا به نصب کتابخانه بپردازیم. کتابخانه سنسور GLS1680 می بایست به صورت دستی نصب گردد. به همین منظور ابتدا روی این لینک کلیک کنید تا به صفحه گیت هاب کتابخانه هدایت شوید.  مطابق تصویر زیر ابتدا روی گزینه code و سپس Download Zip کلیک کنید تا کتابخانه دانلود شود.

 

در ادامه پس از این مرحله، در نرم افزار آردوینو روی گزینه sketch و سپس include library کلیک کنید. در ادامه گزینه add zip library را انتخاب کنید. با انتخاب این گزینه، فایل فشرده را انتخاب کرده و به پروژه اضافه کنید.

 


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


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

 


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


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

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

ورودی دوم از نوع بدون علامت ۸ بیتی

begin(uint8_t WAKE, uint8_t INTRPT)
این تابع اطلاعات دریافتی از سنسور را در خروجی قرار می دهد. بدون ورودی uint8_t dataread()
این تابع شماره ID(فریمور) سنسور را خوانده و در خروجی قرار می دهد. ورودی از نوع صحیح uint8_t readFingerID(int NB)
این تابع موقعیت انگشت در محور X را در خروجی نمایش می دهد. ورودی از نوع صحیح uint32_t readFingerX(int NB)
این تابع موقعیت انگشت در محور Yرا در خروجی نمایش می دهد. ورودی از نوع صحیح uint32_t readFingerY(int NB)

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

 


اجرای یک نمونه برنامه


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

/*سیم کشی بین برد و سنسور به صورت زیر انجام می گیرد.
 * 
pin | function  | Arduino Uno
-----------------------------
۱   | SCL       | A5
۲   | SDA       | A4
۳   | VDD (3v3) | 3v3
۴   | Wake      | 4
۵   | Int       | 2
۶   | Gnd       | gnd
*/

#include "GSL1680.h"
//تعریف پایه ها برای اتصال
#define WAKE 4
#define INTRPT 2
GSL1680 TS = GSL1680();  //ایجاد یک شی از کلاس کتابخانه 
void setup () {
  Serial.begin(9600);
  delay(1000);
  TS.begin(WAKE, INTRPT);                 // برقرای ارتباط بین سنسور و برد
}

void loop () {
  if(digitalRead(INTRPT) == HIGH) {  //در صورتیکه انگشت روی سنسور تشخیص داده شود، این پایه یک می شود.
    Serial.println("Touch");
    int NBFinger = TS.dataread();  //خواندن اطلاعات سنسور
    for(int i=0; i<NBFinger; i++){   //خواندن شناسه سنسور و نمایش موقعت انگشت در مختصات X و Y
      Serial.print(TS.readFingerID(i));
      Serial.print(" ");
      Serial.print(TS.readFingerX(i));
      Serial.print(" ");
      Serial.print(TS.readFingerY(i));
      Serial.println("");
    }
    Serial.println("---");
  }
}

 


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


انواع برد آردوینو

انواع برد ESP

سنسور تاچ GLS1680

 


جمع بندی


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

 

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

 

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

معین صابری

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

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

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