لوحة مفاتيح RaspPi (RPBP)
عرض توضيحي/شرح
المبدعون/الأدوار
- Andrew Darling
- كتب بنية وبرمجة الكائنات (Object-Orient-Programming) والمنطق للكود.
- Riley Royall
- بنى الدائرة لـ RPBP.
- Mehmet Yilmaz
- كتب عنصر واجهة المستخدم الرسومية (GUI) ومولد النوتة الموسيقية للكود.
حول
كان مشروع Raspberry Pi Buzzer Piano (RPBP) مشروعًا نهائيًا لـ Python Sensor Systems (CSCI-250)، وهو مادة دراسية للبكالوريوس تقدمها كلية مناجم كولورادو، خلال فصل خريف 2019. كان المشروع مشروعًا جماعيًا يتألف من Andrew Darling و Riley Royall و Mehmet Yilmaz. تم إكماله رسميًا في أواخر نوفمبر 2019، أوائل ديسمبر 2019.
مشروعنا هو Raspberry Pi Buzzer Piano (RPBP). فكرة RPBP هي لوحة مفاتيح موسيقية تحتوي على مجموعة من 13 مفتاحًا، حيث تكون المفاتيح مجرد أزرار يمكن أن تعمل كمفاتيح بيانو. عند الضغط على مفتاح، يتسبب ذلك في تشغيل واحد أو أكثر من الـ buzzers بترددات مختلفة حسب الزر المضغوط. سيكون هناك أيضًا مقاوستان للجهد (potentiometers)، أحدهما يُستخدم للتبديل بين أوضاع RPBP الثلاثة والآخر يُستخدم لتغيير الأوكتاف(ات) للـ buzzers. الأوضاع الثلاثة في RPBP هي: Free-Play، Record، و Play-Back. Free-Play يسمح للمستخدم بعزف RPBP والاستماع فقط إلى المفتاح الذي يضغطه. Record يسمح للمستخدم بالعزف الحر على RPBP وفي نفس الوقت تسجيله في ملف npy وإنشاء نوتة موسيقية بصيغة PDF لهذا التسجيل. Play-Back يسمح للمستخدم بإدخال اسم ملف مسجل وستقوم الدائرة بتشغيل ذلك الملف عبر الـ buzzers. جميع النوتات الموسيقية سيتم حفظها في دليل واحد، بحيث يمكن للمستخدم دائمًا الرجوع إلى نوتاته إذا رغب في ذلك. كل زر/مفتاح يحتوي على LED لإظهار متى تم الضغط عليه. تم إثبات أن هذا المشروع يعمل فقط على Rasbian (Raspberry Pi OS) مع المتطلبات الموضحة أدناه، إذا تم إعدادها بشكل صحيح.
المتطلبات
- LilyPond
- Python3
- Raspberry Pi B 3+
- Raspberry Pi OS (ISO)
- جعل LillyPond يعمل مع ARM (Raspberry Pi)
- NumPy
- Bash
- لوحة الدائرة
المعلومات
- الأوضاع:
- Free-play: يسمح للمستخدم فقط بعزف RPBP.
- Record: يسمح للمستخدم بتسجيل ما يعزفه، حفظ ذلك التسجيل، وإنشاء نوتة موسيقية لما يسجله.
- Play-Back: يسمح للمستخدم بتشغيل أي تسجيل قام بتحميله أو إنشائه.
- Mute: كتم جميع الـ buzzers في RPBP.
- كيفية التحديث بين الأوضاع:
- غيّر الإعدادات/القيم في الواجهة واضغط زر Submit.
- ملاحظات أخرى:
- لتعلم المزيد عن RPBP من الواجهة، اضغط زر README وسيفتح هذا README.
الدائرة
- يمكنك عرض صور لوحة الدائرة المستخدمة لهذا المشروع في قسم صور الدائرة.
- يتم توصيل Pi Wedge إلى Raspberry Pi 3 B+ عبر كابل شريطي.
- يقوم Raspberry Pi بتشغيل الكود المقدم في هذا المستودع مع التعريفات المذكورة في هذا README.
- نأسف لأن تخطيط الدائرة فوضوي جدًا، للأسف لم نوثق هذا الجزء جيدًا.
كيفية الاستخدام:
- أولاً، تأكد من استيفاء جميع المتطلبات ثم نفّذ سكريبت start.sh bash وستظهر واجهة المستخدم الرسومية.
- ثانيًا، اختر الوضع الذي تريد استخدامه تحت تسمية “Modes”.
- [ هذه الخطوات مخصصة لأولئك الذين يختارون وضع “Free-Play” ]
- Third_10: اضغط زر Submit وابدأ العزف على RPBP
- [ هذه الخطوات مخصصة لأولئك الذين يختارون وضع “Record” ]
- Third_20، اكتب الاسم الذي تريد إعطائه للملف المسجل تحت تسمية “Record Name”.
- Third_21، اضغط الزر المسمى Submit وسيتم تشغيل LED أحمر.
- Third_22، العزف على RPBP وعند الانتهاء، اضغط زر Stop في الواجهة.
- Third_23، بعد الضغط على زر Stop، سيتم حفظ التسجيل وسيتم إنشاء النوتة الموسيقية وفتحها كملف PDF لتتمكن من مشاهدتها وسيتم حفظها في دليل SHEETS.
- [ هذه الخطوات مخصصة لأولئك الذين يختارون وضع “Play-Back” ]
- Third_30، اختر ملف الأغنية الذي تريد تشغيله تحت تسمية “Send It”.
- Third_31، اضغط زر submit وابدأ الاستماع إلى ملف الأغنية الذي اخترته.
- [ هذه الخطوات مخصصة لأولئك الذين يختارون وضع “Mute” ]
- Third_40، فقط اضغط زر Submit وسيتم كتم جميع الـ Buzzers حتى تغير إلى وضع آخر
- رابعًا، بعد الانتهاء من RPBP، اضغط زر Exit لإغلاق الواجهة والبرنامج بالكامل
صور الدائرة


