
تحت القطع - صورة gif مع عرض عمل هذا الشيء.
أساس التصميم هو الشريط المرن NeoPixel 32x8 LED ، Raspberry Pi والمزاج الجيد. حسنًا ، نعم ، أنت بحاجة إلى بعض كود بايثون.
ما تحتاجه للعمل

- Raspberry Pi 3 أو Raspberry Pi 4 أو Raspberry Pi Zero W مع رأس GPIO.
- مزود طاقة وماوس وشاشة ولوحة مفاتيح وكابل HDMI لـ Raspberry Pi
- شريط مرن 32x8 NeoPixel RGB LED Matrix
- مجموعة العبور (M-to-F و M-to-M و F-to-F)
- 5V امدادات الطاقة
- مكثف 1000 درجة فهرنهايت
- يمكنك أيضًا أن تأخذ شريطًا من القماش لنشر ضوء شريط LED.
- قاعدة مطبوعة ثلاثية الأبعاد للهيكل بأكمله.
الجزء 1. إعداد RGB- مصفوفة
في هذه المرحلة ، ستحتاج إلى لحام زوج من المسامير واستخدام نموذج الكود من Adafruit's NeoPixel Uberguide . بالنسبة لمشروعنا ، نحتاج إلى مصدرين للطاقة - من أجل "التوت" وشريط LED. بالنسبة للأخير ، ستحتاج إلى توصيل ليس فقط الطاقة ، ولكن أيضًا بالبيانات. كل شيء بسيط هنا.

إذا رغبت في ذلك ، يمكنك إضافة شريط آخر من القماش لنشر ضوء LED الساطع. نقوم
بتوصيل البيانات
خذ أي "أرض" من "التوت" وربطها بخط بيانات GND لشريط LED.

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

الآن دعنا نتحقق من المصفوفة عن طريق تشغيل الكود من Adafruit.
قم بتشغيل "raspberry" ، وقم بتوصيل طاقة مصفوفة RGB ، وافتح المحطة الطرفية وقم بتثبيت التبعيات: قم بتنزيل الكود من مستودع المؤلف: حدد مجلد scrollingTextMask: قم بتشغيل رمز اختبار fillMatrix.py:
sudo pip3 install rpi_ws281x adafruit-circuitpython-neopixel
sudo python3 -m pip install --force-reinstall adafruit-blinka
git clone https://github.com/carolinedunn/RGBTreeTopper
cd RGBTreeTopper
sudo python3 32-fillMatrix.py

إذا حصلت على قوس قزح ، كما في الصورة المتحركة أعلاه ، كل شيء يعمل ، يمكنك الانتقال إلى المرحلة التالية. إذا حدث خطأ ما ، فعلى الأرجح أن بعض جهات الاتصال متصلة بشكل غير صحيح.
تلميحات: إذا كان النظام لا يعمل مع raspberry pin 21 GPIO ، فجرب المسامير 10 أو 12 أو 18. ثم افتح 32-fillMatrix.py من مجلد scrollingTextMask وقم بتحديث دبوس GPIO. في هذه الحالة ، ستحتاج إلى تغيير ملفات المشروع الأخرى وفقًا لذلك.
أوقف البرنامج النصي بالضغط على Ctrl + C.
الجزء 2. تضيء!
الآن في Terminal ، الذي لا يزال مفتوحًا ، نكتب الأمر:
sudo python3 treeTopper.py

في المجلدات التي حصلنا عليها من GitHub ، يوجد مجلد "fire" يحتوي على 10 صور jpeg. هذا ما يفعله رمز treeTopper.py:
يعلن عن المكتبات المستخدمة في الكود. يجب الانتباه إلى PIL (مكتبة تصوير الوسادة) ، وهي مكتبة تضيف إمكانات معالجة الصور إلى مترجم Python.

- يخبر Pi بمكان إرسال البيانات إلى القالب عن طريق تحديد 21 دبابيس GPIO (السطر 8).
- يحدد معلمات المصفوفة ، بما في ذلك الحجم والسطوع ووقت الإيقاف المؤقت بين عرض كل صورة (الخطوط 9-13).
- ينشئ مصفوفة ببيانات هذه الملفات الـ 10 JPEG بترتيب تسلسلي (الأسطر 28-32).
- يحلل وحدات البكسل في الصورة ويحولها إلى مصفوفة RGB بإخراج الصورة إلى مصفوفة RGB (الخطوط 35-41).
- يتوقف مؤقتًا لمدة 0.2 ثانية ، ثم يكرر العملية للصورة التالية (السطر 42).
- يتم تنفيذ العملية حتى تنفيذ تركيبة Ctrl + C.
وإذا كنت تريد صورك الخاصة؟
يجب أن تكون المعلمات كما يلي:
- التنسيق - JPEG.
- العرض - 32 بكسل.
- الارتفاع - 8 بكسل.
يجب حفظ كل ملف تحت الأسماء 1-10.JPG في المجلد المناسب.
لعرض الصور ، تحتاج إلى تعيين مسار جديد للصور. إذا رغبت في ذلك ، يمكنك تغيير تسلسل عرضها.

بدء التشغيل في التمهيد
بمجرد أن تكون جميع الصور جاهزة ، استخدم Python لتشغيل البرنامج النصي عند التمهيد. الخيار الأفضل هو Crontab.
افتح Crontab في وحدة التحكم: crontab -e
أدخل 1 واضغط على Enter.

هذا يفتح ملف crontab جديد. في الداخل ، انزل لأسفل وادخل ->
sudo python3 /home/pi/RGBTreeTopper/treeTopper.py
@reboot sudo python3 /home/pi/RGBTreeTopper/treeTopper.py
اضغط على Ctrl + X ، ثم crontab للحفظ.
نطفئ "التوت" ونطفئ كل ما جمعناه.
الجزء 3. التجميع النهائي
في هذه الخطوة ، يمكنك بالفعل إظهار ضوء العام الجديد في أعلى ما لا يقل عن شجرة عيد الميلاد.
- نقوم بطباعة الجسم على طابعة ثلاثية الأبعاد.
- نمرر الأسلاك إلى الأماكن الصحيحة ونصلحها.
- نحن نثني مصفوفة LED ، لا تحتاج إلى الضغط بقوة.
- نضع الهيكل أعلى شجرة عيد الميلاد. نتحول ونبتهج.

بالمناسبة ، يدرك المؤلف أن اختراعه على شكل لفة من ورق التواليت.

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