نشاط الزر السحري

تعلم كيفية اكتشاف المغناطيسية حول شريحة المايكروبت!

  • Get started
  • MakeCode
  • Inputs
Print lesson
  • الأعمار 8+
  • 30 دقائق
  • MakeCode Editor

مقدمة

يستخدم هذا المشروع بوصلة المايكروبت للكشف عن وجود مغناطيس.

دليل المعلم

افتح افتح teacher resources

نشاط

ستة خطوات

This is a simple magic trick you can perform to amaze your friends by magically switching the A and B buttons on the micro:bit!

كيفية عمل الخدعة :

مع الأسف ، فإن السحر الوحيد هنا هو في الشفرة code. تستخدم هذه الخدعة مغناطيسًا مخفيًا في يدك لتخبره شريحة المايكرو:بت بالتبديل فوق الأزرار بحيث عندما يكون المغناطيس بالقرب من microbit ، يبدأ الزر A بالعمل مثل الزر B < / b> والزر B يبدأ العمل مثل الزر A .

نبذة عن المؤلف:

ساهم في هذا المشروع كل من Brian وJasmine Norman ، ويعرف أيضًا باسم MicroMonstersUK . يمكنك التحقق من قناة تعليم مايكرو:بت (micro:bit) الخاصة بها على اليوتيوب لمزيد من المشاريع.

ماذا تحتاج

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

You'll need magnets to perform this trick

الخطوة 1: الحصول على الأزرار لعرض A و B

قبل أن نرمز إلى الخدعة نفسها ، نحتاج إلى تشغيل الأزرار كما تتوقع منها ، بحيث يظهر الزر A بالضغط على الزر 'A' والضغط على الزر B يعرض 'B':


input.onButtonPressed(Button.A, function () {
    basic.showString("A")
})
input.onButtonPressed(Button.B, function () {
    basic.showString("B")
})
          

الخطوة 2: قياس القوة المغناطيسية

سوف نستخدم البوصلة للمايكرو:بت (micro:bit) للكشف عن المغناطيس. A compass tells us which direction we are facing by detecting the Earth’s magnetic field, but they can also detect any other magnet nearby. سنستخدم ذلك للتحقق مما إذا كان مغناطيسنا بجوار مايكرو:بت (micro:bit) باستخدام بلوك (block) القوة المغناطيسية الموجودة في قسم "المزيد" في قائمة الإدخال. As we only want to measure the strength we change the drop down to select ‘strength’.

الخطوة 3: التحقق مما إذا كان المغناطيس في مكان قريب

الآن يمكننا قياس القوة المغناطيسية بالقرب من مايكرو:بت (micro:bit)، يمكننا أن نتحقق مما إذا كانت القيمة التي نقيسها كبيرة جدًا بحيث يعني أنه يجب أن يكون هناك مغناطيس قوي قريب.

إذا كنت قد لعبت في أي وقت مضى مع مغناطيس كنت أعلم أن لديهم نهايتين ، وغالبا ما تسمى "القطب" الشمال والجنوب. واعتمادًا على نهاية المغنطيس الذي يشير إلى مايكرو:بت (micro:bit) ، سيكون قياس القوة المغناطيسية إما رقمًا سالبًا مثل -100 أو رقم موجب مثل 100. نريد فقط أن نعرف ما إذا كانت القوة 100 على الأقل لا يهمنا إذا كانت سلبية أو إيجابية ، لذلك نستخدم أيضًا "القيمة المطلقة" للحظر من قائمة الرياضيات لإخبار التعليمة البرمجية الخاصة بنا بتجاهل العلامة السلبية وعلاجها فقط - 100 كما لو كان 100

لذلك ، في التعليمة البرمجية أدناه سنتحقق مما إذا كانت القيمة المطلقة لقوة شدة المجال المغناطيسي لدينا أكثر من 100 وحفظ نتيجة هذا الفحص في متغير جديد يسمى 'تم تحويلها':


let isSwitched = false
let force = 0

force = Math.abs(input.magneticForce(Dimension.Strength))
isSwitched = force > 100
          

الخطوة 4: قم بتشغيل "مغناطيس قريب" تحقق طوال الوقت

At the moment our code to detect the magnet being nearby will only run once so we need to put it into a forever block so that it keeps getting run again and again checking for the magnet to come near to the micro:bit. يجب أن نتأكد أيضًا من أن متغير "تم التحويل" غير صحيح عند بدء برنامجنا


let isSwitched = false
let force = 0
basic.forever(function () {
    force = Math.abs(input.magneticForce(Dimension.Strength))
    isSwitched = force > 100
})
          

الخطوة 5: تبديل الأزرار عندما نعرف أن المغناطيس موجود في مكان قريب

الآن يمكننا التحقق من قيمة متغيرنا "تم التحويل" عندما نريد ، وسنعرف أن المغناطيس موجود في مكان قريب إذا كانت القيمة "صحيحة". دعونا نستخدم ذلك لتغيير طريقة عمل الأزرار وإكمال التعليمة البرمجية لخدعتنا. سنقوم بإضافة اذا فإن بلوك (block) إلى كل رمز زر والتحقق مما إذا كان ينبغي تبديل ما يعرضه كل زر لأن 'تم التحويل' تساوي " صح "


let isSwitched = false
let force = 0
input.onButtonPressed(Button.A, function () {
    if (isSwitched) {
        basic.showString("B")
    } else {
        basic.showString("A")
    }
})
input.onButtonPressed(Button.B, function () {
    if (isSwitched) {
        basic.showString("A")
    } else {
        basic.showString("B")
    }
})
          

الخطوة 6: ممارسة أدائك

Here is the finished code:


let isSwitched = false
let force = 0
input.onButtonPressed(Button.A, function () {
    if (isSwitched) {
        basic.showString("B")
    } else {
        basic.showString("A")
    }
})
input.onButtonPressed(Button.B, function () {
    if (isSwitched) {
        basic.showString("A")
    } else {
        basic.showString("B")
    }
})
basic.forever(function () {
    force = Math.abs(input.magneticForce(Dimension.Strength))
    isSwitched = force > 100
})
          

Now you just need to program your own micro:bit and practice the trick a few times before performing to friends. Try asking your friends to click the buttons after you have switched the labels and the trick won’t work for them as they don’t have a hidden magnet in their hand.

التحدي

حاول إضافة الوظائف التالية:

  • إضافة رسم متحرك عندما فوق قوة قوة مغناطيسية معينة
  • خيار قراءة المغناطيسية الحية عند الضغط على الأزرار "A + B".
Selecting this opens external content from our support system, which adheres to their privacy policy.