مستشعر الإيماءات APDS-9960 مع Arduino

مستشعر الإيماءات APDS-9960 مع Arduino

يسمح مستشعر الإيماءات APDS-9960 باكتشاف إيماءات اليد مثل الضربات الشديدة والقرب. في هذا البرنامج التعليمي ، سنوضح كيفية توصيل APDS-9960 ب Arduino وبرمجته للتعرف على الإيماءات. ستكون النتيجة إعدادا بسيطا يمكنه اكتشاف الحركات والإبلاغ عنها عبر الشاشة التسلسلية. سيساعدك هذا الدليل على فهم الأسلاك والرمز اللازمين لبدء استخدام مستشعر الإيماءات. (في الفيديو الساعة 00:30)

APDS-9960 gesture sensor module -1

شرح الأجهزة

APDS-9960 هو مستشعر متعدد الاستخدامات يجمع بين استشعار ألوان RGB واستشعار الضوء المحيط واستشعار القرب وقدرات اكتشاف الإيماءات. يتصل ب Arduino عبر I2C ، مما يسمح بالتكامل السهل مع الحد الأدنى من الأسلاك. يعمل المستشعر فقط عند 3.3 فولت ، مما يجعل من الضروري ضمان مستويات الجهد المناسبة لتجنب إتلاف الجهاز. في هذا الإصدار ، سنستخدم Arduino لقراءة بيانات الإيماءات. يقوم المستشعر بإخراج معلومات الإيماءات من خلال المقاطعات ، مما يسمح ل Arduino بالاستجابة الفورية لحركات اليد. يفتح دمج APDS-9960 مع Arduino العديد من الاحتمالات للمشاريع التفاعلية ، بما في ذلك الأجهزة التي يتم التحكم فيها بالإيماءات.

تفاصيل ورقة البيانات

الشركه المصنعهبرودكوم
رقم الجزءAPDS-9960
جهد المنطق / IO2.7 - 3.6 فولت
جهد الإمداد3.3 فولت
تيار الإخراج (لكل قناة)1 مللي أمبير
ذروة التيار (لكل قناة)10 مللي أمبير
توجيه تردد PWM100 هرتز
عتبات منطق الإدخال0.3 × فولتدد(منخفض) ، 0.7 × فولتدد(عالية)
انخفاض الجهد / RDS (على)/تشبع0.5 فولت كحد أقصى
الحدود الحرارية-40 إلى +85 درجة مئوية
حزمةLGA 6 سنون
ملاحظات / المتغيراتيدعم اتصال I2C

  • تأكد من أن جهد الإمداد لا يتجاوز 3.6 فولت لمنع التلف.
  • استخدم مقاومات السحب على خطوط I2C للاتصال الموثوق به.
  • احتفظ بالمستشعر بعيدا عن أشعة الشمس المباشرة للحصول على قراءات دقيقة.
  • تأكد من تهيئة المستشعر بشكل صحيح في الكود.
  • تحقق من توصيلات الأسلاك لتجنب المدخلات العائمة.

تعليمات الأسلاك

Arduino wiring for APDS9960 Gesture sensor
Arduino wiring for APDS9960 Gesture sensor

لتوصيل APDS-9960 ب Arduino ، ابدأ بتوصيل الطاقة. استخدم سلكا أحمر لتوصيل دبوس VCC الخاص ب APDS-9960 بدبوس 3.3 فولت على Arduino. بعد ذلك ، قم بتوصيل دبوس GND الموجود على المستشعر بدبوس أرضي على Arduino باستخدام سلك أسود. الآن ، بالنسبة لاتصال I2C ، قم بتوصيل دبوس SDA الخاص ب APDS-9960 بدبوس A4 الخاص ب Arduino. وبالمثل ، قم بتوصيل دبوس SCL بدبوس A5 على Arduino. أخيرا ، قم بتوصيل دبوس INT الخاص بالمستشعر بالدبوس 2 على Arduino. سيسمح ذلك ل Arduino بالاستجابة للمقاطعات الناتجة عن المستشعر.

أمثلة على التعليمات البرمجية والإرشادات التفصيلية

يقوم الرمز المقدم بتهيئة مستشعر APDS-9960 وإعداد Arduino لقراءة الإيماءات. فيما يلي مقتطف موجز من وظيفة الإعداد:

void setup() {
  pinMode(APDS9960_INT, INPUT);
  Serial.begin(9600);
  attachInterrupt(0, interruptRoutine, FALLING);
  if ( apds.init() ) {
    Serial.println(F("APDS-9960 initialization complete"));
  }
}

في هذا المقتطف، نقوم بتهيئة الشاشة التسلسلية وتعيين دبوس المقاطعة. تتم تهيئة المستشعر، وطباعة رسالة تأكيد على وحدة التحكم. بعد ذلك ، نتحقق من وجود إيماءات في وظيفة الحلقة:

void loop() {
  if( isr_flag == 1 ) {
    detachInterrupt(0);
    handleGesture();
    isr_flag = 0;
    attachInterrupt(0, interruptRoutine, FALLING);
  }
}

هنا ، تتحقق الحلقة باستمرار من الإيماءات. عند اكتشاف إيماءة ، يتم تعطيل المقاطعة ، ويتم استدعاء وظيفة "handleGesture" لمعالجة الإيماءة. أخيرا ، تعالج وظيفة "handleGesture" الإيماءات المكتشفة:

void handleGesture() {
  if ( apds.isGestureAvailable() ) {
    switch ( apds.readGesture() ) {
      case DIR_UP:
        Serial.println("UP");
        break;
      case DIR_DOWN:
        Serial.println("DOWN");
        break;
      // Additional cases...
    }
  }
}

في هذه الوظيفة ، تتم قراءة الإيماءة ، ويتم اتخاذ الإجراء المقابل بناء على الاتجاه المكتشف. هذا يسمح بالتحكم التفاعلي بناء على حركات اليد. لفهم كامل للكود ، يرجى الرجوع إلى البرنامج الكامل الذي تم تحميله أسفل المقالة.

APDS-9960 gesture sensor -3

مظاهرة / ماذا تتوقع

عند اكتمال الإعداد ، يمكنك أن تتوقع أن يقرأ Arduino الإيماءات ويعرض الاتجاه المكتشف على الشاشة التسلسلية. تتضمن الاختبارات البسيطة تحريك يدك لأعلى أو لأسفل أو لليسار أو اليمين أمام المستشعر. إذا كان كل شيء سلكيا بشكل صحيح ، فيجب أن ترى الإخراج المقابل على الشاشة التسلسلية ، مما يؤكد التعرف على الإيماءات. كن حذرا من المدخلات العائمة ، لأنها يمكن أن تؤدي إلى قراءات غير متسقة (في الفيديو الساعة 05:20).

الطوابع الزمنية للفيديو

  • 00:00-مقدمة
  • 01:15- نظرة عامة على الأجهزة
  • 03:00- تعليمات الأسلاك
  • 04:30- إرشادات التعليمات البرمجية
  • 06:15-مظاهره

الصور

APDS-9960 gesture sensor module -2
APDS-9960 gesture sensor module -2
APDS-9960 gesture sensor module -1
APDS-9960 gesture sensor module -1
APDS-9960 gesture sensor -3
APDS-9960 gesture sensor -3
Arduino wiring for APDS9960 Gesture sensor
Arduino wiring for APDS9960 Gesture sensor
1-Code for an APDS-9960 gesture sensor for Arduino
اللغة: C++
2-Source code for controlling a servo with your hand
اللغة: C++
تم النسخ!

الموارد والمراجع

لا توجد موارد حتى الآن.

ملفات📁

ملفات أخرى