جدول المحتويات:
- الخطوة 1: قائمة الأجزاء
- الخطوة 2: مخطط الأسلاك
- الخطوة 3: الإعداد الأساسي لبرنامج Falcon Pi Player
- الخطوة 4: نص أكثر قوة
- الخطوة 5: (اختياري) غطاء الواجهة للزر
فيديو: ابدأ عرض ضوء عيد الميلاد الخاص بك باستخدام زر: 5 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:40
عند تشغيل عرض ضوئي لعيد الميلاد متزامن مع الموسيقى ، قد ترغب في بدء العرض بالضغط على زر. هذا البرنامج التعليمي قابل للتطبيق فقط للعرض الذي يتم التحكم فيه من خلال Falcon Pi Player (FPP) الذي يعمل على Raspberry Pi. إذا كنت تقوم بتشغيل FPP ، فمن المحتمل أنك تستخدم وحدات تحكم Falcon وتستخدم xLights أو LightORama لتسلسل عرضك. إذا لم تكن أي من هذه الكلمات تعني لك شيئًا ، فمن المحتمل أن يكون هذا البرنامج التعليمي فوق رأسك قليلاً في الوقت الحالي ويجب أن تبدأ بقراءة هذا الويكي https://auschristmaslighting.com/wiki/ والانضمام إلى مجموعة Facebook كما هو موضح أدناه
- xLights:
- أضواء عيد الميلاد المتقدمة العامة:
- Falcon Pi Player:
- مشاركة فكرة الضميمة / الدعامة:
- "ليست خاصة بـ xLights أو LOR ذات صلة":
- بائعو xLights Holiday Light:
- افعلها بنفسك عيد الميلاد:
الخطوة 1: قائمة الأجزاء
ستحتاج إلى العناصر التالية:
- الزر. لقد استخدمت هذا مع مصباح حلقي LED حوله: [Amazon]
- مقاوم. يفضل 200 درجة أو أكثر (2 من هؤلاء إذا كنت تستخدم زر LED) المعيار 1 / 4W أو 1 / 8W جيد
- سلك الموصل. يعتمد المقياس الذي يجب استخدامه على مدى بُعد الزر عن Pi. لقد استخدمت سلك 18awg لحوالي 10 أقدام من Pi الخاص بي وعمل بشكل لا تشوبه شائبة
- طريقة لتوصيل سلك بدبابيس GPIO في باي. يمكنك استخدام كبل شريطي مع لوحة توصيل الدوائر ، أو يمكنك فقط استخدام بعض الموصلات الأنثوية كما فعلت. نحتاج فقط إلى 3 أسلاك - أرضي ، و 5 فولت ، وبيانات للزر. [أمازون]
- (اختياري) موصل مقاوم للماء على كل طرف لسهولة الصيانة. أستخدم موصلات من الدرجة البحرية ذات 3 سنون: [Amazon]
- (اختياري) موصلات الانكماش الحراري [أمازون]
الخطوة 2: مخطط الأسلاك
تُظهر الصور مخططًا للأسلاك لزر بدون مؤشر LED وزر بمصباح LED. تسمح لك طريقة إعداد مخطط الأسلاك بتشغيل زر وضوء (باستمرار) بثلاثة أسلاك فقط.
بالنسبة إلى دبوس GPIO ، اختر أيًا من دبابيس GPIO الموجودة على pi. استخدم دبابيس + 5V و Gnd أيضًا. من المحتمل أن تفلت من استخدام دبوس 3.3 فولت ، لكن انخفاض الجهد عبر عدة أقدام من الأسلاك قد يجعل الإشارة غير موثوقة أو لا تكون كافية لإضاءة مؤشر LED.
ملاحظة: لن يتلاءم الموصل ذي الثلاثة سنون من خلال الفتحة التي تحتاجها للحفر بحثًا عن زر بمصباح حلقة LED. لذا قم بتوصيل الموصل بعد وضع الزر في واجهة الجهاز.
الخطوة 3: الإعداد الأساسي لبرنامج Falcon Pi Player
ملاحظة - يتم تحديث FPP باستمرار ، ومن الممكن تمامًا أن يقوموا بتحسين دعم البرمجة النصية أو أنهم سيشملون "زر الضغط للبدء" كميزة افتراضية تتطلب برمجة أقل.
لقد اتبعت الفيديو أعلاه للحصول على كل شيء في البداية.
أجد مقاطع الفيديو مملة وبطيئة ، فإليك ملخصًا لها:
- استيراد التسلسل الخاص بك إلى fpp باستخدام مدير الملفات
- قم بإنشاء قائمة تشغيل بالتسلسل الموجود فيها. بالنسبة للخطوات التالية ، ستطلق على قائمة التشغيل اسم "playme"
-
افتح ملف Notepad فارغًا واكتب ما يلي:
- #! / بن / ش
- fpp -P playme
- احفظه كملف.sh على جهاز الكمبيوتر الخاص بك
- انتقل إلى مدير الملفات في FPP وقم بتحميل ملف البرنامج النصي الخاص بك. انتقل إلى علامة التبويب "البرامج النصية" وتأكد من وجودها
- ضمن الحالة / التحكم ، انتقل إلى الأحداث
- أنشئ حدثًا جديدًا. معرف الحدث 1/1 ، اسم الحدث أيا كان ، تسلسل التأثير لا شيء ، البرنامج النصي للحدث
- انتقل ضمن إعداد الإدخال / الإخراج وانقر فوق مشغلات GPIO
- قم بتبديل الدبوس المرفق به الزر. إذا كانت ستنخفض عند الضغط على الزر ، فضع الحدث على خيار الهبوط ، وإذا كانت نشطة عالية ، فضع الحدث على ارتفاع.
- انقر فوق زر إعادة التشغيل من خلال التحذير الذي ينبثق بعد إجراء جميع التغييرات
بعد القيام بكل هذا ، يجب أن تكون قادرًا على الضغط على الزر لبدء عرضك. رائع!
ومع ذلك ، فإن هذه الطريقة لها بعض القيود. إذا قمت بالضغط على الزر مرة أخرى أثناء تشغيل قائمة التشغيل ، فإما أن 1) لن تفعل أي شيء أو 2) ستعطل FPP وترفض فعل أي شيء باستخدام الزر حتى تعيد تشغيله. لذلك إذا كنت تستخدم زرًا فقط كطريقة درامية لتشغيل برنامجك عند الأمر ، فستكون الطريقة المذكورة أعلاه هي كل ما تحتاجه.
إذا كنت بحاجة إلى شيء آخر ، فانتقل إلى الخطوة التالية
الخطوة 4: نص أكثر قوة
يوجد أدناه النص الذي وصلت إليه في النهاية. يمكنك عرض البرنامج النصي على Github هنا: [Gist. Github]
- إذا ضغط شخص ما على الزر خلال ساعات "الليل" ، فسيتم تشغيل Tiger Rag (أغنية 1 الخاصة بي) ثم ينتقل إلى تسلسل الاستعداد الذي يتكرر بلا حدود.
- إذا تم الضغط على الزر أثناء تشغيل Tiger Rag ، فسيبدأ أغنيتي الثانية ، Hallelujah ، ثم ينتقل إلى تسلسل الاستعداد إلى أجل غير مسمى.
- ولكن إذا ضغط شخص ما على الزر أثناء النهار أو في وقت متأخر جدًا من الليل ، فسوف يلعب Tiger Rag مرة واحدة ثم يطفئ كل الأضواء.
يسمح هذا للزر بالعمل في أي وقت من اليوم ولكن لا يجب أن تكون الأضواء مضاءة طوال الوقت. كما يسمح بتشغيل أغانٍ متعددة من زر واحد عن طريق تحديد الأغنية التي يتم تشغيلها حاليًا وإنهاء تلك الأغنية وتشغيل الأغنية "التالية".
يمكنك العثور على المزيد من الموارد للبرمجة النصية في FPP هنا: https://github.com/FalconChristmas/fpp-scripts للحصول على منطق أكثر تعقيدًا فقط google “bash script _” حيث الشرطة السفلية هي ما تحاول القيام به. يمكنك اختبار البرامج النصية الخاصة بك باستخدام FPP Shell (اسم المستخدم fpp password falcon) الأوامر الأساسية هي كما يلي.
انتبه إلى الكتابة بالأحرف الكبيرة !!
- سوف يقوم Capital -P بتشغيل قائمة التشغيل مرة واحدة ، بينما يقوم الحرف الصغير -p بتكرارها.
- fpp -v 66 ضبط الصوت على 66٪
- fpp -c وقف العرض على الفور
- fpp -C stop قد يكون هذا إيقاف العرض برشاقة
- fpp -p يقوم thisPlaylistName بتشغيل thisPlaylistName عند التكرار (بحيث يتم تشغيل أغنية المقدمة مرة واحدة ، ثم يتم تكرار العناصر الرئيسية إلى أجل غير مسمى.
- fpp -P thisPlaylistName يقوم بتشغيل thisPlaylistName مرة واحدة
- eventScript "$ {MEDIADIR} / scripts / $ {thisScriptVariable}" يقوم بتشغيل البرنامج النصي. في الحالة الموجودة على اليسار ، يعمل إذا كان لديك اسم البرنامج النصي الخاص بك محفوظًا في متغير في مكان ما أعلاه ، مثل thisScriptVariable =”PlayTheSong.sh”
ButtonSuperScript.sh
#! / بن / ش |
########################################################### |
# ليتم تشغيلها إذا تم الضغط على الزر. |
# يجب أن يكون لديك قائمتا تشغيل لكل أغنية - واحدة بها |
# مجرد الأغنية باعتبارها "التشغيل الأول" ولا شيء رئيسي ، |
# وأخرى مع الأغنية كأول تشغيل واستعداد |
# التسلسل باعتباره التسلسل "الرئيسي". (على الأقل إذا كنت تريد |
# لأفعل الشيء الذي أفعله بالضبط) |
# |
# على سبيل المثال ، إذا كانت أغنيتك Tiger Rag ، فيجب أن يكون لديك |
# قوائم تشغيل "TigerRag" و "TigerRagStandby" و "الاستعداد" |
# |
########################################################### |
# قوائم التشغيل للتشغيل إذا كانت بين 6 و 11 |
NightSong1 = "TigerRagStandby" |
NightSong2 = "HallelujahStandby" |
NightStandby = "الاستعداد" |
# قوائم تشغيل يتم تشغيلها خلال النهار أو بعد 11 |
DaySong1 = "TigerRag" |
DaySong2 = "هللويا" |
DayStandby = "الاستعداد" |
# مرات وإيقاف في توقيت 24 ساعة. إذا كنت تريد دقائق ، ونتمنى لك التوفيق |
OnHour = 17 |
ساعات العمل = 23 |
########################################################### |
# أحشاء النص. # |
########################################################### |
# احصل على حالتنا الحالية (الخمول = 0 ، اللعب = 1 ، التوقف برشاقة = 2) |
الحالة = $ (fpp -s | cut -d '،' -f2) |
# احصل على قائمة التشغيل الجارية وقم بقصها إلى 7 أحرف |
قائمة التشغيل = $ (fpp -s | cut -d '،' -f4 | cut -c1-7) |
# سيكون هذا "كلاهما" إذا كان يتم تشغيل أغنية ، و "تسلسل" إذا كان في وضع الاستعداد |
# تستخدم لتحديد ما إذا كان تسلسل الاستعداد قيد التشغيل |
وضع الاستعداد = $ (fpp -s | cut -d '،' -f5) |
# أول 7 أحرف من أسماء قوائم التشغيل للمقارنة |
# 7 أحرف فقط بحيث تكون "Song1Standby" و "Song1" متطابقتين |
# حسنًا ، في الواقع يجب أن يكون أول حرف x وأن يكون x هو أقصر اسم أغنية لديك |
قائمة التشغيل الاحتياطية = $ (echo $ NightStandby | قطع -c1-7) |
Song1Playlist = $ (echo $ NightSong1 | قص -c1-7) |
Song2Playlist = $ (echo $ NightSong2 | قص -c1-7) |
STARTITEM = "" |
# احصل على الساعة الحالية في الوقت العسكري |
CurrentHour = $ (التاريخ + "٪ H") |
# طباعة حالة بعض الأشياء - "صدى" مثل "طباعة" في معظم اللغات |
# مفيد للاختبار إذا تم قص العناصر المختلفة أو حسابها بشكل صحيح |
صدى CurrentHour هو $ CurrentHour |
صدى تشغيل قائمة التشغيل: $ PLAYLIST |
صدى Song2Playlist هو: $ Song2Playlist |
حالة الصدى هي: $ STATUS |
# اضبط مستوى الصوت على 80٪ في الليل ، وإلا 100٪ |
# حتى إذا كنت أنام ، فلن يكون بصوت عالٍ |
#if [$ CurrentHour -lt $ OffHour -a $ CurrentHour -ge 11] ؛ من ثم |
# fpp -v 100 |
#آخر |
# fpp -v 80 |
#fi |
# تأكد من حصولنا على شيء ذي معنى |
إذا [-z "$ {STATUS}"] ؛ إذًا |
صدى "خطأ في قيمة الحالة"> & 2 |
خروج 1 |
فاي |
# التصرف على الوضع الحالي |
حالة $ {STATUS} في |
# عاطل |
0) |
#Night time - العب Song1 مع وضع الاستعداد |
إذا [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour] ؛ ثم |
صدى اللعب NightSong1 |
وقف fpp -c |
fpp -p "$ {NightSong1}" $ {STARTITEM} |
# يوم أو متأخر حقًا - قم بتشغيل الأغنية 1 مرة واحدة ثم قم بإطفاء الأنوار |
آخر |
صدى يوم اللعب 1 |
وقف fpp -c |
fpp -P "$ {DaySong1}" $ {STARTITEM} |
فاي |
;; |
# اللعب أو الإيقاف بشكل رقيق (يحدث بشكل رشيق إذا تم الضغط على الزر عند انتهاء قائمة التشغيل المجدولة) |
1 | 2) |
#Standby قيد التشغيل - هذا يعمل لأن الاستعداد هو تسلسل غير الوسائط الوحيد |
إذا ["$ STANDBYSTRING" == "تسلسل"] ؛ إذن |
#Night time - العب Song1 مع وضع الاستعداد |
إذا [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour] ؛ ثم |
صدى اللعب NightSong1 ليلا |
وقف fpp -c |
fpp -p "$ {NightSong1}" |
#Day time أو متأخر حقًا - العب tiger rag مرة واحدة ثم قم بإطفاء الأنوار |
آخر |
صدى playDaySong1 من اللعب |
وقف fpp -c |
fpp -P "$ {DaySong1}" |
فاي |
# لدعم المزيد من الأغاني ، انسخ هذا القسم وغيّر "Song2Playlist" في القسم الأخير إلى Song # Playlist |
# Song1 قيد التشغيل |
إليف ["$ PLAYLIST" == "$ Song1Playlist"] ؛ ثم |
#Night time - العب Hallelujah مع وضع الاستعداد |
إذا [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour] ؛ ثم |
صدى اللعب هللويا الاستعداد من تايجر راج قيد التشغيل |
وقف fpp -c |
fpp -p "$ {NightSong2}" |
#Day time أو متأخر حقًا - قم بتشغيل Song2 مرة واحدة ثم قم بإطفاء الأنوار |
آخر |
صدى لعب هللويا مرة واحدة من Tiger Rag قيد التشغيل |
وقف fpp -c |
fpp -P "$ {DaySong2}" |
فاي |
# آخر أغنية قيد التشغيل - العب في وضع الاستعداد |
إليف ["$ PLAYLIST" == "$ Song2Playlist"] ؛ ثم |
#Night time - تشغيل وضع الاستعداد في حلقة |
إذا [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour] ؛ ثم |
صدى اللعب الاستعداد عند التكرار |
وقف fpp -c |
fpp -p "$ {NightStandby}" |
# وقت اليوم أو متأخر حقًا - العب في وضع الاستعداد مرة واحدة |
آخر |
صدى لعب الاستعداد مرة واحدة |
وقف fpp -c |
fpp -P "$ {DayStandby}" |
فاي |
آخر |
صدى لسبب ما تم تنفيذ آخر قضية أخرى. |
وقف fpp -c |
fpp -P "$ {DaySong1}" |
فاي |
;; |
esac |
عرض rawButtonSuperScript.sh مستضاف مع ❤ بواسطة GitHub
الخطوة 5: (اختياري) غطاء الواجهة للزر
لدي إمكانية الوصول إلى قاطع الليزر في Clemson من خلال Makerspace ، لذلك قمت بسرعة برسم تصميم للقطع + الحفر. هناك ثقب في المنتصف لزرّي ، الكلمات تقول "Push Me" بخط عيد الميلاد ، وندفة ثلجية حول الزر. لقد قمت برش بعض الخشب باللون الأبيض ثم غطيته بشريط لاصق (حتى لا يحرق قاطع الليزر الأجزاء التي لا أريد حفرها). الملف الذي استخدمته مرفق.
موصى به:
عرض ضوء عيد الميلاد متزامن مع الموسيقى!: 4 خطوات
عرض ضوء عيد الميلاد متزامن مع الموسيقى!: في هذه التعليمات ، سأوضح لك كيفية جعل عرض ضوء عيد الميلاد متزامنًا مع موسيقى عيد الميلاد باستخدام وحدات البكسل RGB. لا تدع هذا الاسم يخيفك! ليس من الصعب تعلم كيفية القيام بذلك. سأحذرك على الرغم من أن هذا يمكن أن يكون
تنفس شجرة عيد الميلاد - وحدة تحكم ضوء عيد الميلاد في Arduino: 4 خطوات
تنفس شجرة عيد الميلاد - وحدة التحكم في ضوء عيد الميلاد في Arduino: ليس من الجيد أن صندوق التحكم الخاص بشجرة عيد الميلاد الاصطناعية التي يبلغ ارتفاعها 9 أقدام والمضاءة مسبقًا قد انكسر قبل عيد الميلاد , ولا توفر الشركة المصنعة قطع غيار. يوضح هذا الغامض كيفية جعل محرك إضاءة LED ووحدة التحكم الخاصة بك يستخدمان Ar
عرض ضوء شجرة عيد الميلاد Raspberry Pi: 15 خطوة (مع صور)
عرض Raspberry Pi Christmas Tree Light: تحديث: لقد وضعت تطورًا محدثًا لهذه الشجرة لعام 2017 في https://www.instructables.com/id/LED-Christmas-Tree-With-Video-Projector-Rasp -Pi / يتضمن هذا المشروع استخدام Raspberry Pi لتشغيل 8 منافذ تيار متردد متصلة
شجرة عيد الميلاد LED مع جهاز عرض فيديو (Rasp Pi): 7 خطوات (بالصور)
شجرة عيد الميلاد LED مع جهاز عرض فيديو (Rasp Pi): النظر إلى ما وضعه بعض الأشخاص معًا من أجل & ldquo ؛ فوق الجزء العلوي & rdquo ؛ يظهر LED في الهواء الطلق لعيد الميلاد ، أردت أن أرى ما هو ممكن يجمع نفس المستوى من النظام معًا لشجرة عيد الميلاد داخل المنزل. في Instructables السابقة I & r
صندوق عيد الميلاد: أضواء عيد الميلاد وعرض الموسيقى التي يتم التحكم فيها عبر الإنترنت من Arduino / ioBridge: 7 خطوات
Xmas-box: أضواء عيد الميلاد وعرض الموسيقى التي يتم التحكم فيها عبر الإنترنت من Arduino / ioBridge: يتكون مشروع صندوق عيد الميلاد الخاص بي من عرض موسيقى وأضواء عيد الميلاد يتم التحكم فيها عبر الإنترنت. يمكن طلب أغنية عيد الميلاد عبر الإنترنت ثم يتم وضعها في قائمة انتظار وتشغيلها بالترتيب المطلوب. تنتقل الموسيقى على FM stat