Սկսեք ձեր ամանորյա լուսային շոուն կոճակով `5 քայլ
Սկսեք ձեր ամանորյա լուսային շոուն կոճակով `5 քայլ
Anonim
Սկսեք ձեր ամանորյա լուսային շոուն կոճակով
Սկսեք ձեր ամանորյա լուսային շոուն կոճակով

Երաժշտության հետ համաժամեցված Սուրբ Christmasննդյան լուսավոր շոու վարելիս գուցե ցանկանաք շոուն սկսել կոճակը սեղմելով: Այս ձեռնարկը կիրառելի է միայն շոուի համար, որը վերահսկվում է Rasconberry Pi- ով աշխատող Falcon Pi Player (FPP) միջոցով: Եթե դուք աշխատում եք FPP- ով, ապա դուք հավանաբար օգտագործում եք Falcon կարգավորիչներ և օգտագործում եք xLights կամ LightORama ՝ ձեր հաղորդումը հաջորդականացնելու համար: Եթե այդ բառերից և ոչ մեկը ձեզ համար ոչինչ չի նշանակում, այս ձեռնարկը, հավանաբար, առայժմ մի փոքր ձեր գլխին է, և դուք պետք է սկսեք կարդալ այս վիքիով ՝ https://auschristmaslighting.com/wiki/ և միանալով ստորև բերված ֆեյսբուքյան խմբին:

  • xLights:
  • Ընդհանուր առաջադեմ ամանորյա լույսեր ՝
  • Falcon Pi նվագարկիչ ՝
  • Շրջանակի/հենարան գաղափարի փոխանակում ՝
  • «Ոչ հատուկ xLights կամ LOR- ի հետ կապված».
  • xLights Holiday Light վաճառողներ ՝
  • Արա՛ ինքդ Սուրբ Christmasնունդ.

Քայլ 1: Մասերի ցուցակ

Ձեզ հարկավոր են հետևյալ տարրերը.

  • Մի կոճակ: Ես օգտագործեցի այս մեկը ՝ դրա շուրջը լուսադիոդային լուսարձակով: [Amazon]
  • Դիմադրիչ: Նախընտրելի է 200Ω կամ ավելի (սրանցից 2 -ը, եթե դուք օգտագործում եք LED կոճակը) Ստանդարտ 1/4W կամ 1/8W լավ է
  • Միակցիչ մետաղալար: Չափիչը, որը դուք պետք է օգտագործեք, կախված է նրանից, թե որքան հեռու կլինի կոճակը ձեր Pi- ից: Ես օգտագործեցի 18awg մետաղալար իմ Pi- ից մոտ 10 ոտնաչափ հեռավորության վրա և այն աշխատեց անթերի
  • Pi- ի GPIO կապումներին մետաղալար միացնելու միջոց: Դուք կարող եք օգտագործել ժապավենային մալուխ ճեղքման տախտակի հետ, կամ կարող եք պարզապես օգտագործել որոշ կանացի միակցիչներ, ինչպես ես արեցի: Մեզ պետք է ընդամենը 3 լար `գետնին, 5 Վ և տվյալները կոճակի համար: [Amazon]
  • (Լրացուցիչ) Անջրանցիկ միակցիչ յուրաքանչյուր ծայրին `հեշտ սպասարկման համար: Ես օգտագործում եմ 3-փին ծովային դասի միակցիչներ. [Amazon]
  • (Ըստ ցանկության) atերմասունացման հետույքի միակցիչներ [Amazon]

Քայլ 2: Էլեկտրագծերի դիագրամ

Հաղորդալարերի դիագրամ
Հաղորդալարերի դիագրամ
Հաղորդալարերի դիագրամ
Հաղորդալարերի դիագրամ
Հաղորդալարերի դիագրամ
Հաղորդալարերի դիագրամ
Հաղորդալարերի դիագրամ
Հաղորդալարերի դիագրամ

Նկարներում պատկերված է առանց ներառված LED կոճակի միացման սխեմա, և LED- ով կոճակ: Էլեկտրագծերի սխեմայի տեղադրման եղանակը թույլ է տալիս գործարկել կոճակ և լույս (անընդհատ միացված) ընդամենը 3 լարով:

GPIO կապի համար ընտրեք GPIO- ի ցանկացած կապում pi- ում: Օգտագործեք նաև +5V և Gnd կապում: Հավանաբար, դուք կարող եք ազատվել 3.3V կապի միջոցով, բայց լարերի մի քանի ոտնաչափ երկարության վրա լարման անկումը կարող է ազդանշանն անվստահելի դարձնել կամ բավարար չլինել լուսադիոդի լույսը լուսավորելու համար:

NOTԱՆՈԹՈԹՅՈՆ. 3-փին միակցիչը չի տեղավորվի այն անցքի միջով, որը դուք պետք է փորեք LED օղակի լույսով կոճակի համար: Այսպիսով, ամրացրեք միակցիչը կոճակը ձեր երեսպատման ափսեի մեջ դնելուց հետո:

Քայլ 3. Falcon Pi Player- ի հիմնական կարգավորումը

Ո NOTՇԱԴՐՈԹՅՈՆ - FPP- ն անընդհատ թարմացվում է, և միանգամայն հնարավոր է, որ նրանք բարելավեն իրենց սկրիպտային աջակցությունը կամ ներառեն «գործարկման կոճակը» որպես կանխադրված գործառույթ, որը պահանջում է ավելի քիչ ծրագրավորում:

Ես հետևեցի վերը նշված տեսանյութին ՝ ամեն ինչ սկզբում կարգավորելու համար:

Ինձ թվում է, որ տեսանյութերը ձանձրալի են և դանդաղ, ուստի ահա դրա ամփոփումը.

  • Ներմուծեք ձեր հաջորդականությունը fpp- ում ՝ օգտագործելով ֆայլերի կառավարիչը
  • Ստեղծեք երգացանկ `դրան հաջորդողությամբ: Հաջորդ քայլերի համար երգացանկը կկոչվի «playme»
  • Բացեք դատարկ նոթատետրի ֆայլ և մուտքագրեք հետևյալը.

    • #!/bin/sh
    • fpp -P խաղալիք
  • Պահեք այն որպես.sh ֆայլ ձեր համակարգչում
  • Գնացեք ֆայլերի կառավարիչ FPP- ում և վերբեռնեք ձեր սկրիպտային ֆայլը: Գնացեք «Գրություններ» ներդիրին և համոզվեք, որ այն այնտեղ է
  • Կարգավիճակի/հսկողության ներքո անցեք իրադարձություններ
  • Ստեղծեք նոր իրադարձություն: Միջոցառման ID 1/1, Միջոցառման անուն, ինչ էլ որ լինի, Ազդեցության հաջորդականություն Չկա, Միջոցառման սցենար
  • Գնացեք «Մուտք/ելք» կարգաբերում և կտտացրեք GPIO գործարկիչներին
  • Փոխեք այն կոճակը, որին կցված է ձեր կոճակը: Եթե կոճակը սեղմելիս այն ցածր կլինի, ապա իրադարձությունը դրեք Falling տարբերակի վրա, եթե այն ակտիվ է բարձր, ապա իրադարձությունը դրեք Rising- ի վրա:
  • Կտտացրեք «Վերագործարկեք» կոճակին ՝ նախազգուշացնելով, որ այն հայտնվում է բոլոր փոփոխությունները կատարելուց հետո

Այս ամենն անելուց հետո դուք պետք է կարողանաք սեղմել կոճակը ՝ ձեր հաղորդումը սկսելու համար: Վաoh

Այնուամենայնիվ, այս մեթոդը որոշ սահմանափակումներ ունի: Եթե կրկին սեղմեք կոճակը, երբ երգացանկը շարունակվում է, այն 1) ոչինչ չի անի կամ 2) կկործանի FPP- ն և կհրաժարվի որևէ բան անել ձեր կոճակով, մինչև այն չվերագործարկեք: Այսպիսով, եթե դուք պարզապես օգտագործում եք կոճակը որպես դրամատիկ եղանակ ՝ ձեր շոուն հրամանով խաղալու համար, վերը նշված մեթոդը կլինի այն, ինչ ձեզ հարկավոր է:

Եթե ձեզ ավելի շատ բան է պետք, շարունակեք հաջորդ քայլին

Քայլ 4: Ավելի ուժեղ սցենար

Ստորև բերված է սցենարը, որին ես վերջապես հասա: Github- ի սցենարը կարող եք դիտել այստեղ ՝ [Gist. Github]

  • Եթե ինչ -որ մեկը սեղմում է կոճակը «գիշերային» ժամերին, այն կխաղա Tiger Rag (իմ երգը 1), այնուհետև կանցնի սպասման հաջորդականությանը, որն անվերջ հանգչում է:
  • Եթե կոճակը սեղմված է, երբ Tiger Rag- ը նվագում է, այն սկսում է իմ երկրորդ երգը ՝ Hallelujah- ը, այնուհետև անորոշ ժամանակով անցնելու է սպասման հաջորդականությանը:
  • Բայց եթե ինչ -որ մեկը սեղմում է կոճակը ցերեկը կամ շատ ուշ գիշեր, այն կխաղա Tiger Rag- ը մեկ անգամ, այնուհետև կանջատեն բոլոր լույսերը:

Սա թույլ է տալիս կոճակին աշխատել օրվա ցանկացած ժամի, բայց պարտադիր չէ, որ լույսերը մշտապես միացված լինեն: Այն նաև հնարավորություն է տալիս բազմակի երգեր նվագել 1 կոճակից ՝ որոշելով, թե որ երգն է այժմ նվագարկվում, ավարտելով այդ երգը և հնչեցնելով «հաջորդ» երգը:

FPP- ում սցենարների համար ավելի շատ ռեսուրսներ կարող եք գտնել այստեղ ՝ https://github.com/FalconChristmas/fpp-scripts Ավելի բարդ տրամաբանության համար պարզապես google- ում «bash script _», որտեղ ընդգծելը այն է, ինչ փորձում ես անել: Դուք կարող եք ստուգել ձեր սցենարները ՝ օգտագործելով FPP Shell- ը (օգտվողի անուն fpp գաղտնաբառի բազե) Հիմնական հրամանները հետևյալն են.

Ուշադրություն դարձրեք կապիտալիզացիային !!

  • Capital -P- ը մեկ անգամ նվագարկելու է երգացանկ, փոքրատառ -p- ը այն կրկնելու է:
  • fpp -v 66 Սահմանել ծավալը 66%
  • fpp -c stop Անմիջապես դադարեցրեք շոուն
  • fpp -C կանգ առնել Սա կարող է լինել stop ցույց տալ շնորհքով
  • fpp -p thisPlaylistName Կրկնվում է այս PlaylistName- ի միջոցով (այնպես որ ներածական երգը հնչում է մեկ անգամ, ապա Հիմնական իրերը կկրկնվեն անորոշ ժամանակով:
  • fpp -P thisPlaylistName Մեկ անգամ նվագում է այսԽաղացանկի անունը
  • eventScript "$ {MEDIADIR}/scripts/$ {thisScriptVariable}" Գործարկում է սցենար: Այն դեպքում, երբ ձախ կողմում այն աշխատում է, եթե ձեր սցենարի անունը պահված է փոփոխականի մեջ վերևում, օրինակ ՝ thisScriptVariable = "PlayTheSong.sh"

ButtonSuperScript.sh

#!/bin/sh
###########################################################
#Գործարկել, եթե կոճակը սեղմված է:
#Յուրաքանչյուր երգի համար պետք է ունենաք երկու երգացանկ `մեկը երգի հետ
# պարզապես երգը որպես «Առաջին խաղ» և ոչ մի հիմնական բան,
# և մեկ այլ երգ ՝ որպես առաջին նվագարկում և ձեր սպասման փուլում
# հաջորդականությունը որպես «Հիմնական» հաջորդականություն: (Համենայն դեպս, եթե ցանկանում եք
# ճիշտ անել այն, ինչ ես անում եմ)
#
#Օրինակ, եթե ձեր երգը Tiger Rag- ն է, ապա այն պետք է ունենաք
# երգացանկ "TigerRag", "TigerRagStandby" և "Standby"
#
###########################################################
# Տեսացանկեր ՝ գործելու համար, եթե այն 6 -ից 11 -ի միջև է
NightSong1 = "TigerRagStandby"
NightSong2 = "HallelujahStandby"
NightStandby = "Սպասման ռեժիմ"
# Տեսացանկեր ՝ օրվա ընթացքում կամ 11 -ից հետո
DaySong1 = "TigerRag"
DaySong2 = "Ալելուիա"
DayStandby = "Սպասման ռեժիմ"
#Միացման և անջատման ժամերը 24 ժամվա ընթացքում: Եթե րոպեներ եք ուզում, հաջողություն
Onամը = 17
OffHour = 23
###########################################################
# Սցենարի փորոտիք: #
###########################################################
# Ստացեք մեր ընթացիկ կարգավիճակը (IDLE = 0, PLAYING = 1, Նրբաճաշակ դադարեցում = 2)
ԿԱՐԳԱՎԻԱԿ = $ (fpp -s | cut -d ',' -f2)
#Ստացեք գործող երգացանկը և կրճատեք մինչև 7 տառ
PLAYLIST = $ (fpp -s | cut -d ',' -f4 | cut -c1-7)
#Սա կլինի «և», եթե երգ է նվագում, և «հաջորդականություն», եթե այն սպասման ռեժիմում է
#օգտագործվում է որոշելու, թե արդյոք սպասման հաջորդականությունն աշխատում է
STANDBYSTRING = $ (fpp -s | cut -d ',' -f5)
#Համեմատության համար տեսացանկերի անունների առաջին 7 տառերը
#Ընդամենը 7 տառ, որպեսզի «Song1Standby» - ն և «Song1» - ը նույնական լինեն
#Լավ, իրականում այն պետք է լինի առաջին x տառերը, և x- ը լինի ձեր ունեցած ամենակարճ երգի անունը
StandbyPlaylist = $ (echo $ NightStandby | cut -c1-7)
Song1Playlist = $ (արձագանք $ NightSong1 | կտրել -c1-7)
Song2Playlist = $ (արձագանք $ NightSong2 | կտրել -c1-7)
STARTITEM = ""
#Ստացեք ընթացիկ ժամը ռազմական ժամանակով
CurrentHour = $ (ամսաթիվ +"%H")
#Տպեք որոշ բաների կարգավիճակը. «Արձագանքը» շատ լեզուների նման է «տպել» -ին
#Օգտակար է փորձարկման համար, եթե տարբեր իրեր կտրված կամ ճիշտ հաշվարկված են
echo CurrentHour- ը $ CurrentHour է
echo Running երգացանկն է ՝ $ PLAYLIST
echo Song2Playlist- ը ՝ $ Song2Playlist
echo Կարգավիճակը ՝ $ STATUS
#Գիշերը ձայնը կարգավորեք 80% -ի, հակառակ դեպքում ՝ 100% -ի
#Այնպես որ, եթե ես քնում եմ, այն այնքան բարձր չի հնչում
#if [$ CurrentHour -lt $ OffHour -a $ CurrentHour -ge 11]; ապա
# fpp -v 100
#այլ
# fpp -v 80
#ֆի
# Ստուգեք, որ մենք իմաստալից բան ենք ստացել
եթե [-z "$ {STATUS}"]; ապա
արձագանք «Սխալ կարգավիճակի արժեքի հետ»> և 2
ելք 1
fi
# Գործեք ընթացիկ կարգավիճակի վրա
դեպք $ {STATUS} - ի մեջ
# ԱՌԱ
0)
#Գիշերային ժամ - սպասողական ռեժիմով խաղացեք Song1- ը
եթե [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; ապա
echo Playing NightSong1
fpp -c կանգառ
fpp -p "$ {NightSong1}" $ {STARTITEM}
#Օրվա ժամանակը կամ իսկապես ուշ. Մեկ անգամ երգեք երգը, ապա անջատեք լույսերը
ուրիշ
echo Playing DaySong1
fpp -c կանգառ
fpp -P "$ {DaySong1}" $ {STARTITEM}
fi
;;
# ԽԱACԱՈԹՅՈՆ կամ ԴԱԴԱՐԵԼ (հմայիչ է պատահում, եթե կոճակը սեղմվի, երբ պլանավորված երգացանկն ավարտվում է)
1 | 2)
#Սպասումն աշխատում է. Սա աշխատում է, քանի որ սպասման ռեժիմը իմ միակ ոչ մեդիա հաջորդականությունն է
եթե ["$ STANDBYSTRING" == "հաջորդականություն"], ապա
#Գիշերային ժամ - սպասողական ռեժիմով խաղացեք Song1- ը
եթե [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; ապա
echo Playing NightSong1 գիշերվա համար
fpp -c կանգառ
fpp -p "$ {NightSong1}"
#Օրվա ժամանակը կամ իսկապես ուշ - մեկ անգամ խաղացեք վագրի կտոր, ապա անջատեք լույսերը
ուրիշ
echo PlayingDaySong1 նվագելուց
fpp -c կանգառ
fpp -P "$ {DaySong1}"
fi
#Ավելի շատ երգեր աջակցելու համար պատճենեք այս բաժինը և վերջին հատվածում «Song2Playlist» - ը փոխեք Երգի#երգացանկի
#Երգ 1 -ը գործում է
elif ["$ PLAYLIST" == "$ Song1Playlist"]; ապա
#Գիշերային ժամ - սպասելիս խաղացեք Ալելուիա
եթե [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; ապա
echo Playing HallelujahStandby from Tiger Rag- ը վազում է
fpp -c կանգառ
fpp -p "$ {NightSong2}"
#Օրվա ժամանակը կամ իսկապես ուշ. Մեկ անգամ երգեք Song2- ը, այնուհետև անջատեք լույսերը
ուրիշ
echo Playing Hallelujah մեկ անգամ Tiger Rag- ից վազում է
fpp -c կանգառ
fpp -P "$ {DaySong2}"
fi
#ՎԵՐASTԻՆ ԵՐԳԸ ՀԵՌԱՈՈՄ Է
elif ["$ PLAYLIST" == "$ Song2Playlist"]; ապա
#Գիշերային ժամ. Սպասողական ռեժիմով խաղացեք
եթե [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; ապա
echo Խաղալ սպասման ռեժիմում կրկնելիս
fpp -c կանգառ
fpp -p "$ {NightStandby}"
#Օրվա ժամանակը կամ իսկապես ուշ - մեկ անգամ սպասողական խաղացեք
ուրիշ
echo Playing Standby Once
fpp -c կանգառ
fpp -P "$ {DayStandby}"
fi
ուրիշ
echo Ինչ -ինչ պատճառներով վերջին գործը կատարվեց:
fpp -c կանգառ
fpp -P "$ {DaySong1}"
fi
;;
էսակ

դիտել rawButtonSuperScript.sh- ը, որը տեղակայված է it -ի կողմից GitHub- ի կողմից

Քայլ 5 ՝ (ըստ ցանկության) կոճակի երեսպատում

Ինձ հասանելի է Clemson- ում գտնվող լազերային դանակը Makerspace- ի միջոցով, այնպես որ ես արագ ուրվագծեցի դիզայն `կտրելու+փորագրելու համար: Իմ կոճակի մեջտեղում մի անցք կա, բառերը Սուրբծննդյան տառատեսակով ասում են «Push Me», իսկ կոճակի շուրջը ՝ ձյան փաթիլ: Ես մի քանի փայտ ներկեցի սպիտակ գույնով, այնուհետև ծածկեցի այն դիմակավոր ժապավենով (այնպես, որ լազերային դանակը չայրվի այն մասերը, որոնք ես չեմ ցանկանում փորագրել): Իմ օգտագործած ֆայլը կցված է:

Խորհուրդ ենք տալիս: