Skip to content

نشاط

شمعة

متوسط | MakeCode, Python | الميكروفون, شاشة LED | أجهزة الاستشعار, التحديد, القيم المنطقية

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

ماذا يعني؟

اصنع شمعة الكترونية يمكنك نفخها! يكشف الميكروفون المدمج في micro:bit صوت النفس ويطفئ الشمعة - ثم يضيئها مرة أخرى.

مقدمة

دليل البرمجة

ما ستتعلمه

  • كيفية استخدام أرقام عشوائية لمصابيح LED العشوائية
  • كيفية تبديل المخرجات استجابة لمدخلات الاستشعار
  • كيفية استخدام منطق القيم المنطقية لعمل محمول يقوم بتبديل التشغيل والإيقاف عند تشغيله في نفس الحدث

كيف يعمل ؟

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

ما تحتاجه

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

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

1from microbit import *
2import random
3
4lit = True
5
6while True:
7    if microphone.was_event(SoundEvent.LOUD):
8        lit = not lit
9        sleep(500)
10    if lit:
11        display.show(Image(
12        "00900:"
13        "09990:"
14        "09990:"
15        "09990:"
16        "09990"))
17        sleep(150)
18        flicker = random.randint(1, 3)
19        if flicker != 2:
20            display.set_pixel(2,0,0)
21            display.set_pixel(flicker,0,9)
22        sleep(150)
23    else:
24        display.clear()

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

  • أنشئ تصميمك الخاص للرسوم المتحركة لتشغيل أو إيقاف تشغيل الصوت.
  • يمكنك جعل كتلة 'صوت عالى' حساسة أكثر أو أقل عن طريق إضافة كتلة 'تعيين عتبة صوت عالية' إلى كتلة 'عند البدء'. العثور على هذا تحت المداخل و '...المزيد.' استخدم أرقام أصغر للأصوات الأكثر هدوءًا، أرقام أكبر للأصوات الأعلى.
  • في Python، لتغيير عتبة الأصوات العالية استخدام microphone.set_threshold(SoundEvent. OUD, 128) مباشرة قبل حلقة أثناء الصحيح:، لتغيير الرقم 128 إلى قيمة الصوت التي تريدها. يمكن أن يكون هذا أي رقم بين 0 و 255، علمًا بأن 255 هو الصوت الأعلى.