Skip to content

النشاط

جهاز الإنذار للباب

متوسط | MakeCode, Python | الأزرار, البوصلة, شاشة العرض | الإختيار, المغناطيسية, عوامل المقارنة

الخطوة ١: صنّع

ما هو؟

هل دخل أحد إلى غرفتك في غيابك؟ باستخدام مايكروبت وأدوات أخرى، يمكنك صنع جهاز إنذار يقوم بتنبيهك إذا حاول أحد التسلل إلى غرفتك....

مقدمة

دليل البرمجة

كيف يعمل ؟

  • في هذا المشروع، ستصمّم جهاز إنذار للباب يعمل بطريقة مشابهة للمستشعرات المستخدمة في أنظمة أمن المنازل.
  • يحتوي مايكروبت على مستشعر بوصلة مدمج يُسمّى مقياس المغناطيسية «Magnetometer». يمكنك استخدامه لقياس المجال المغناطيسي للأرض وتحديد الاتجاهات، أو لاستشعار شدة المجالات المغناطيسية القريبة منك.
  • ثبّت مغناطيسًا عند أحد أركان الباب، ثم ثبّت مايكروبت ببرنامج «إنذار الباب» بالقرب من إطار الباب.
  • يستخدم البرنامج مستشعر البوصلة في الجهاز، إلى جانب حلقة التكرار الابدية لقياس شدة المجال المغناطيسي باستمرار.
  • يستخدم البرنامج «الاختيار (selection)» لعرض وجه غاضب على الشاشة، وذلك عندما تنخفض شدة المجال المغناطيسي عن مستوى محدّد يُسمّى بالـ «عتبة (threshold)» يشير ذلك إلى ابتعاد المغناطيس عن مايكروبت عند فتح الباب، مما يعني أن شخصًا ما قد دخل غرفتك!
  • عند الضغط على الزر «A»، تظهر قراءة شدة المجال المغناطيسي الحالية. استخدم هذه القراءة لتحديد قيمة العتبة المناسبة، وذلك بأخذ قراءات والباب مفتوح وأخرى والباب مغلق. استخدمنا القيمة 200 في مثالنا، لكن القيمة المناسبة تعتمد على قوة المغناطيس ووجود مجالات مغناطيسية أخرى في المنطقة المحيطة. يوضّح مقطع البرمجة أعلاه كيفية القيام بذلك.
  • اضغط على الزر «A» لمسح الوجه الغاضب و إعادة ضبط جهاز الإنذار.

المطلوب

  • مايكروبت
  • محرر «ميك كود» عبر الويب
  • حزمة البطاريات
  • مغناطيس
  • طريقة ما لتثبيت المغناطيس وجهاز مايكروبت المرفق بالبطارية على الباب وإطاره.

الخطوة ٢: بَرمج

1# Python uses nanoteslas to measure magnetism.
2# Experiment with different numbers depending on the
3# strength of your magnet, which you can read by 
4# pressing button A.
5
6from microbit import *
7
8while True:
9    if button_a.was_pressed():
10        display.scroll(compass.get_field_strength())
11    if compass.get_field_strength() < 200000:
12        display.show(Image.ANGRY)

الخطوة ٣: حسّن

  • أضف مكبّر صوت لإصدار إنذار صوتي.
  • استخدم متغيرًا لعدّ عدد مرات فتح الباب، وذلك بإضافة تعليمات برمجية لاكتشاف حالتي فتح الباب و إغلاقه
  • أنشئ مؤقّتًا لقياس المدة التي يظل فيها الباب مفتوحًا.