آموزش راه اندازی ماژول مولتی تاچ Grove با رابط I2C با آردوینو

فهرست مطالب

ویژگی های سنسور مولتی تاچ Grove با رابط I2C

سیم های اتصالی به سنسورها شامل دو رنگ قرمز و مشکی هستند. اگر مایل هستید حساسیت سنسور اثر انگشت را افزایش دهید، میتوانید سیم مشکی را حذف کنید.

Note

سیم های اتصالی به سنسورها شامل دو رنگ قرمز و مشکی هستند. اگر مایل هستید حساسیت سنسور اثر انگشت را افزایش دهید، میتوانید سیم مشکی را حذف کنید.

دیتاشیت آی سی MPR121 را می توانید از اینجا دانلود کنید.

معرفی پایه های (Pinout) سنسور مولتی تاچ Grove با رابط I2C

سنسور مولتی تاچ Grove جمعا دارای 26 پایه است. 5 تا از آنها برای اتصال به میکروکنترلر و 21 عدد نیز برای ارتباط با سنسورهای اثر انگشت می‌باشد. کاربرد این 5 پایه به شرح زیر است:

  • VCC: تغذیه ماژول – 3 تا 5.5 ولت
  • GND: زمین
  • SDA: رابط I2C
  • SCL: رابط I2C
  • INT: پین اینتراپت

پین اوت (Pinout) این ماژول را می توانید در تصویر زیر مشاهده کنید.

لوازمی که به آن احتیاج دارید

قطعات مورد نیاز

آردوینو UNO R3 × 1
سنسور مولتی تاچ Grove با رابط I2C × 1
سیم جامپر × 1

نرم افزارهای مورد نیاز

آردوینو IDE

راه اندازی سنسور مولتی تاچ Grove با رابط I2C با آردوینو

گام اول: سیم بندی

مطابق مدار زیر، سنسور را به آردوینو وصل کنید.

گام دوم: نصب کتابخانه

فایل و در قسمت Library  محل نصب نرم‌افزار آردینو کپی کنید.

توجه

اگر برای نصب کتابخانه بر روی آردوینو نیاز به راهنمایی بیشتری دارید به اینجا مراجعه کنید.

گام سوم: کد

کد زیر را روی برد آردوینو آپلود کنید.

/*
  I2C-Multi-Touch-Sensor-Grove
  modified on 18 oct 2020
  by Amir Mohammad Shojaee @ Electropeak
  
Home
Based on wiki.seeedstudio.com Example */ #include <Wire.h> // include I2C library #include <i2c_touch_sensor.h> #include <MPR121.h> // include our Grove I2C touch sensor library // initialize the Grove I2C touch sensor i2ctouchsensor touchsensor; // keep track of 4 pads' states //boolean padTouched[4]; long previousMillis = 0; long interval = 100; void setup() { Serial.begin(9600); // for debugging Serial.print("begin to init"); Wire.begin(); // needed by the GroveMultiTouch lib touchsensor.initialize(); // initialize the feelers // initialize the containers } void loop() { unsigned char MPR_Query=0; unsigned long currentMillis = millis(); if(currentMillis - previousMillis > interval) { previousMillis = currentMillis; touchsensor.getTouchState(); } for (int i=0;i<12;i++) { if (touchsensor.touched&(1<<i)) { Serial.print("pin "); Serial.print(i); Serial.println(" was touched"); delay(100); } } }

در برنامه از رابط I2C برای برقراری ارتباط با آردوینو استفاده شده است. در ضمن با لمس هر یک از حسگرها، در خروجی، شماره آن حسگر مشخص می‌شود. ما برای این نمونه از 4 عدد سنسور اثر انگشت به نام های 0 تا 3 استفاده کرده‌ایم.

خروجی کد به شکل زیر است. سنسور 0 تا 3 را به ترتیب لمس می‌کنیم.

آموزش های مشابه

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

نشانی ایمیل شما منتشر نخواهد شد.