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

مستشعر تأثير قاعة الأردوينو مع المقاطعات: 4 خطوات
مستشعر تأثير قاعة الأردوينو مع المقاطعات: 4 خطوات

فيديو: مستشعر تأثير قاعة الأردوينو مع المقاطعات: 4 خطوات

فيديو: مستشعر تأثير قاعة الأردوينو مع المقاطعات: 4 خطوات
فيديو: Arduino hall effect sensor with interrupts 2024, يوليو
Anonim
Image
Image
ما هو مستشعر تأثير القاعة؟
ما هو مستشعر تأثير القاعة؟

مرحبا جميعا،

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

الأدوات والمواد المستخدمة في الفيديو (الروابط التابعة): Arduino Uno:

مستشعرات تأثير القاعة:

المقاومات المتنوعة:

الخطوة 1: ما هو مستشعر تأثير القاعة؟

ما هو مستشعر تأثير القاعة؟
ما هو مستشعر تأثير القاعة؟
ما هو مستشعر تأثير القاعة؟
ما هو مستشعر تأثير القاعة؟
ما هو مستشعر تأثير القاعة؟
ما هو مستشعر تأثير القاعة؟

مستشعر تأثير هول هو جهاز يستخدم لقياس حجم المجال المغناطيسي. جهد الخرج يتناسب طرديا مع شدة المجال المغناطيسي من خلاله.

تستخدم مستشعرات تأثير القاعة لاستشعار القرب وتحديد المواقع واكتشاف السرعة وتطبيقات الاستشعار الحالية.

سيُطلق على الجهاز الذي سأعمل معه اليوم 3144 وهو مفتاح تأثير القاعة يُستخدم بشكل أساسي لتطبيقات السيارات ودرجات الحرارة المرتفعة. ناتجها مرتفع بشكل افتراضي وينخفض بمجرد وجود مجال مغناطيسي.

يحتوي المستشعر على 3 دبابيس ، VCC ، أرضي ومخرج. يمكنك التعرف عليهم بهذا الترتيب إذا كنت تحمل المستشعر مع الملصقات تجاهك. يوجد VCC على اليسار ، والإخراج على الجانب الأيمن. لمنع أي انحراف للجهد ، يتم استخدام مقاوم 10 كيلو بين VCC والإخراج في تكوين سحب.

الخطوة الثانية: ما المقصود بالمقاطعة؟

ما هي المقاطعة؟
ما هي المقاطعة؟
ما هي المقاطعة؟
ما هي المقاطعة؟

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

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

يحتوي Arduino Uno على اثنين من الدبابيس التي يمكننا استخدامها كمقاطعات ، الدبوس 2 و 3. الوظيفة التي نستخدمها لتسجيل الدبوس كمقاطعة تسمى attachInterrupt حيث كمعامل أول نرسله في الدبوس ليتم استخدامه ، فإن المعلمة الثانية هي اسم الوظيفة التي نريد الاتصال بها بمجرد اكتشاف مقاطعة وكمعامل ثالث نرسله في الوضع الذي نريد أن تعمل المقاطعة فيه. يوجد ارتباط في وصف الفيديو للمرجع الكامل لهذه الوظيفة.

الخطوة 3: الاتصالات والرمز

التوصيلات والكود
التوصيلات والكود
التوصيلات والكود
التوصيلات والكود
التوصيلات والكود
التوصيلات والكود

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

في وظيفة الإعداد ، نحدد أولاً الأوضاع على المسامير المستخدمة ثم نعلق المقاطعة كما هو موضح سابقًا. إحدى الوظائف الأخرى التي نستخدمها هنا هي digitalPinToInterrupt والتي كما يوحي الاسم ، تقوم بترجمة رقم التعريف الشخصي إلى رقم المقاطعة.

في الطريقة الرئيسية ، نكتب فقط متغير الحالة على دبوس LED ونضيف تأخيرًا صغيرًا جدًا حتى يتمكن المعالج من العمل بشكل صحيح.

حيث قمنا بإرفاق المقاطعة ، حددنا الوميض كمعامل ثاني وهذا هو اسم الوظيفة المراد استدعاؤها. في الداخل نقوم فقط بعكس قيمة الحالة.

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

إذا قمنا الآن بتغيير الوضع إلى RISING ، فلن يتم تشغيل وظيفة الوميض إلا بمجرد رؤية حافة صاعدة للإشارة على دبوس المقاطعة. الآن في كل مرة نقترب فيها المغناطيس من المستشعر ، يتم إيقاف تشغيل مؤشر LED أو تشغيله ، لذلك قمنا بشكل أساسي بعمل مفتاح مغناطيسي.

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

الخطوة 4: مزيد من الإجراءات

مزيد من الإجراءات
مزيد من الإجراءات

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

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

تحياتي وشكرا على المشاهدة!

موصى به: