اذهب إلى المحتوى

تصميم محاكاة لمفرقعات الحفلات باستخدام لوحة راسبيري باي بيكو


أروى عفان

سنتعلم في هذا المقال كيفية تصميم محاكاة لمفرقعات الحفلات باستخدام لوحة راسبيري باي بيكو Raspberry Pi Pico ومصابيح ليد LED وجرس إلكتروني Buzzer.

استخدمنا في مشروع سابق مصباح ليد ذو لون واحد، أما في مشروعنا هذا فسنستخدم نوعًا مختلفًا من المصابيح وهو مصباح LED متعدد الألوان والذي يعرف باسم RGB LED، لنحصل على نتيجة مشابهة لما يلي، إذ يضيء المصباح بلونٍ بنفسجي Purple وينطلق الجرس الإلكتروني:

full-popper-test.gif

معلومة: تُستخدم مفرقعات الحفلات Party poppers في الاحتفالات في جميع أنحاء العالم، فما عليك سوى أن تسحب الخيط المتدلي منها، لتفرقع وتصدر قُصاصاتٍ ملونةً في الهواء. لربما لم تراها مسبقًا، لكن من المؤكد أنك تعرف الرمز التعبيري الخاص بها.

party-popper.png

ستتعلم في هذا المشروع ما يلي:

  • كيفية كتابة شيفرة للتحكم بألوان مصباح الليد متعدد الألوان RGB LED ودرجة سطوعها.
  • كيفية التحكم برنين الجرس الإلكتروني buzzer.
  • كيفية صنع مبدّل من الورق المقوى ورقائق القصدير.

متطلبات المشروع

سنوضح فيما يلي متطلبات إنجاز هذا المشروع

عتاد

  1. لوحة حاسوب راسبيري باي بيكو مع أرجل مثبتة عليها.
  2. كبل USB لنقل البيانات ذو نهايات من النوع USB A و micro USB.
  3. جرس إلكتروني غير فعّال passive buzzer.
  4. مقاومة resistor بقيمة 100 أوم ( يمكن استعمال أي مقاومة ذات قيمة 75Ω -220Ω). (عدد 3)
  5. أسلاك توصيل ذات نهايات مقبس-مقبس socket-socket (عدد 6).
  6. أسلاك توصيل ذات نهايات دبوس-مقبس pin-socket (عدد 2).
  7. مصباح ليد متعدد الألوان RGB LED ذو مهبط مشترك common cathode (عدد 1).
  8. بعض مستلزمات الأشغال اليدوية، مثل الورق المقوى السميك، ورقائق القصدير، وخيوط، وشرائط أو ورق ملون، وشريط لاصق.

برمجيات

  1. برنامج ثوني Thonny (وهو البيئة البرمجية التي سنستخدمها لكتابة الشيفرة بلغة بايثون).

تثبيت برنامج ثوني على نظام تشغيل راسبيري باي

يأتي برنامج ثوني مثبتًا مع نظام تشغيل راسبيري باي، المعروف سابقًا براسبيان Raspbian، ولكن قد تحتاج إلى تحديثه. انقر على الأيقونة في الزاوية العلوية اليسرى من الشاشة لفتح نافذة الطرفية Terminal، أو اضغط المفاتيح التالية معًا Ctrl+Alt+T، ثم اكتب الأمر التالي لتحديث نظام التشغيل وبرنامج ثوني:

sudo apt update && sudo apt upgrade -y

تثبيت برنامج ثوني على أنظمة التشغيل الأخرى

يمكنك تثبيت ثوني على الحواسيب العاملة بنظام تشغيل لينكس، أو ويندوز، أو ماك، وذلك من الموقع الرسمي thonny.org. انقر على رابط التنزيل الموافق لنظام تشغيل حاسوبك من الزاوية العلوية اليمنى في الموقع، ثم انقر على الملفات بعد تنزيلها، فتظهر لك الرسالة التالية على نظام ويندوز:

thonny-site.png

انقر على خيار المزيد من المعلومات "More info"، ثم على التشغيل على أي حال "Run anyway".

التعرف على واجهة برنامج ثوني

ستظهر لك الواجهة التالية عند فتح ثوني:

thonny-editor.png

يمكنك الكتابة بلغة بايثون في النافذة الرئيسية الكبيرة، ثم النقر على زر التشغيل الأخضر Run للتنفيذ، فستظهر لك رسالة لحفظ الملف قبل تشغيله.

اكتب الأمر التالي وشغّله:

print('Hello World!')

تغيير السمة والخط

يمكنك التحكم بلون الخط وحجمه وتغيير السمة المستخدمة في واجهة البرنامج، وذلك بالنقر على قائمة الأدوات Tools من الشريط أعلى الشاشة، ثم النقر على خيارات Options. انقر بعدها على نافذة الخط والسمة Theme & Font واختر نوع الخط والسمة التي تفضلها من النافذة المنسدلة، ثم انقر على زر موافق OK عند الانتهاء.

theme-tab.png

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

تشغيل مصباح الليد متعدد الألوان

استخدمنا في مشروع سابق مصباح ليد ذو لون واحد، أما في مشروعنا هذا فسنستخدم مصباح LED متعدد الألوان يعرف باسم RGB LED، وسنوصّله مع لوحة راسبيري باي بيكو لنجعله يضيء باللون الذي نريده.

led-purple.gif

معلومة: مصباح ليد RGB هو اختصار للألوان الثلاثة التالية: الأحمرRed، والأخضرGreen والأزرق Blue، إذ تُتيح لك هذه المصابيح التحكم في مقدار إشعاع كل لون باستخدام الشيفرة البرمجية.

تمثيل الألوان بصيغة RGB

يمكننا تمثيل الألوان بصيغة يفهمها الحاسوب وذلك بالتعبير عن نسبة ما يحتويه اللون من اللون الأحمر والأخضر والأزرق، إذ تخزن هذه القيم في بايت (ثمانية بتات) وتكون قيمتها من 0 إلى 255.

RGB.gif

إليك جدولًا يوضح بعض القيم اللونية:

اللون الأحمر الأخضر الأزرق
أحمر 255 0 0
أخضر 0 255 0
أزرق 0 0 255
أصفر 255 255 0
أرجواني 255 0 255
سماوي 0 255 255

كما يمكنك الاستعانة بمنتقي الألوان من موقع w3schools للحصول على القيم الموافقة للون الذي تريده.

احرص على فصل لوحة راسبيري باي بيكو عن حاسوبك قبل توصيل العناصر الإلكترونية معها، وذلك تفاديًا لزيادة تحميل الدارة أو حدوث قصر للدارة والتسبب بإتلافها.

توصيل المقاومات مع مصباح الليد متعدد الألوان باستخدام أسلاك التوصيل وشريط لاصق

ستحتاج لتوصيل الليد متعدد الألوان مع المقاومات باستخدام الشريط اللاصق ما يلي:

  • أربعة أسلاك توصيل نوع مقبس-مقبس، ويفضل أن تكون حمراء وخضراء وزرقاء اللون.
  • مصباح ليد متعدد الألوان ذو مهبط مشترك.
  • ثلاث مقاومات متماثلة القيمة حوالي 220 أوم (يمكن استخدام مقاومات بقيم تتراوح بين 100 أوم و 470 أوم).
  • شريط عازل ملون أحمر وأخضر وأزرق إن وُجِد.
  • مقص.

you-will-need.png

الطريقة الصحيحة لتوصيل الليد

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

rgb-led-legs.png

باعد بين الرجل الحمراء ورجل المهبط بحذر.

توصيل المقاومة مع الرجل الحمراء للمصباح

اثنِ أحد طرفي المقاومة حول الرجل الحمراء لمصباح الليد، ولفّه حولها ثلاث مرات.

twist-leg.png

تثبيت المقاومة باستخدام الشريط العازل

قُص قطعة من الشريط العازل والصقه على الجزء الملفوف من المقاومة ليساعد على تثبيتها.

elec-tape.png

توصيل مقاومة مع الرجل الخضراء والزرقاء للمصباح

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

elec-tape-three.png

توصيل الأسلاك بالأرجل الأربعة للمصباح

صِل رجل المهبط الطويلة للمصباح مع سلك توصيل، ثم صِل الأرجل الثلاثة الملونة للمصباح مع أسلاك التوصيل وذلك بإدخال الطرف الحر للمقاومة في القطعة البلاستيكية السوداء للسلك، كما ننصح بقص مقدار 1 سنتيمتر من رجل المقاومة لتسهيل عملية إدخالها في السلك، وبعزل أرجل المقاومات باستخدام الشريط العازل حتى لا تتلامس مع بعضها ولتثبيت الأسلاك، كما يمكنك اختيار ألوان أسلاك موافقة لألوان أرجل المصباح إذا توفر ذلك.

jumper-wires.png

يمكنك إتباع ما يلي لضمان ثبات التوصيلات:

  • لَفُّ التوصيلات حول بعضها بإحكام.
  • غلَف كامل الأسلاك بالشريط العازل لتخفيف الضغط على نقطة الاتصال.
  • تجميع الأسلاك، أو المقاومات، ولفّها بالشريط العازل، لكن احرص على فصل أرجل المصباح والمقاومات عن الأسلاك، كما يلي:

rgb-led-finished.png

كما يمكنك لصق شريط شفاف على المصباح لبعثرة الضوء وتخفيف شدته.

توصيل المقاومات مع مصباح الليد متعدد الألوان باستخدام مسدس اللحام وأنابيب الانكماش الحراري

تنبيه: ستحتاج مساعدة أحد البالغين في تنفيذ هذه الخطوة وخاصةً عند استخدام مسدس اللحام heat shrink؛ إذ ستحتاج لتلحيم الليد متعدد الألوان مع المقاومات ما يلي:

  • أربعة أسلاك توصيل ملونة نوع مقبس-مقبس، ويفضّل أن تكون حمراء وخضراء وزرقاء وسوداء اللون.
  • ثلاث مقاومات متماثلة القيمة ( 70 أوم أو قيمة أعلى).
  • مصباح ليد متعدد الألوان ذو مهبط مشترك.
  • أسلاك قصدير، وأنابيب انكماش حراري ومسدس لحام.
  • قطاعة أسلاك أو أداة تعرية stripper.

kit.jpg

إيجاد الرجل الحمراء للمصباح

أوجد الرجل الحمراء للمصباح كما تعلمنا سابقًا، ثم باعد بين الأرجل بحذر، وثبت المصباح بيدك أو باستخدام أدوات مساعدة، أو ملاقط معدنية:

spread-legs.jpg

وضع طبقة من القصدير على أرجل المصباح

مرر إصبع القصدير ومسدس اللحام على كل من الأرجل لبضع ثوان حتى تحصل على طبقة متساوية من القصدير.

tin_rgb.gif

وضع طبقة من القصدير على أرجل المقاومات

كرّر الخطوة السابقة بتطبيق القصدير على طرفي المقاومات الثلاث.

tin_resistor.gif

تلحيم المقاومات مع أرجل المصباح

ضع رجل المصباح فوق رجل المقاومة ثم سخن القصدير باستخدام مسدس اللحام كي تلتحما معًا.

adjacent-legs.jpg

bond_resistor.gif

ثم كرر هذه الخطوة على باقي الأرجل، عدا رجل المهبط الطويلة.

led-three-resistors.jpg

توصيل الأسلاك مع أرجل المصباح

قُصَّ نهاية سلك التوصيل لتحصل على طول مناسب ثم انزع مقدار 1 سنتيمتر من الغلاف البلاستيكي للسلك باستخدام قطّاعة الأسلاك لتحصل على السلك النحاسي، ثم أدخل أنبوب الانكماش الحراري في السلك، وكرّر العملية للأسلاك الأربعة.

jumper-lead.jpg

اصهر اصبع القصدير فوق النهاية النحاسية للسلك ثم لحّمها مع رجل المهبط الطويلة لمصباح الليد، واستخدم سلكًا أسود اللون إن أمكن، ثم لحّم الأسلاك الأخرى مع المقاومات الثلاث، كما يلي:

tin_jumper.gif

bond_jumpers.gif

نتيجة التلحيم

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

position_heat_shrink.gif

shrink_heat_shrink.gif

الآن، بعد أن أحكمنا أنابيب الانكماش على الأسلاك، أصبحنا جاهزين لتوصيل مصباح الليد متعدد الألوان مع أرجل الأغراض العامة GPIO للوحة راسبيري بيكو.

rgb-led-finished.jpg

توجد أربعة أرجل لمصباح الليد متعدد الألوان، رجل لكل لون، ورجل مهبط مشتركة تُوصل مع الأرض GND.

rgb-led-legs.png

امسك مصباح الليد واتبع الصورة أعلاه للتعرف على الأرجل من اليمين لليسار، ولاحظ أن الرجل الأولى مسؤولة عن اللون الأحمر Red، والثانية الطويلة هي رجل المهبط توَصّل مع الأرض GND، أما الثالثة فهي للون الأخضر Green، والرابعة للأزرق Blue.

اقلب لوحة راسبيري بيكو على الوجه الآخر وابحث عن الأرجل ذات التسميات التالية: GP1، و GP2، و GP3، و GND، ثم صِل السلك الموصول مع الرجل الحمراء للمصباح مع الرجل GP1، ورجل المهبط (ذات القطبية السالبة) إلى رجل الأرضية GND، والرجل الخضراء مع الرجل GP2 والزرقاء مع GP3، كما هو موضح في الصورة التالية:

rgb-led-diagram.png

صِل لوحة بيكو مع حاسوبك باستخدام كبل micro USB، ثم أنشئ ملفًا جديدًا في برنامج ثوني بالنقر على قائمة ملف File من شريط القوائم الموجود أعلى الشاشة، ثم سمّه "party_popper.py".

new_thonny.png

أضف الشيفرة التالية لاستيراد التابع RGBLED من مكتبة picozero، وإنشاء المتغير rgb الذي سيُمَكّننا من التحكم في إضاءة مصباح الليد متعدد الألوان الذي وصلناه مع لوحة بيكو.

from picozero import RGBLED
from time import sleep

rgb = RGBLED(red=1, green=2, blue=3) # إسناد أرقام للأرجل

كما يمكنك كتابة السطر الأخير من الشيفرة السابقة باستخدام أرقام الأرجل كما يلي:

 RGBLED(1, 2, 3)

أنشئ الدالة pop لتشغيل المصباح وجعله يضيء بلون معين، وطباعة رسالة ما في صدفة shell ثوني، لتستدل على أن الدالة قد استُدعيت، ثم استدعِ الدالة بكتابة ()pop:

from picozero import RGBLED
from time import sleep

rgb = RGBLED(red=1, green=2, blue=3) # إسناد أرقام للأرجل

def pop():
    print("Pop") #  في صدفة ثوني Pop اطبع  
    rgb.color = (255, 0, 255) # اللون البنفسجي 
    sleep(2)
    rgb.off()

pop() # pop استدعاء الدالة

أخيرًا، شغَل الملف لاختبار الشيفرة وتحقق أن المصباح يضيء لمدة ثانيتين باللون البنفسجي (إذ وضعنا القيمة العظمى للون الأحمر والأزرق)، وأن الرسالة "Pop" تظهر في صدفة ثوني عند تشغيل الشيفرة.

led-purple.gif

تصحيح الأخطاء

إليك بعض المشاكل التي قد تواجهك وكيفية إصلاحها:

تظهر رسالة مفادها أن تابع RGBLED غير معرف

قد تظهر لك الرسالة التالية "RGBLED is not defined" التي تعني أن التابع RGBLED غير معّرف، ولحل هذه المشكلة تأكد من استيراد التابع من مكتبة picozero، وذلك بإضافة السطر التالي في بداية الشيفرة:

from picozero import RGBLED

لا تظهر رسالة Pop في الصدفة

تحقق من خلو الشيفرة التي كتبتها من الأخطاء ومن مطابقتها للشيفرة في مقالنا.

لا يضيء مصباح الليد متعدد الألوان

قد تظهر رسالة "Pop" في الصدفة لكن المصباح لا يضيء، وهنا عليك اتباع ما يلي:

  • التحقق من أن أسلاك التوصيل موصولة من الأرجل الصحيحة للمصباح ولوحة بيكو.
  • التحقق من متانة التوصيلات.
  • تبديل مصباح الليد للتأكد من أنه لم يحترق.

لا يضيء مصباح الليد باللون البنفسجي

تأكد أن أرجل المصباح موصولة مع الأرجل الصحيحة للوحة بيكو، ثم اختبر بالترتيب إضاءة المصباح بالألوان الثلاثة الأساسية عند تعديل القيم في الشيفرة لتصبح (255,0,0) للون الأحمر، و (0,255,0) للون الأخضر، و (0,0,255) للون الأزرق. قد تحتاج لتبديل أسلاك التوصيل. إذا أضاء المصباح بلون واحد، فلربما وصّلت رجل المهبط للمصباح مع الرجل المخصصة لذلك اللون على لوحة بيكو.

ننصحك باستخدام تابع الطباعة print لطباعة الرسائل في الصدفة مما قد يسهل عملك عند تصحيح الأخطاء، كأن تطبع رسالةً مفادها أنك تختبر اللون الأحمر ("print ("testing the color red عند اختبارك للألوان.

اختيار الألوان

اختر اللون الذي تفضله مما يلي ثم عدل مركباته في الشيفرة:

  • الأحمر: (255,0,0)
  • الأخضر: (0,255,0)
  • الأزرق: (0,0,255)
  • السّماوي: (0,255,255)
  • الأصفر: (255,255,0)
  • الوردي: (255,0,50)

عدّل على القيم لتحصل على الدرجة المناسبة من اللون المطلوب، وجرّب دمج اللون الأحمر والأخضر والأزرق معًا لتحصل على اللون الأبيض، كما يمكنك تخفيف سطوع اللون بتخفيض القيمة المعبرة عنه، فالقيمة (100,0,0) تعطي لونًا أحمرًا، لكنه أقل سطوعًا من (255,0,0).

إضافة الصوت

سنضيف في هذه الخطوة جرسًا إلكترونيًا غير فعّال ليصدر صوتًا كما في مفرقعات الحفلات، وسنكتب الشيفرة اللازمة لذلك. سنبدأ أولًا بالتعريف بالأجراس الإلكترونية الفعّالة active وغير الفعالة passive ثم سنجري الخطوات اللازمة لإضافة الصوت.

rgb-buzzer.gif

معلومة: يوجد نوعان من الأجراس الإلكترونية، أحدها فعّال، والآخر غير فعّال، والفرق بينهما هو أن الجرس الفعّال يصدر الصوت نفسه دائمًا، أما غير الفعّال فيمكنه إصدار عدة نغمات، ويتطلب الوصل مع مصدر طاقة وإشارة معينة لعزف النغمة المختارة.

الأجراس الإلكترونية غير الفعالة

الأجراس الإلكترونية ومكبرات الصوت

ينشأ الصوت عن الاهتزاز والحركة، فكل ما يؤدي لتحريك جزيئات الهواء يمكن أن يصدر صوتًا.

  • يعتمد مبدأ عمل الأجهزة الميكانيكية Mechnical عادةً على طرق قطعتين معدنيتين ببعضها، فالجرس يهتز عند قرعه مما يسبب تحريك الهواء حوله.
  • تعتمد الأجهزة الكهروميكانيكية Electromechnical على الكهرباء لتحريك ملف من الأسلاك والذي بدوره يُحّرك حاجزًا بسرعة كبيرة مما يؤدي إلى توليد الصوت عن طريق تحريك الهواء حوله.
  • تعتمد الأجهزة الكهروانضغاطية Piezoelectric مبدأ تغيير حجم بعض المواد عند تطبيق جهد عليها، إذ تُغيَر قيمة الجهد بسرعة فيتغير حجم المادة بسرعة كبيرة فيتحرك الهواء حولها.

عندما تتحرك المادة بسرعة كبيرة ينتج عنها أصوات حادة النغمة، وعندما تتحرك مسافة كبيرة تنتج أصواتًا مرتفعة النغمة.

مكبرات الصوت والسماعات

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

عليك تغيير الجهد المطبق على مكبر الصوت باستمرار لتشغيله، وكلما غيرت الجهد بسرعة أكبر (أي غيرت تردد الإشارة frequency) كلما حصلت على صوت أكثر حدة، أما للحصول على صوت مرتفع فعليك رفع قيمة الجهد (أي مطال الإشارة amplitude).

نستخدم الكبل ذو مقبس السمّاعات headphone jack التالي لتوصيل مكبرات الصوت والسمّاعات مع باقي الأجهزة.

Klinkenstecker_5-polig.jpg

يجب عليك تحديد التردد الذي سيعمل ويهتز به مكبر الصوت، للحصول على نغمة الصوت التي تريدها.

الأجراس الإلكترونية

تندرج الأجراس الإلكترونية Buzzers ضمن الأجهزة الكهروانضغاطية، ويدعى الجرس العادي بالجرس غير الفعّال، ومبدأ عمله مماثل لعمل مكبرات الصوت؛ إذ يلعب تردد تغير الجهد، وقيمة هذا التغير دورًا في تغيير نغمة الصوت ومستوى الصوت.

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

buzzers.jpg

أولًا، لاحظ أن الجرس له رجل طويلة لها قطبية موجبة (+) ورجل قصيرة قطبيتها سالبة (-)، كما في مصباح الليد؛ أما إذا كانت الأرجل متشابهةً في الطول فعليك البحث عن إشارة الموجب (+) الموجودة أعلى الجرس.

buzzer.png

ثانيًا، صِل الجرس مع لوحة بيكو باستخدام سلكي توصيل نوع مقبس-مقبس، وذلك بوصل الرجل الطويلة للجرس مع الرجل GP5 والقصيرة مع أحد أرجل الأرضية GND.

rgb-led-buzzer-diagram.png

معلومة: يمكن للبشر سماع الأصوات التي تتراوح تردداتها بين 20 هرتز (الأصوات المنخفضة جدًا) إلى الترددات من رتبة 20000 هرتز (الأصوات المرتفعة جدًا)، وبإمكان الأطفال واليافعين سماع الأصوات المرتفعة أفضل من كبار السن، كما أن النغمات الموسيقية تتوافق مع ترددات صوتية معينة؛ فعلى سبيل المثال، توافق العلامة C4 (العلامة سي الوسطى) التردد 262 هرتز، إذ تُقاس الترددات بواحدة الهرتز Hertz أو اختصارًا Hz وهي عدد الهزات في الثانية. إذًا، سيؤدي إرسال الإشارة الصحيحة للجرس إلى اهتزازه وفق التردد الصحيح وبالتالي سنحصل على النغمة الموسيقية الموافقة.

ثالثًا، عدّل الشيفرة المكتوبة في الملف "party_popper.py" لتبدو كما يلي، ثم شغّلها لاختبار عمل الجرس:

from picozero import RGBLED, Speaker
from time import sleep

rgb = RGBLED(red=1, green=2, blue=3) # إسناد أرقام للأرجل
speaker = Speaker(5)

def pop():
    print("Pop")  #  اطبع ما بين القوسين في صدفة ثوني  
    rgb.color = (255, 0, 255) # اللون البنفسجي
    speaker.play(262, 1)  # ذات التردد 262 لثانية واحدة C4 اعزف العلامة
    rgb.off()

pop()

لاحظ أننا استوردنا التابع Speaker من المكتبة في السطر الأول.

رابعًا، تمتع بإنشاء مزيج من الأصوات والأضواء ,التي ستصدرها دارتنا عند تشغيلها، إذ أنشأنا في مثالنا صوتًا احتفاليًا "تا-دا Ta-da" يَصدُر بالتزامن مع وميض الليد باللون البنفسجي.

خامسًا، عدّل على الشيفرة لتبدو كما يلي:

from picozero import RGBLED, Speaker
from time import sleep

rgb = RGBLED(red=1, green=2, blue=3) # إسناد أرقام للأرجل
speaker = Speaker(5)

def pop():
    print("Pop") #  اطبع ما بين القوسين في صدفة  ثوني  
    rgb.color = (255, 0, 255) # Purple
    speaker.play(262, 0.1) # ذات التردد 262 لمدة 0.1 ثانية C4 اعزف العلامة
    rgb.color = (0, 0, 0) # المصباح مطفىء
    sleep(0.1)
    rgb.color = (255, 0, 255) # اللون البنفسجي
    speaker.play(262, 0.6) # ذات التردد 262 لمدة 0.6 ثانية C4 اعزف العلامة
    rgb.off()

pop()

سادسًا، شغّل الشيفرة وتحقق أن المصباح والجرس الإلكتروني يعملان معًا.

rgb-buzzer.gif

تصحيح الأخطاء

إليك بعض المشاكل التي قد تواجهك في هذه الخطوة وكيفية إصلاحها:

تظهر رسالة مفادها أن تابع مكبر الصوت Speaker غير معرف

أضف Speaker , على نهاية السطر الأول من الشيفرة.

لا تظهر رسالة Pop في الصدفة

تحقق من خلو الشيفرة التي كتبتها من الأخطاء ومن مطابقتها للشيفرة في مقالنا.

لا يضيء مصباح الليد متعدد الألوان

عليك اتباع ما يلي:

  • التحقق من أن أسلاك التوصيل موصولة مع الأرجل الصحيحة للمصباح وللوحة بيكو.
  • التحقق من متانة التوصيلات.
  • تبديل مصباح الليد للتأكد من أنه لم يحترق.

لا يصدر الجرس الإلكتروني صوتا

لحل المشكلة عليك اتباع ما يلي:

  • التحقق من أن أسلاك التوصيل موصولة مع الأرجل الصحيحة للجرس.
  • التحقق من متانة التوصيلات.
  • التحقق من استخدام جرس إلكتروني غير فعّال.
  • التحقق من استخدام ترددات ضمن مجال الترددات المسموعة (من 15 هرتز إلى 15000 هرتز).

تشغيل الدارة

سنعمل في هذه الخطوة على إنشاء محاكاة بسيطة للمبدّل الإلكتروني باستخدام سلكي توصيل، وذلك لتشغيل دارتنا وإطلاق مفرقعات الحفلة.

switch-buzzer-led.jpg

معلومة: تُقَام عروض الصوت والضوء Light and sound shows في الاحتفالات في جميع أنحاء العالم، وتكون ممتعةً وتفاعليةً وباستخدام أدوات مستدامة sustainable وقابلة لإعادة الاستخدام reusable، مثل الطائرات دون طيّار Drones، والليزر، وعروض الإسقاط، خلافًا لما يُستَخدم سابقًا من أغراض استهلاكية غير صديقة للبيئة، مثل مفرقعات الحفلات والألعاب النارية.

أولًا، جهّز سلكي توصيل نوع دبوس- مقبس لاستخدامهما مثل مبدّل يدوي، ثم صِل السلك الأول مع الرجل GP18 والثاني مع رجل الأرض GND القريبة.

jumper-switch.png

معلومة: توجد طريقتان لتشغيل الشيفرة المعتمدة على دخل من عنصر خارجي (مثل المبدّلات أو الحساسات)، الأولى هي بإنشاء حلقة تكرار والتحقق من حالة الدخل باستمرار وتدعى هذه العملية باسم الجسّ Polling، واستخدمناها سابقًا في مشروع اليراعات الوامضة باستخدام الليد؛ بينما تعتمد الطريقة الثانية على استدعاء دالة عند تغير حالة الدخل، باستخدام أحداث events تتحسس للتغيرات ومن ثم تتعامل معها.

ثانيًا، عدّل على الشيفرة كي تستدعي مكتبة picpzero الدالة pop كلما فُتِح المبدّل (أي فصلنا سلكي التوصيل عن بعضهما)، ولا تنسى إدراج تابع المبدّل Switch من المكتبة في السطر الأول:

from picozero import RGBLED, Speaker, Switch
from time import sleep

rgb = RGBLED(red=1, green=2, blue=3) # إسناد أرقام للأرجل
pull = Switch(18)
speaker = Speaker(5)

def pop():
    print("Pop") # اطبع ما بين القوسين في صدفة في ثوني  
    rgb.color = (255, 0, 255) # اللون البنفسجي
    speaker.play(262, 0.1) # لمدة 0.1 ثانية C4 اعزف العلامة
    rgb.color = (0, 0, 0) # # المصباح مطفىء
    sleep(0.1)
    rgb.color = (255, 0, 255) # اللون البنفسجي
    speaker.play(262, 0.6) # لمدة 0.6 ثانية C4 اعزف العلامة
    rgb.off()

pull.when_opened = pop # استدعاء الدالة عند فتح المبدّل

عند استخدام الحدث when_opened تُستدعى الدالة pop والتي لا يمكن مقاطعتها إلى أن تكمل عملها، وهذا الأنسب لمشروعنا؛ إذ نود تشغيل المؤثرات الصوتية والضوئية عند فتح المبدّل وتشغيل دارتنا، أي تشغيل مفرقعات الحفلة.

احرص على عدم إضافة الأقواس ( ) في نهاية السطر pull.when_opened = pop إذ أن مهمة هذا السطر هو استدعاء الدالة pop من مكتبة picozero كلما تحقق الحدث when_opened.

ثالثًا، شغّل البرنامج، ثم افصل سلكي التوصيل عن بعضهما لاختبار عمل المصباح والجرس الإلكتروني عند فتح المبدّل.

تصحيح الأخطاء

إليك بعض المشاكل التي قد تواجهك في هذه الخطوة وكيفية إصلاحها:

تظهر رسالة مفادها أن تابع المبدل Switch غير معرف

أضف Switch , على نهاية السطر الأول من الشيفرة.

تعمل الشيفرة قبل فصل المبدل

  • تحقق من أن أسلاك المبدّل موصولة مع الأرجل الصحيحة على لوحة بيكو.
  • تحقق من متانة توصيل أسلاك المبدّل وأن الأسلاك بحالة جيدة.
  • تحقق من استبدال السطر ()pop بالسطر pull.when_opened = pop.

لا تظهر رسالة Pop في الصدفة

تحقق من خلو الشيفرة التي كتبتها من الأخطاء ومن مطابقتها للشيفرة في مقالنا.

لا يضيء مصباح الليد متعدد الألوان أو أن الجرس الإلكتروني لا يعمل

  • تحقق من أن أسلاك التوصيل موصولة من الأرجل الصحيحة للمصباح ولوحة بيكو.
  • تحقق من متانة التوصيلات.
  • بدِّل مصباح الليد للتأكد من أنه لم يحترق.

تزيين المبدل

سنصنع غلافًا خارجيًا مزخرفًا للمبدّل من الورق المقوى ورقائق القصدير والغراء، لنحصل على نتيجة مشابهة لما يلي:

add-ribbon.jpg

بعد أن تأكدنا من عمل الدارة، سنضيف مظهرًا مزخرفًا على المبدّل اليدوي، إليك ما سنحتاج إليه:

  • مقص.
  • ورق مقوى.
  • رقائق القصدير.
  • غراء وشريط لاصق.
  • شرائط ملونة وورق ملون.
  • قلم رصاص ومسّطرة (اختياري).

مستلزمات عمل دارة براسبيري باي بيكو

أولًا، قُصَّ الورق المقوى إلى ثلاثة مستطيلات متساوية الحجم، استخدمنا الأبعاد التالية 3سم × 5سم؛ وإذا لم يتوفر لديك قلم رصاص ومسّطرة، قُص المستطيل الأول ثم ضعه فوق الورق المقوى وقُصَّ حوله للحصول على مستطيلات متماثلة.

three rectangles

ثانيًا، قُص مستطيلًا صغيرًا في منتصف المستطيل الأول، واحتفظ به لاستخدامه لاحقًا.

centre-cut.jpg

ثالثًا، قُصّ قطعًا من ورق القصدير بحجم المستطيلات الكبيرة، ثم الصقها عليها باستخدام الغراء، واحرص على عدم وضع الغراء على الوجه الخارجي لورق القصدير حتى لا تتأثر التوصيلات لاحقًا.

add-foil.jpg

رابعًا، قُصَّ أطراف المستطيل الصغير للحصول على شكل مدبب أو بشكل حرف V، ثم قلّم الأطراف بمقدار بضع ميليمترات كي يتسع المستطيل الصغير في الفتحة.

trim-piece.jpg

خامسًا، غلّف المستطيل الصغير بكامله بورق القصدير، واحرص على استخدام ورقة قصدير واحدة، إذ ستسمح هذه القطعة بمرور التيار عند إغلاق المبدّل.

foil-cover.gif

سادسًا، افصل لوحة بيكو عن حاسوبك، وافصل سلكي المبدّل الموصولين مع الرجل GP18 ورجل الأرضية GND، ثم استخدم الشريط اللاصق لتثبيتها على الوجه العلوي للمستطيلات.

احرص على أن يكون الدبوس المعدني للسلك ملامسًا لورق القصدير، وأن يكون الجزء البلاستيكي الأسود ملامسًا حافة المستطيل.

pin-sticky-tape-1.jpg

أضف مزيدًا من الشريط اللاصق لتثبيت السلك ومنع انفكاكه عن طريق الخطأ.

pin-sticky-tape-2.jpg

سابعًا، أعد توصيل الأسلاك مع الرجل GP18 ورجل الأرض GND، ثم صِل لوحة بيكو بحاسوبك وشغّل الشيفرة.

افتح المبدّل وأغلقه عن طريق ملامسة المستطيلات المغطاة بالقصدير مع بعضها. يجب أن يعمل مصباح الليد والجرس عند فتح المبدّل.

foil-pad-test.gif

تصحيح الأخطاء

إليك بعض المشاكل التي قد تواجهك وكيفية إصلاحها:

يستمر الجرس والمصباح بالعمل

  • تحقق من أسلاك التوصيل، وتأكد أن جميع العناصر متصلة ببعضها جيدًا.
  • احرص على عدم ملامسة القصدير، إذ أن جسمك يعد ناقلًا للتيار وقد يعمل على إغلاق الدارة أو فتحها.
  • إذا استمرت هذه المشكلة، فعليك إعادة قص المستطيلات وتغليفها بالقصدير، فقد تكون المشكلة منها.

لا تعمل المفرقعات عند فتح المبدل

  • تأكد أن أسلاك التوصيل موصولة مع الأرجل الصحيحة.
  • تحقق من متانة توصيل الأسلاك بالأرجل على لوحة بيكو، ومتانة توصيلها بالقصدير، إذ يجب أن تكون جميع العناصر متصلة ببعضها جيدًا.
  • شغّل الشيفرة ثم أغلق المبدّل وافتحه وتأكد أن الحدث when_opened يتولد، وتأكد أن الشيفرة التي كتبتها مطابقة للشيفرة في مثالنا.

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

glue-left.jpg

يجب أن تحصل على الشكل التالي، واحرص على ألا يتلامس القصدير الموجود على حواف المستطيلات، وقُصّه إن لزم الأمر:

glue-right.jpg

اختبر الدارة باتباع ما يلي:

  • أعد توصيل لوحة بيكو مع حاسوبك، ثم أعد توصيل الأسلاك مع الرجل GP18 ورجل الأرض GND.
  • أدخل المستطيل الصغير داخل المبدّل (المستطيلين) لإغلاقه.
  • شغّل الشفرة ثم اسحب المستطيل الصغير لفتح المبدّل وإطلاق المفرقعات.

full-popper-test.gif

إذا لم تعمل الدارة وتنطلق المفرقعات عند فتح المبدّل، فعليك التأكد من عدم وجود القصدير على حواف المستطيلات، قُصّه إن وُجِد، وتأكد أنك ضغط على زر التشغيل Run لتشغيل الشيفرة.

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

add-ribbon.jpg

ترقية المشروع

بإمكانك ترقية المشروع حين يتسنى لك ذلك، واستخدامه للاحتفال كلما نفّذت مشروعًا أو تعلمت مهارةً جديدة، أو كلما أصلحت خطأً ما.

إليك بعض الاقتراحات لترقية مشروعك:

  • تعديل الشيفرة وإضافة مزيدٍ من الأضواء والأصوات، استخدم الترددات ضمن المجال (250 هرتز- 500 هرتز) للحصول على نغمات مناسبة.
  • اصنع غلافًا خارجيًا من الورق للجرس ولمصباح الليد، كأن تضعهما ضمن مخروط ورقي.
  • زيّن المبدّل، واجعله أكثر متانة.
  • أعد تشكيل الدارة بما يتناسب مع مناسبة معينة؛ كأن تغير لون إضاءة المصباح وفقًا للون علم بلدك أو فريقك الرياضي المفضل، وحاول الحصول على نغمة مناسبة للحدث.

يمكنك الاطلاع على الشيفرة النهائية للمشروع من rpf.io.

upgrade-popper.jpg

الخاتمة

تهانينا، فقد أتممت مشروع تصميم محاكاة لمفرقعات الحفلات باستخدام لوحة راسبيري باي بيكو، ويمكنك تنزيل كامل شيفرة المشروع  من مجلد party-popper-en-solutions.

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

إذا واجهت مشاكلًا عند تنفيذ هذا المشروع، فيمكنك الحصول على الدعم والمساعدة عبر إضافة سؤالك في قسم الأسئلة والأجوبة في أكاديمية حسوب.

ترجمة -وبتصرف- للمقال Party popper من الموقع الرسمي لراسبيري باي.

اقرأ أيضًا


تفاعل الأعضاء

أفضل التعليقات

لا توجد أية تعليقات بعد



انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أضف تعليق

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • أضف...