يسمح لك المستشعر ، الذي اقترحته Instructables تحت الاسم المستعار AdnanA61 ، باكتشاف الأشعة تحت الحمراء قصيرة الموجة من مصادر مثل أجهزة التحكم عن بعد ، والحرائق ، والمصابيح المتوهجة ، والشمس. لا يستجيب لشكل آخر من أشكال الأشعة تحت الحمراء - موجة طويلة ، وجميع مصادرها يتم تسخينها إلى درجات حرارة عادية. محلية الصنع ينتج نوعان من الإشارات: تناظرية ومنفصلة ، والثاني منها يتم تشكيله بواسطة مقارن ، يتم تعديل عتبةه. يمكن تطبيق كلتا الإشارات على حد سواء اردوينووإلى أجهزة أخرى مزودة بوحدة تحكم دقيقة أو بدونها. فيما يلي تصميم آخر للوحة ، الدائرة ليست مختلفة:
يتم تصنيع المستشعر على أحد المقارنين للدائرة الدقيقة LM393 ، ويمكن استخدام الثاني ، إذا رغبت في ذلك ، لحل مشكلة أخرى. إذا كنت لا تستخدمه ، فمن الأفضل توصيل كل من مدخلاته بسلك مشترك ، وترك الإخراج غير متصل.
تم تصميم المخطط بحيث أن قراءته ليست مريحة للغاية. يجب ربط النقاط الثلاث المعينة كـ A0 معًا. تم تحديد نقطتين كـ D0 - أيضًا. لذلك يصبح من الواضح ما يرتبط وكيف يعمل. لا ألغاز. إذا قمت بتجميع المستشعر من المصمم ، فسيكون دبوس المشط الموجود على اللوحة المتضمن في المجموعة كما يلي:
بالطبع ، على لوحة مؤقتة أو مطبوعة أو لوحة توصيل ، يمكن جعل هذا الدبوس مناسبًا لك. يمكنك التحقق من اللوحة أثناء العمل وضبط حد المقارنة مباشرة بعد التجميع ، ببساطة عن طريق توفير الطاقة ، وذلك بفضل LED الموجود على اللوحة. يضيء مصباح LED الثاني باستمرار عند تشغيل الطاقة. ثم يمكنك توصيل المستشعر بـ Arduino واختبار الإخراج التناظري باستخدام هذا الرسم:
// انسخ هذا الكود في اردوينو من هذا السطر
// note: - هذا الرمز للقيمة التناظرية
int int = A0 ؛ // تهيئة الدبوس التناظري
int الجرس = 3 ؛ // تهيئة دبوس الجرس
قيمة int
إعداد باطل () {
Serial.begin (9600) ؛
pinMode (مستشعر ، إدخال) ؛ // assing نوع وضع الدبوس للدبوس كمدخل أو إخراج
pinMode (الجرس ، الإخراج) ؛
}}
حلقة فارغة () {
القيمة = analogRead (مستشعر) ؛ // قراءة الصمام من المستشعر
value = map (value، 0.1023،0،255) ؛ // تعيين القيمة من 0 إلى 1023 ب / ث 0 إلى 255
الكتابة الرقمية (الجرس ، القيمة) ؛ // تشغيل الجرس أو إيقاف تشغيله بواسطة القيمة المعينة
}}
والرقمية - مع رسم آخر:
// انسخ هذا الكود في اردوينو من هذا السطر
// note: - هذا الرمز للقيمة الرقمية
int sensor_digital = 2 ؛ // تهيئة الدبوس الرقمي
int الجرس = 3 ؛
قيمة int
إعداد باطل () {
Serial.begin (9600) ؛
pinMode (sensor_digital ، INPUT) ؛
pinMode (الجرس ، الإخراج) ؛
}}
حلقة فارغة () {
value = digitalRead (sensor_digital) ؛ // قراءة البيانات الرقمية من المستشعر
الكتابة الرقمية (الجرس ، القيمة) ؛ // تشغيل الجرس أو إيقاف تشغيله
}}
عندما يعمل كل شيء ، يمكنك كتابة البرامج التي تنفذ خوارزميات ذات تعقيد أكبر. على سبيل المثال ، لكي يقترب الروبوت "خائف" من اللهب أو المصباح المتوهج القوي حتى لا يتدهور. وهو يفعل الشيء الصحيح ، لأن تثبيت لوحة المستشعر على مصادر التسخين القوي على مسافة أقل من 100 مم يمكن أن يتلفها.