الخطوة 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)
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
This content is published under a Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) licence.