Skip to content

نشاط

مؤقت الطاقة الضوئية

مُتقدم | MakeCode, Python | أزرار, شاشة LED, مستشعر الضوء | 13 المناخ, أجهزة الاستشعار, القيم المنطقية, المتغيرات, المدخلات/المخرجات

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

ماهو ؟

الوقت الذي تبقى فيه الأضواء قيد التشغيل لتتبع استخدامك للطاقة. يمكنك أيضًا استخدام هذا المشروع لتتبع ساعات أشعة الشمس في مشروع محطة الطقس.

هذا المشروع جزء من سلسلة أنشئت لتقديم أنشطة لحل المشاكل ووضع نماذج أولية تهدف إلى إستكشاف التكنولوجيا كأحد الحلول لأهداف التنمية المستدامة(Global Goals).

ماذا ستتعلم؟

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

كيفية الاستخدام

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

كيف يعمل ؟

  • البرنامج يستخدم متغير منطقي يسمى التوقيت للتحكم في البرنامج. متغيرات القيم المنطقية يمكن أن تحتوي فقط على قيمتين: صح أو خطأ.
  • إذا كانت قراءة مستشعر الضوء أعلى من المستوى الذي قمت بتعيينه، فإنه يبدأ المؤقت ويضيء شاشة LED. إذا كان أقل من هذا المستوى، فإنه يوقف المؤقت ويظهر نقطة على شاشة العرض.
  • هذا المشروع يستخدم تأخر الاستجابة للتأكد من أن المؤقت لا يعمل ويتوقف بشكل متكرر عندما يتغير مستوى الضوء قليلًا حول عتبة تشغيل المؤقت. يقوم بإنشاء نطاق أكبر حول العتبة التي يجب عبورها قبل تشغيل المؤقت أو إيقافه.
  • ميزة تأخر الاستجابة هي سمة مشتركة في نظم التحكم التي تستخدم أجهزة استشعار مثل نظم التدفئة التي تحتوي على منظومات حرارة. إذا قمت بتعيين الحرارة إلى درجة حرارة معينة، أنت لا تريد تشغيل وإيقاف التدفئة بسرعة وبشكل متكرر عندما تدور درجة الحرارة حول الرقم الذي قمت بتحديده. ميزة تأخر الاستجابة تمنع حدوث ذلك.

ما تحتاجه

  • micro:bit
  • محرر MakeCode أو Python
  • حزمة البطارية (موصى به)

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

1from microbit import *
2display.show('L')
3
4LIGHT = 100  # <<< Enter your 'measured' reading here
5
6HYSTERESIS = 8
7LIGHT -= (HYSTERESIS/2)
8DARK = LIGHT - HYSTERESIS
9ON_IMAGE = Image('99999:99999:99999:99999:99999')
10OFF_IMAGE = Image('00000:00000:00900:00000:00000')
11timing = False
12start_time = 0
13total_time = 0
14reading = display.read_light_level()
15sleep(1000)
16
17def show_number(n):
18    # Make number display the same as MakeCode
19    if len(str(n)) == 1:
20        display.show(n)
21    else:
22        display.scroll(n)
23
24while True:
25    reading = display.read_light_level()
26    if reading < DARK:
27        if timing:
28            # it has just gone dark, update timer for 'on' time
29            end_time = running_time()
30            total_time += (end_time - start_time)
31            timing = False
32        
33    elif reading >= LIGHT:
34        if not timing:
35            # it has just gone light, start the timer
36            start_time = running_time()
37            timing = True
38        
39    if button_b.was_pressed():
40        # calculate and display cumulative time in minutes
41        minutes = total_time / 60000
42        if timing:
43            # adjust live for current ON time
44            minutes += (running_time() - start_time) / 60000
45        display.clear()
46        show_number(round(minutes))  # whole numbers only
47        sleep(500)
48
49    # update the display with the ON/OFF state
50    if timing:
51        display.show(ON_IMAGE)
52    else:
53        display.show(OFF_IMAGE)
54    sleep(1000)
55
56        

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

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