- وحدة استشعار الاهتزاز SW-420
- المكونات مطلوبة
- مخطط دائرة مستشعر الاهتزاز في Arduino
- برمجة مستشعر الاهتزاز اردوينو أونو
- اختبار دائرة مستشعر الاهتزاز في Arduino
هناك العديد من الآلات المهمة أو المعدات باهظة الثمن التي تتعرض لأضرار بسبب الاهتزازات. في مثل هذه الحالة ، يلزم وجود مستشعر اهتزاز لمعرفة ما إذا كانت الآلة أو الجهاز ينتج اهتزازات أم لا. تحديد الجسم الذي يهتز باستمرار ليس بالأمر الصعب إذا تم استخدام المستشعر المناسب لاكتشاف الاهتزاز. هناك عدة أنواع من أجهزة استشعار الاهتزازمتوفر في السوق يمكنه اكتشاف الاهتزاز عن طريق استشعار التسارع أو السرعة ويمكن أن يوفر نتيجة ممتازة. ومع ذلك ، فإن أجهزة الاستشعار هذه باهظة الثمن عند استخدام مقياس التسارع. مقياس التسارع حساس للغاية ويمكن استخدامه لعمل دائرة للكشف عن الزلازل. ولكن ، هناك عدد قليل من المستشعرات المخصصة والرخيصة المتاحة أيضًا لاكتشاف الاهتزازات فقط ، أحد مستشعرات الاهتزاز هو SW-420 الذي سنقوم بالتفاعل معه مع Arduino Uno.
لذلك في هذا المشروع ، يتم ربط وحدة مستشعر الاهتزاز الأساسية مع Arduino UNO الشهير وكلما اكتشف مستشعر الاهتزاز أي اهتزاز أو اهتزاز ، سيبدأ مؤشر LED في الوميض.
وحدة استشعار الاهتزاز SW-420
هذه وحدة اهتزاز SW-420 ، والتي يمكن أن تعمل من 3.3 فولت إلى 5 فولت. يستخدم المستشعر مقارن LM393 لاكتشاف الاهتزاز عبر نقطة عتبة وتوفير بيانات رقمية ، منطق منخفض أو منطق مرتفع ، 0 أو 1. أثناء التشغيل العادي ، يوفر المستشعر Logic Low وعندما يتم اكتشاف الاهتزاز ، يوفر المستشعر المنطق العالي. هناك ثلاثة أجهزة طرفية متوفرة في الوحدة ، اثنان من مصابيح LED ، أحدهما لحالة الطاقة والآخر لإخراج المستشعر. بالإضافة إلى ذلك ، يتوفر مقياس جهد يمكن استخدامه بشكل أكبر للتحكم في نقطة بداية الاهتزاز. في هذا المشروع ، سوف نستخدم 5 فولت لتشغيل الوحدة.
استخدمنا نفس المستشعر في نظام التنبيه ضد السرقة باستخدام متحكم ATmega8. كما يمكن استخدام مستشعر الإمالة لاكتشاف الحوادث المفاجئة.
المكونات مطلوبة
- اردوينو UNO
- وحدة استشعار الاهتزاز SW-420
- 5 مم LED (أي لون)
- أسلاك توصيل (أسلاك توصيل)
- برنامج كبل USB للتحميل
مخطط دائرة مستشعر الاهتزاز في Arduino
الرسم التخطيطي لربط مستشعر الاهتزاز مع Arduino uno موضح أدناه.
يتم توصيل LED في دبوس D13. يتم تشغيل الوحدة باستخدام دبوس 5V المتاح في Arduino. يتم استخدام الدبوس الأرضي ودبوس 5 فولت لتشغيل Arduino بينما يتم استخدام دبوس A5 للحصول على البيانات من مستشعر الاهتزاز.
يتم إنشاء الدائرة حيث يتم توصيل وحدة SW-420 ومصباح LED بـ Arduino Uno.
برمجة مستشعر الاهتزاز اردوينو أونو
لا تتطلب برمجة Arduino UNO إلى مستشعر اهتزاز الواجهة الكثير من الجهد حيث يجب مراقبة دبوس الإدخال فقط للتوصل إلى استنتاج. و تعلق رمز كاملة وفيديو العمل في نهاية.
في البداية يتم تضمين ملفات الرأس. تم تضمين رأس اردوينو منذ أن تمت كتابة هذا البرنامج التعليمي في Eclipse IDE بامتداد Arduino. سيعمل هذا المخطط أيضًا مع Arduino IDE وأثناء استخدام هذا المخطط في Arduino IDE ، ليست هناك حاجة لتضمين الرأس.
#تضمن
هنا يتم تعريف وحدتي ماكرو لـ ON و OFF.
#define ON 1 #define OFF 0
البيان أدناه يستخدم لدمج المصابيح وجهاز استشعار الاهتزاز. مستشعر الاهتزاز متصل بالدبوس A5. يتم أيضًا استخدام مؤشر LED المدمج والذي يتم توصيله مباشرة في اللوحة بالدبوس 13. كما يتم توصيل مؤشر LED مقاس 5 مم أيضًا بالدبوس 13.
/ * * وصف الدبوس * / int vibration_Sensor = A5 ؛ الصمام int = 13 ؛
يتم الإعلان عن عددين صحيحين حيث تظهر أجهزة الاستشعار الإخراج وسيتم تخزين الإخراج السابق ، والذي سيتم استخدامه أيضًا لاكتشاف ما إذا كان الاهتزاز يحدث أم لا.
/ * * وصف تدفق البرنامج * / int present_condition = 0 ؛ int previous_condition = 0 ؛
نفس الدبوس الذي تم الإعلان عنه باعتباره الاتصال المحيطي ، يتم تكوين اتجاه المسامير. دبوس المستشعر كمدخل ودبوس LED كمخرج.
/ * * إعداد وضع الدبوس * / إعداد باطل () { pinMode (vibration_Sensor ، INPUT) ؛ pinMode (LED ، الإخراج) ؛ }
تتم كتابة وظيفة واحدة وميض الصمام مرتين. يمكن تكوين التأخير عن طريق متابعة قيمة التأخير.
باطل led_blink (باطل) { digitalWrite (LED ، تشغيل) ؛ تأخير (250) ؛ الكتابة الرقمية (LED ، إيقاف التشغيل) ؛ تأخير (250) ؛ الكتابة الرقمية (LED ، ON) ؛ تأخير (250) ؛ الكتابة الرقمية (LED ، إيقاف التشغيل) ؛ تأخير (250) ؛ }
في وظيفة الحلقة ، تتم مقارنة الحالة الحالية والسابقة. إذا لم يكن هذان العنصران متماثلين ، تبدأ المصابيح في الوميض حتى يتماثل كلاهما. في البداية ، يحمل المتغيرين 0 ويظل المصباح مغلقًا أثناء بدء البرنامج. عندما يكون هناك بعض virbraion، present_condition متغير يصبح 1 وأدت بداية لطرفة. ومرة أخرى عندما تتوقف الاهتزازات ، يصبح كل من vaiables 0 ويتوقف LED عن الوميض.
حلقة باطلة () { previous_condition = present_condition ؛ Present_condition = digitalRead (A5) ؛ // قراءة البيانات الرقمية من دبوس A5 في Arduino. إذا (previous_condition! = present_condition ) { led_blink () ؛ } else { digitalWrite (LED ، OFF) ؛ } }
هذا ينتهي من برمجة اردوينو UNO مع مستشعر الاهتزاز. ستكون الخطوة الأخيرة هي اختبار الإعداد بالكامل.
اختبار دائرة مستشعر الاهتزاز في Arduino
لا تتطلب الدائرة لوحة توصيل إضافية. يمكن اختباره ببساطة باستخدام لوحة Arduino UNO. تتم مراقبة مؤشر LED عند اصطدام جهاز استشعار الاهتزاز أو تغيير حالته. سيومض المصباح المتصل بـ Pin 13 من Arduino UNO عندما يكون هناك بعض الاهتزازات. إذا لم يعمل مستشعر الاهتزاز ، فيرجى التحقق من الاتصال والطاقة. تجنب أي اتصال ضعيف بين المستشعر ووحدة التحكم الدقيقة.
هذه هي الطريقة التي يمكن بها ربط مستشعر الاهتزاز مع Arduino UNO. إذا كان لديك أي شك أو اقتراح ، فيمكنك الوصول إلينا من خلال المنتدى أو يمكنك أيضًا التعليق أدناه.