Skip to content

نشاط

جهاز إرشاد القرب

مُتقدم | MakeCode, Python | الراديو, شاشة LED | الاتصال, العمليات الحسابية, موجات الراديو

الخطوة 1: اصنعها

ماذا يعني؟

استخدم الراديو لاستشعار مدى قرب مايكروبت (micro:bit) آخر ثم اصنع لعبة البحث عن الكنز أو استخدمه لمساعدة الأشخاص على معرفة أنهم على مسافة اجتماعية آمنة.

مقدمة

دليل البرمجة

كيف يعمل ؟

  • تحتاج إلى جهازين مايكروبيت (micro:bit) على الأقل للقيام بذلك. سننشئ برنامجين مختلفين، أحدهما لجهاز الإرشاد الذي يرسل باستمرار رسالة لاسلكية منخفضة الطاقة. البرنامج الآخر لجهاز الاستقبال.
  • عندما يلتقط جهاز الاستقبال رسالة من جهاز الإرشاد، فإنه يخزن قوته في متغير يسمى الإشارة ويظهرها على شاشة عرض LED الخاصة به.
  • تزداد قوة إشارات الراديو كلما اقتربت من جهاز الإرسال، لذلك إذا كانت الإشارة قوية فهذا يعني أن المايكروبت (micro:bit) الآخر ربما يكون قريبًا.
  • إذا كانت إشارة الراديو ضعيفة، فإن المايكروبيت (micro:bit) الآخر على الأرجح بعيد.
  • إنه يعرض مخطط شريطي يزداد قوة مع زيادة قوة الإشارة وقربها منك. يستخدم كتلة خريطة الرياضيات لتعيين أرقام قوة إشارة الراديو من النطاق 95- (ضعيف) إلى 42- (قوي) إلى نطاق من 0 إلى 9 يمكننا استخدامه لرسم رسم بياني شريطي.

نسخة Python

  • لا تحتوي Python على رسم بياني شريطي أو وظيفة خريطة مضمنة، لذا فهي تعمل بشكل مختلف قليلاً. تضيء جميع مصابيح LED عندما تقترب من جهاز الإرشاد، وكلما اقتربت تتوهج أكثر.
  • يأخذ قراءات قوة الراديو باستخدام الأمر radio.receive_full () . يوفر هذا الرسالة، وقوة الإشارة، والطابع الزمني. نريد فقط معرفة قوة الإشارة، لذلك نستخدم الإشارة = رسالة[1] لاستخراجها وتخزينها في متغير يسمى الإشارة.
  • قوة الإشارة قد تكون في النطاق 98- (الأضعف) إلى 45- (الأقوى)، ويعرف برنامج Python دالة تدعى خريطة لتحويل الأرقام في هذا النطاق إلى النطاق 0 - 9 الذي يمكننا استخدامه لتغيير سطوع إضاءات شاشات LED وهي: 0 يعني إيقاف، 9 هو أعلى مستوى إضاءة لشاشة LED. (قد ترغب في إعادة استخدام هذه الوظيفة في مشاريع Python الأخرى لأنها تعمل مثل خريطة في كتلة MakeCode).
  • برنامج Python ينشئ صورة فارغة 5x5 تسمى ضوء باستخدام الأمر ضوء = صورة(5،5)
    يتم تغيير سطوعها باستخدام الأمر light.fill()

ما تحتاجه

  • جهازين مايكروبيت (micro:bit) وحزم البطارية
  • محرر MakeCode أو Python
  • حزمة البطارية (اختياري)

الخطوة 2: برمجها

جهاز الإرسال / جهاز الإرشاد

1from microbit import *
2import radio
3radio.config(group=1, power=1)
4radio.on()
5
6while True:
7    radio.send('1')
8    sleep(200)
9

المستلم

1from microbit import *
2import radio
3radio.config(group=1)
4radio.on()
5light = Image(5,5) # create an empty image
6
7# function to map signal stength to LED brightness
8def map(value, fromMin, fromMax, toMin, toMax):
9    fromRange = fromMax - fromMin
10    toRange = toMax - toMin
11    valueScaled = float(value - fromMin) / float(fromRange)
12    return toMin + (valueScaled * toRange)
13
14while True:
15    message = radio.receive_full()
16    if message:
17        signal = message[1]
18        brightness = map(signal, -98, -44, 0, 9)
19        light.fill(round(brightness))
20        display.show(light)
21

الخطوة 3: حسّنها

  • اجمع بين رمز جهاز الإرشاد ورمز جهاز الاستقبال بحيث يمكنك الحصول على مايكروبت (micro:bit) واحد يقوم بكلا المهمتين.
  • اصنع أربطة معصم حتى تتمكن من ارتداء أجهزة الكشف عن قرب.
  • ما مدى قوة الإشارة عندما تكون على بعد متر أو مترين؟ قم بتعديل الرمز البرمجي لإطلاق إنذار مرئي أو مسموع عندما يكون شخص ما قريبًا جدًا.
  • استخدم هذه البرامج لإنشاء لعبة البحث عن الكنز: قم بإخفاء جهاز الإرشاد وضع رمز جهاز الاستقبال على الكثير من أجهزة مايكروبت (micro:bit):
  • إذا كنت في الهواء الطلق أو في مساحة كبيرة، فجرّب تغيير قوة جهاز الإرسال. قد يكون أي رقم من 0 إلى 7