Skip to content

النشاط

البوصلة الصوتية

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

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

ما هو؟

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

مقدمة

دليل البرمجة

ماذا ستتعلم؟

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

كيف يعمل ؟

  • تحافظ حلقة التكرار على أن يتحقّق الجهاز باستمرار من الاتجاه الذي تواجهه. إنها تخزن هذا في متغير يسمى إتجاه.
  • إذا كانت قيمة الاتجاه بين (٣٥٥ و ٥) درجات، فهذا يعني أنك تواجه الشمال؛ عندها يعرض الجهاز الحرف «N» على شاشة العرض ويصدر صوت تنبيه.
  • إذا كنت تستخدم إصدار مايكروبت الجديد، فستسمع الصوت عبر المكبّر المدمج. وإلا، فيمكنك توصيل سماعات الرأس بالطرف الصفري والتأريضي.
  • إذا لم تكن تواجه الشمال، فسيُمسح محتوى الشاشة ويتوقف الصوت.
  • يمكنك أيضًا الضغط على الزر «A» لعرض قراءة البوصلة على شاشة العرض عندما لا تكون مواجهًا للشمال.
  • في المرة الأولى التي تستخدم فيها مشروع البوصلة على جهاز مايكروبت، قد يُطلب منك ممارسة لعبة صغيرة. أَمِل الجهاز لإضاءة جميع مصابيح الشاشة. تعمل هذه الخطوة على معايرة البوصلة والتأكد من أنها تعمل بشكل صحيح.
حهاز micro:bit وعقارب البوصلة

المطلوب

  • مايكروبت
  • محرر «بايثون» أو «ميك كود»
  • حزمة بطاريات (اختياري)

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

1from microbit import *
2import music
3
4while True:
5    direction = compass.heading()
6    if direction < 5 or direction > 355:
7        display.show('N')
8        music.play("C4:1")
9    elif button_a.is_pressed():
10        display.scroll(direction)
11    else:
12        display.clear()
13        music.stop()
14

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

  • شغّل نغمات مختلفة بحسب الاتجاه الذي تواجهه: الجنوب أو الشرق أو الغرب.
  • أضف إجراءً آخر للضغط على أحد الأزرار لإعادة معايرة البوصلة إذا اعتقدت أن قراءاتها غير دقيقة. في محرر «ميك كود»، ستجد كتلة «معايرة البوصلة» في قسم إضافي «المزيد» بعد قسم «عنصر الإدخال». أما في محرر بايثون فاستخدم التعليمة الآتية: compass.calibrate().