Բովանդակություն:

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

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

Video: Սկսեք ձեր ամանորյա լուսային շոուն կոճակով `5 քայլ
Video: He That Hath Ears To Hear... 2024, Հուլիսի
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», իսկ կոճակի շուրջը ՝ ձյան փաթիլ: Ես մի քանի փայտ ներկեցի սպիտակ գույնով, այնուհետև ծածկեցի այն դիմակավոր ժապավենով (այնպես, որ լազերային դանակը չայրվի այն մասերը, որոնք ես չեմ ցանկանում փորագրել): Իմ օգտագործած ֆայլը կցված է:

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