جدول المحتويات:

استخدام مستشعر الأشعة تحت الحمراء مع Arduino: 8 خطوات (بالصور)
استخدام مستشعر الأشعة تحت الحمراء مع Arduino: 8 خطوات (بالصور)

فيديو: استخدام مستشعر الأشعة تحت الحمراء مع Arduino: 8 خطوات (بالصور)

فيديو: استخدام مستشعر الأشعة تحت الحمراء مع Arduino: 8 خطوات (بالصور)
فيديو: ☑️ أردوينو للمبتدئين - حساس الاشعة ما تحت الحمراء لتجنب العقبات 2024, يونيو
Anonim
باستخدام مستشعر الأشعة تحت الحمراء مع Arduino
باستخدام مستشعر الأشعة تحت الحمراء مع Arduino

ما هو مستشعر الأشعة تحت الحمراء (المعروف أيضًا باسم IR)؟

مستشعر الأشعة تحت الحمراء عبارة عن أداة إلكترونية تقوم بمسح إشارات الأشعة تحت الحمراء في نطاقات تردد محددة تحددها المعايير وتحويلها إلى إشارات كهربائية على دبوس الإخراج الخاص بها (تسمى عادةً دبوس الإشارة). تُستخدم إشارات الأشعة تحت الحمراء بشكل أساسي لإرسال الأوامر عبر الهواء على مسافات قصيرة (عادةً بضعة أمتار) مثل ما كنت تعمل به بالفعل على أجهزة التحكم عن بعد في التلفزيون أو غيرها من الأجهزة الإلكترونية المماثلة.

بروتوكول الاتصال بالأشعة تحت الحمراء

تمثل كل إشارة رمزًا محددًا. يمكن تحويل الإشارات الكهربائية مرة أخرى إلى البيانات / الرمز الفعلي الذي أرسله المرسل. عندما تضغط على زر في جهاز التحكم عن بعد الخاص بالتلفزيون ، فإنه يولد إشارة مطابقة لرمز الزر (على سبيل المثال ، تشغيل / إيقاف ، رفع مستوى الصوت ، إلخ) ويرسلها لجهاز استقبال (في هذه الحالة تلفازك). وافق كل من المرسل والمستقبل على مجموعة من الرموز حتى يعرف المستلم ما يجب فعله بناءً على كل رمز. الطريقة التي ينبغي بها تعديل الكود (نمذجة) حيث يتم تعريف الإشارة في معيار مختلف ، ويحاول كل مصنع لأجهزة الاستشعار عادةً إنتاج منتج متوافق معها بحيث يمكن استخدامه في أجهزة مختلفة. أحد البروتوكولات القياسية الأكثر شهرة هو من NEC. يمكنك العثور على تاريخ موجز لبروتوكولات IR على ويكيبيديا تحت عنوان IR للمستهلك.

الخطوة 1: كيف يبدو مستشعر الأشعة تحت الحمراء؟

كيف يبدو مستشعر الأشعة تحت الحمراء؟
كيف يبدو مستشعر الأشعة تحت الحمراء؟
كيف يبدو مستشعر الأشعة تحت الحمراء؟
كيف يبدو مستشعر الأشعة تحت الحمراء؟
كيف يبدو مستشعر الأشعة تحت الحمراء؟
كيف يبدو مستشعر الأشعة تحت الحمراء؟

تتوفر مستشعرات الأشعة تحت الحمراء في عبوات مختلفة. هنا يمكنك رؤية بعض العبوات النموذجية لجهاز استقبال الأشعة تحت الحمراء.

الخطوة 2: لوحة / وحدة اندلاع مستشعر الأشعة تحت الحمراء

لوحة / وحدة اندلاع حساس الأشعة تحت الحمراء
لوحة / وحدة اندلاع حساس الأشعة تحت الحمراء
لوحة / وحدة اندلاع حساس الأشعة تحت الحمراء
لوحة / وحدة اندلاع حساس الأشعة تحت الحمراء
لوحة / وحدة اندلاع حساس الأشعة تحت الحمراء
لوحة / وحدة اندلاع حساس الأشعة تحت الحمراء
لوحة / وحدة اندلاع حساس الأشعة تحت الحمراء
لوحة / وحدة اندلاع حساس الأشعة تحت الحمراء

يمكنك أيضًا شرائها كوحدة IR / لوحة اندلاع على eBay أو Aliexpress أو Amazon. تشتمل هذه الوحدات عادةً على أحد المستشعرات المذكورة أعلاه مع حزمة لطيفة من اللوح اللوح مع مصباح LED الذي سيومض عندما يكتشف المستشعر إشارة. من خلال القيام بذلك ، ستلاحظ ما إذا كان يتم نقل أي بيانات. أقترح بشدة البدء بإحدى هذه الوحدات.

ملحوظة: إذا كان لديك مستشعر IR خام ، فلن يتغير شيء ، باستثناء أنه يجب عليك التحقق من ورقة بيانات المستشعر للتأكد من توصيله بشكل صحيح لأنه بخلاف ذلك قد يكون لديك دخان أزرق جميل برائحة تدوم لمدة ساعة. أنت تعرف ما أعنيه ؛)

الخطوة 3: الأجزاء والمكونات المطلوبة

الأجزاء والمكونات المطلوبة
الأجزاء والمكونات المطلوبة

هنا يمكنك العثور على قائمة المكونات التي ستحتاجها لإكمال هذا البرنامج التعليمي:

روابط eBay:

  • 1 × Arduino Uno:
  • 1 × وحدة استشعار الأشعة تحت الحمراء مع جهاز التحكم عن بعد:
  • مقاومات 4 × 220 أوم:
  • 4 × LED:
  • 8 × كابل دوبونت:
  • 1 × لوح توصيل بدون لحام:
  • 1 × لوح توصيل صغير (اختياري):

روابط Amazon.com:

  • 1 × Arduino Uno:
  • 1 × وحدة استشعار الأشعة تحت الحمراء مع جهاز التحكم عن بعد:
  • 1 × لوح توصيل بدون لحام:
  • مقاومات 4 × 220 أوم:
  • 4 × LED:
  • 8 × كابل دوبونت:
  • 1 × لوح توصيل صغير (اختياري):

الخطوة 4: توصيل مستشعر الأشعة تحت الحمراء إلى Arduino

توصيل مستشعر الأشعة تحت الحمراء إلى Arduino
توصيل مستشعر الأشعة تحت الحمراء إلى Arduino
توصيل مستشعر الأشعة تحت الحمراء إلى Arduino
توصيل مستشعر الأشعة تحت الحمراء إلى Arduino
توصيل مستشعر الأشعة تحت الحمراء إلى Arduino
توصيل مستشعر الأشعة تحت الحمراء إلى Arduino

يعد إعداد اتصال مستشعر الأشعة تحت الحمراء بـ Arduino أمرًا بسيطًا للغاية. بجانب VCC و GND pin ، يحتوي المستشعر على دبوس إخراج واحد فقط يجب توصيله بأحد المسامير الرقمية في Arduino. في هذه الحالة يكون متصلًا بالرقم 13.

حاولت توضيح كل من وحدة مستشعر الأشعة تحت الحمراء وإعداد مستشعر الأشعة تحت الحمراء الخام. كما يتضح من الصور ، فإن موضع دبابيس VCC و GND على وحدة المستشعر هو عكس المستشعر الخام. ومع ذلك ، قد لا يكون هذا هو الحال بالنسبة للمستشعر الخاص بك ، كما هو مذكور في الخطوة السابقة ، في حالة استخدام المستشعر الخام ، تحقق من ورقة البيانات أولاً.

الخطوة 5: ابحث عن الرمز المطابق لكل مفتاح على جهاز التحكم عن بُعد

ابحث عن الرمز المقابل لكل مفتاح على جهاز التحكم عن بُعد
ابحث عن الرمز المقابل لكل مفتاح على جهاز التحكم عن بُعد
ابحث عن الرمز المقابل لكل مفتاح على جهاز التحكم عن بُعد
ابحث عن الرمز المقابل لكل مفتاح على جهاز التحكم عن بُعد
ابحث عن الرمز المقابل لكل مفتاح على جهاز التحكم عن بُعد
ابحث عن الرمز المقابل لكل مفتاح على جهاز التحكم عن بُعد

من أجل برمجة Arduino للقيام بشيء ما عند الضغط على مفتاح في جهاز التحكم عن بُعد ، يجب أن يكون لديك أولاً الرمز المقابل لهذا المفتاح. رمز المفتاح هو رقم يتم تقديمه عادةً على شكل سداسي عشري. تحتوي كل وحدة تحكم عن بُعد على مجموعتها الخاصة من رموز المفاتيح بينما من الممكن أن تشترك جهازي تحكم في نفس الرمز لأغراض مختلفة. يضمن وجود رموز مفاتيح مختلفة إلى جانب استخدام نطاقات تردد مختلفة عدم حدوث تداخل بين جهازي تحكم عن بُعد لأجهزة مختلفة. لهذا السبب عند تغيير قناتك التلفزيونية ، لا يتفاعل مشغل DVD على الإطلاق.

لاكتشاف الرموز الخاصة بجهاز التحكم عن بعد الذي يعمل بالأشعة تحت الحمراء ، عليك أولاً تشغيل رسم تخطيطي بسيط يحاول قراءة الرمز من المستشعر عند الضغط على مفتاح وإرساله عبر المنفذ التسلسلي إلى جهاز الكمبيوتر الخاص بك حيث يمكنك الوصول إليه باستخدام أدوات Serial Monitor الخاصة بـ اردوينو IDE. هذا ما يفعله الرسم المرفق بهذا القسم. سيكون من الأفضل الضغط على كل زر من أجل رؤية الرمز وتدوين قائمة الرموز في مكان ما حتى لا تحتاج إلى تشغيل هذا الرمز مرة أخرى في المستقبل. قائمة رموز المفاتيح التي تراها كجدول في الصورة هي في الواقع رموز تلقيتها عند الضغط على الأزرار الموجودة على جهاز التحكم عن بعد الذي يعمل بالأشعة تحت الحمراء الرخيص.

يمكنك أيضًا الوصول إلى الكود المصدري الفعلي الذي تمت مشاركته على محرر الويب الخاص بي في Arduino في ir-key-code-logger.

ملاحظة: لا تخف إذا رأيت رمزًا مثل FFFFFF في مكان ما بينهما. هذا يعني أنك ضغطت مع الاستمرار على زر لفترة من الوقت. سنعود إليه لاحقًا. في الوقت الحالي ، تجاهلهم فقط وركز على الرموز الأخرى.

الخطوة 6: التحكم في مجموعة من المصابيح باستخدام IR Remote

التحكم في مجموعة من المصابيح باستخدام IR Remote
التحكم في مجموعة من المصابيح باستخدام IR Remote
التحكم في مجموعة من المصابيح باستخدام IR Remote
التحكم في مجموعة من المصابيح باستخدام IR Remote
التحكم في مجموعة من المصابيح باستخدام IR Remote
التحكم في مجموعة من المصابيح باستخدام IR Remote

الآن بعد أن أصبح لدينا رمز لكل زر ، حان الوقت للتركيز على الطريقة التي يمكننا استخدامها بها. عادةً ما تستخدم جهاز التحكم عن بعد IR لإرسال أوامر إلى Arduino للقيام بشيء مثل تشغيل أو إيقاف تشغيل المصباح ، أو تحريك الروبوت في اتجاه معين ، أو عرض شيء ما على شاشة LCD / OLED ، وما إلى ذلك. هنا نحاول توضيح العملية باستخدام بسيط دائرة تتكون من 4 مصابيح بألوان مختلفة. نريد تشغيل كل واحد منهم أو إيقاف تشغيله بواسطة زر مخصص لجهاز التحكم عن بعد بالأشعة تحت الحمراء. كما ترى في المخطط ، يجب عليك توصيل Arduino بالطريقة التالية بمصابيح LED والمستشعر:

Arduino GND -> مستشعر الأشعة تحت الحمراء GND.

Arduino VCC -> مستشعر الأشعة تحت الحمراء VCC.

Arduino 13 -> خرج إشارة مستشعر الأشعة تحت الحمراء.

Arduino 2 -> أنود LED الأزرق (دبوس أقصر من LED الأزرق)

Arduino 3 -> أنود LED الأخضر (دبوس أقصر من LED الأخضر)

Arduino 4 -> أنود المصباح الأصفر (دبوس أقصر من مؤشر LED الأصفر)

Arduino 5 -> أنود LED الأحمر (دبوس أقصر من LED الأحمر)

Arduino GND -> كاثود لجميع مصابيح LED عبر مقاوم 220 أوم (دبوس أطول لمصابيح LED)

يمكنك العثور على الكود المقابل لهذه الدائرة في الملف المرفق أو على محرر الويب الخاص بي في Arduino في ir-led-control.

الخطوة 7: استكشاف الأخطاء وإصلاحها

أثناء إعداد مشروعك واتباع الخطوات قد تواجه العديد من المواقف الغريبة. فيما يلي قائمة ببعض الأخطاء الشائعة التي قد تواجهها عند العمل باستخدام مستشعر الأشعة تحت الحمراء.

الحصول على FFFFFF عند الضغط على مفتاح

عند الضغط على زر ، قد تلاحظ أنه في معظم الأحيان يبلغ عن رمز مثل FFFFFF. يحدث هذا عند الضغط على زر والاحتفاظ به لفترة من الوقت ، حتى لفترة قصيرة من الوقت. السيناريو هو أنه عند الضغط على الزر في البداية ، يرسل جهاز التحكم عن بعد بالأشعة تحت الحمراء رمز الزر وطالما أنك تضغط على الزر ، فإنه يكرر إرسال FFFFFF مما يعني أن المستخدم لا يزال يضغط على الزر الذي تم الإبلاغ عنه مؤخرًا. سيكون ذلك على ما يرام. يمكنك فقط حذفهم. الكود الفعلي هو الرمز الذي حصلت عليه مباشرة قبل FFFFFF على Serial Monitor.

لا يتفاعل مستشعر الأشعة تحت الحمراء على الإطلاق ويبدو أنه يسخن

اقطع الطاقة !!! إذا كنت متأكدًا من صحة مخطط مسجل رمز المفتاح ، فربما تكون المشكلة بسبب الإعداد الخاطئ لأسلاكك. كان السيناريو الذي حدث لي هو أنه بالنسبة لوحدة IR الخاصة بي (الوحدة المرفقة باللوحة) ، قمت بتوصيل VCC و GND بالطريقة المعاكسة (بسبب عدم استخدام الألوان المناسبة لأسلاك التوصيل الخاصة بي). من خلال القيام بذلك ، احترق مكون المستشعر ورفع دخان أزرق لطيف. اشتريت حزمة من مستشعرات الأشعة تحت الحمراء الخام وحاولت استبدالها وهي الآن تعمل مثل السحر:). لسوء الحظ ، ارتكبت نفس الخطأ عندما كنت أختبر باستخدام مستشعر الأشعة تحت الحمراء الخام ولم يحدث شيء هذه المرة باستثناء أن المستشعر أصبح دافئًا. لذلك تحقق دائمًا من الدائرة قبل تشغيل الطاقة!

يكتشف المستشعر أحيانًا رمزًا لم أره من قبل

هذه واحدة من أكثر المشاكل شيوعًا. على الأرجح يرجع ذلك إلى أحد الأسباب التالية:

أنت لا توجه جهاز التحكم عن بعد بالأشعة تحت الحمراء مباشرة نحو المستشعر

سيؤدي ذلك إلى وجود بعض الرموز الجديدة (معظمها رموز أطول) التي لم تتلقاها من قبل ولا تتطابق عادةً مع طول الرموز التي لديك بالفعل. لذا تذكر دائمًا توجيه جهاز التحكم عن بُعد نحو المستشعر.

أنت تستخدم جهاز تحكم عن بعد رخيص يعمل بالأشعة تحت الحمراء (مثل الذي استخدمته في هذا البرنامج التعليمي)

بدلاً من استخدام أجهزة التحكم عن بُعد الرخيصة التي لا يمكن التنبؤ بها ، يمكنك تجربة نفس السيناريو باستخدام جهاز التحكم عن بُعد الخاص بالتلفزيون أو مشغل DVD أو جهاز التحكم عن بعد بالأشعة تحت الحمراء لأي أجهزة لديك. عادةً ما يكون لديهم إشارة / جودة جيدة للأجهزة (وبالطبع أغلى ثمناً) وبناءً على تجربتي ، فإنهم عادةً ما يعملون بشكل جيد حتى لو لم توجه جهاز التحكم عن بُعد مباشرة نحو المستشعر.

كيف أعرف ما إذا كان الرمز الذي تم تسجيله ليس هراء

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

1111 1111 0111 1010 1000 0101

من اليسار إلى اليمين ، تمثل كل دفعة مكونة من 4 أرقام حرفًا في الرقم السداسي العشري الأصلي. كما ترى ، الدُفعة المقابلة لـ 7 هي 0111 والدُفعة المقابلة لـ 8 هي 1000 وهو ما يمثل النفي الدقيق لها. بالنفي ، أعني أن جميع 0s ستكون 1s وسيتم استبدال كل 1s بـ 0s. وينطبق الشيء نفسه على التالي وهو A (1010) و 5 (0101).

الخطوة 8: ماذا تفعل بعد ذلك؟

حان الآن دورك. الأمر كله متروك لخيالك لترى ما يمكنك فعله بهذا المستشعر الصغير البسيط في يدك. إليك بعض الأفكار لتبدأ بها:

  • استخدم جهاز التحكم عن بعد IR الخاص بأحد الأجهزة الموجودة في المنزل (تلفزيون ، ستريو ، إلخ) وحاول استخدامه في مشروع Arduino الخاص بك
  • حاول تشغيل جميع مصابيح LED مرة واحدة بالضغط على مفتاح ثم قم بإيقاف تشغيلها باستخدام مفتاح آخر
  • استخدم الزر Up / Down بجهاز التحكم عن بُعد لتشغيل / إيقاف تشغيل مصابيح LED واحدة تلو الأخرى حتى يتم تشغيل / إيقاف تشغيلها جميعًا
  • قم بإنشاء إشارة مرور باستخدام مصابيح LED وتحكم فيها باستخدام جهاز التحكم عن بُعد
  • إذا كان لديك محرك DC صغير في متناول اليد ، فحاول بدء / إيقاف أو تغيير اتجاه دورانه عبر جهاز التحكم عن بعد بالأشعة تحت الحمراء
  • يمكنك استخدام جهاز التحكم عن بُعد الخاص بالتلفزيون للتحكم في الروبوت أو تمكين / تعطيل بعض أجهزة الاستشعار / المشغلات الموجودة عليه

اسمحوا لي أن أعرف في التعليقات ، ماذا ستفعل (أو كنت قد فعلت بالفعل) باستخدام جهاز التحكم عن بعد IR.

موصى به: