Përmbajtje:
- Hapi 1: Lista e Pjesëve
- Hapi 2: Diagrami i telave
- Hapi 3: Konfigurimi bazë i Falcon Pi Player
- Hapi 4: Një skenar më i fuqishëm
- Hapi 5: (Opsionale) Fletëfaqja për butonin
Video: Filloni shfaqjen tuaj të dritës së Krishtlindjes me një buton: 5 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:20
Kur drejtoni një shfaqje të dritës së Krishtlindjes të sinkronizuar me muzikën, mund të dëshironi të filloni shfaqjen duke shtypur një buton. Ky tutorial është i zbatueshëm vetëm për një shfaqje që kontrollohet përmes Falcon Pi Player (FPP) që funksionon në një Raspberry Pi. Nëse jeni duke ekzekutuar FPP atëherë me siguri përdorni kontrollues Falcon dhe përdorni xLights ose LightORama për të renditur shfaqjen tuaj. Nëse asnjë nga ato fjalë nuk do të thotë asgjë për ju, ky mësim është ndoshta pak mbi kokën tuaj tani për tani dhe duhet të filloni duke lexuar këtë wiki https://auschristmaslighting.com/wiki/ dhe duke u bashkuar me një grup në Facebook si më poshtë
- xLights:
- Dritat e përgjithshme të avancuara të Krishtlindjeve:
- Lojtari Falcon Pi:
- Ndarja e ideve rrethuese/mbështetëse:
- "Jo veçanërisht xLights ose LOR Lidhur":
- Shitësit xLights Holiday Light:
- Bëni Vetë Krishtlindjet:
Hapi 1: Lista e Pjesëve
Ju do të keni nevojë për artikujt e mëposhtëm:
- Një buton. Kam përdorur këtë me një dritë unazë LED rreth tij: [Amazon]
- Një rezistencë. Mundësisht 200Ω ose më shumë (2 nga këto nëse përdorni butonin LED) Standardi 1/4W ose 1/8W është mirë
- Teli lidhës. Matësi që duhet të përdorni varet nga sa larg do të jetë butoni nga Pi juaj. Kam përdorur tela 18awg për rreth 10 metra nga Pi im dhe funksionoi në mënyrë të përsosur
- Një mënyrë për të lidhur një tel me kunjat GPIO të Pi. Ju mund të përdorni një kabllo fjongo me tryezën e thyerjes, ose thjesht mund të përdorni disa lidhje femra si unë. Na duhen vetëm 3 tela - Ground, 5V dhe të dhëna për butonin. [Amazon]
- (Opsionale) Një lidhës i papërshkueshëm nga uji në çdo anë për mirëmbajtje të lehtë. Unë përdor lidhës të klasës detare me 3 kunja: [Amazon]
- (Opsionale) Lidhëset e tiganit të tkurrjes së nxehtësisë [Amazon]
Hapi 2: Diagrami i telave
Fotografitë tregojnë një diagram të instalimeve elektrike për një buton pa një LED të përfshirë dhe një buton me një LED. Mënyra se si kam vendosur diagramin e instalimeve elektrike ju lejon të përdorni një buton dhe një dritë (ndezur vazhdimisht) me vetëm 3 tela.
Për pin GPIO, zgjidhni ndonjë nga kunjat GPIO në pi. Përdorni gjithashtu kunjat +5V dhe Gnd. Ju ndoshta mund të shpëtoni duke përdorur pin 3.3V, por rënia e tensionit në disa metra tela mund ta bëjë sinjalin jo të besueshëm ose të mos jetë i mjaftueshëm për të ndezur LED.
SH NOTNIM: Lidhësi me 3 kunja nuk do të futet në vrimën që duhet të shponi për një buton me dritën e unazës LED. Pra, lidhni lidhësin pasi ta vendosni butonin në faqen tuaj.
Hapi 3: Konfigurimi bazë i Falcon Pi Player
SH NOTNIM - FPP po përditësohet vazhdimisht, dhe është krejtësisht e mundur që ata të përmirësojnë mbështetjen e tyre të skriptimit ose që të përfshijnë "butonin për të filluar" si një veçori e paracaktuar që kërkon më pak programim.
Ndoqa videon e mësipërme për fillimin e rregullimit të gjithçkaje.
Më duken video të mërzitshme dhe të ngadalta, kështu që këtu është një përmbledhje e saj:
- Importoni sekuencën tuaj në fpp duke përdorur menaxherin e skedarëve
- Krijoni një listë dëgjimi me sekuencën në të. Për hapat e ardhshëm lista e dëgjimit do të quhet "playme"
-
Hapni një skedar bosh të shënimeve dhe shkruani sa vijon:
- #!/bin/sh
- fpp -P playme
- Ruajeni atë si një skedar.sh në kompjuterin tuaj
- Shkoni te menaxheri i skedarëve në FPP dhe ngarkoni skedarin tuaj të shkrimit. Shkoni te skedari "Scripts" dhe sigurohuni që është atje
- Nën Statusi/Kontrolli shkoni te Ngjarjet
- Krijoni një ngjarje të re. ID e ngjarjes 1/1, Emri i ngjarjes çfarëdo, Rendi i Efektit ASNJ, Skenari i Ngjarjes
- Shkoni te Konfigurimi i hyrjes/daljes dhe klikoni në aktivizuesit GPIO
- Ndryshoni kunjin me të cilin është bashkangjitur butoni juaj. Nëse do të ulet kur shtypni butonin atëherë vendoseni ngjarjen në opsionin Falling, nëse është aktiv lartë atëherë vendoseni ngjarjen në Rising.
- Klikoni butonin Rinis me paralajmërimin që shfaqet pasi të keni bërë të gjitha ndryshimet
Pasi të keni bërë të gjitha këto, duhet të jeni në gjendje të shtypni butonin për të filluar shfaqjen tuaj. Woohoo!
Sidoqoftë, kjo metodë ka disa kufizime. Nëse shtypni përsëri butonin ndërsa lista e dëgjimit po shkon, ose 1) nuk do të bëjë asgjë ose 2) do të rrëzojë FPP dhe nuk do të bëjë asgjë me butonin tuaj derisa ta rindizni. Pra, nëse thjesht po përdorni një buton si një mënyrë dramatike për të luajtur shfaqjen tuaj me komandë, metoda e mësipërme do të jetë gjithçka që ju nevojitet.
Nëse keni nevojë për diçka më shumë, vazhdoni në hapin tjetër
Hapi 4: Një skenar më i fuqishëm
Më poshtë është skenari në të cilin arrita përfundimisht. Ju mund ta shihni skenarin në Github këtu: [Gist. Github]
- Nëse dikush shtyp butonin gjatë orëve të "natës" do të luajë Tiger Rag (Kënga ime1) dhe pastaj do të shkojë në sekuencën e gatishmërisë e cila bën pafund.
- Nëse butoni shtypet ndërsa Tiger Rag është duke luajtur atëherë fillon kënga ime e dytë, Hallelujah, dhe pastaj do të shkojë në sekuencën e gatishmërisë pafundësisht.
- Por nëse dikush shtyp butonin gjatë ditës ose shumë vonë gjatë natës do të luajë Tiger Rag një herë dhe pastaj do të fikë të gjitha dritat.
Kjo lejon që butoni të funksionojë në çdo kohë të ditës, por dritat nuk duhet të jenë të ndezura gjatë gjithë kohës. Gjithashtu lejon që shumë këngë të luhen nga 1 buton duke identifikuar se cila këngë po luan aktualisht, duke i dhënë fund asaj kënge dhe duke luajtur këngën "tjetër".
Ju mund të gjeni më shumë burime për skriptimin në FPP këtu: https://github.com/FalconChristmas/fpp-scriptsPër logjikë më të komplikuar, thjesht google “bash script _” ku nënvizimi është ajo që po përpiqeni të bëni. Ju mund t'i provoni skriptet tuaja duke përdorur FPP Shell (emri i përdoruesit fpp password falcon) Komandat bazë janë si më poshtë.
Kushtojini vëmendje kapitalizimit !!
- Capital -P do të luajë një listë dëgjimi një herë, e vogla -p do ta përsërisë atë.
- fpp -v 66 Caktoni volumin në 66%
- fpp -c stop Ndalo shfaqjen menjëherë
- fpp -C stop Kjo mund të jetë stop show me hijeshi
- fpp -p thisPlaylistName Luan këtëPlaylistName në përsëritje (kështu që kënga hyrëse luan një herë, atëherë gjërat kryesore do të përsëriten pafundësisht.
- fpp -P thisPlaylistName Luan këtëPlaylistName një herë
- eventScript "$ {MEDIADIR}/scripts/$ {thisScriptVariable}" Drejton një skript. Në rastin në të majtë funksionon nëse e keni ruajtur emrin e shkrimit tuaj në një ndryshore diku më lart, si kjoScriptVariable = "PlayTheSong.sh"
ButtonSuperScript.sh
#!/bin/sh |
########################################################### |
#Të ekzekutohet nëse shtypet butoni. |
#Duhet të keni dy lista për luajtje për secilën këngë - një me |
# vetëm kënga si "Shfaqja e parë" dhe asgjë kryesore, |
# dhe një tjetër me këngën si shfaqja e parë dhe gatishmëria juaj |
# sekuenca si sekuenca "Kryesore". (Të paktën nëse dëshironi |
# për të bërë gjënë e saktë që po bëj) |
# |
#Për shembull, nëse kënga juaj është Tiger Rag, duhet ta keni |
# lista për luajtje "TigerRag", "TigerRagStandby" dhe "Standby" |
# |
########################################################### |
# Lista për luajtje për t'u shfaqur nëse është midis 6 dhe 11 |
NightSong1 = "TigerRagStandby" |
NightSong2 = "HallelujahStandby" |
NightStandby = "Në gatishmëri" |
# Lista për luajtje për t'u shfaqur gjatë ditës ose pas 11 |
DaySong1 = "TigerRag" |
DaySong2 = "Hallelujah" |
DayStandby = "Në gatishmëri" |
#Koha e ndezjes dhe e fikjes në 24 orë. Nëse doni minuta, fat të mirë |
Ora = 17 |
Ora jashtë orarit = 23 |
########################################################### |
# Guxim i skenarit. # |
########################################################### |
# Merrni statusin tonë aktual (IDLE = 0, PLAYING = 1, Ndalim me Hirësi = 2) |
STATUSI = $ (fpp -s | prerë -d ',' -f2) |
#Merrni listën e dëgjimit që funksionon dhe shkurtojeni në 7 shkronja |
PLAYLIST = $ (fpp -s | prerë -d ',' -f4 | prerë -c1-7) |
#Kjo do të jetë "të dyja" nëse luan një këngë, dhe "sekuencë" nëse është në gatishmëri |
#përdoret për të përcaktuar nëse sekuenca e gatishmërisë po funksionon |
STANDBYSTRING = $ (fpp -s | prerë -d ',' -f5) |
#7 shkronjat e para të emrave të listave për luajtje për krahasim |
#Vetëm 7 shkronja në mënyrë që "Song1Standby" dhe "Song1" të jenë identike |
#Mirë, kështu që në fakt duhet të jetë shkronja e parë x dhe x duhet të jetë emri më i shkurtër i këngës që keni |
StandbyPlaylist = $ (echo $ NightStandby | prerë -c1-7) |
Song1Playlist = $ (echo $ NightSong1 | prerë -c1-7) |
Song2Playlist = $ (echo $ NightSong2 | prerë -c1-7) |
STARTITEM = "" |
#Merrni orën aktuale në kohën ushtarake |
CurrentHour = $ (data +"%H") |
#Shtypni statusin e disa gjërave - "jehona" është si "print" në shumicën e gjuhëve |
#E dobishme për testim nëse gjëra të ndryshme shkurtohen ose llogariten saktë |
jehona CurrentHour është $ CurrentHour |
echo Running playlist është: $ PLAYLIST |
jehona Song2Playlist është: $ Song2Playlist |
echo Statusi është: $ STATUS |
#Caktoni volumin në 80% gjatë natës, 100% ndryshe |
#Kështu që nëse jam duke fjetur nuk është aq me zë të lartë |
#if [$ CurrentHour -lt $ OffHour -a $ CurrentHour -ge 11]; atëherë |
# fpp -v 100 |
#te tjera |
# fpp -v 80 |
#fi |
# Kontrolloni që kemi diçka domethënëse |
nëse [-z "$ {STATUS}"]; atëherë |
jehonë "Gabim me vlerën e statusit"> & 2 |
dalja 1 |
fi |
# Veproni sipas statusit aktual |
rast $ {STATUS} në |
# IDLE |
0) |
#Nat kohë - luani Song1 me gatishmëri |
nëse [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; atëherë |
jehonë Playing NightSong1 |
fpp -c ndalesë |
fpp -p "$ {NightSong1}" $ {STARTITEM} |
Koha e ditës ose vërtet vonë - luani këngën 1 një herë, pastaj fikni dritat |
tjeter |
echo Playing DaySong1 |
fpp -c ndalesë |
fpp -P "$ {DaySong1}" $ {STARTITEM} |
fi |
;; |
# LUAJ ose NDALIM HIRSISHT (ndodh e këndshme nëse shtypni butonin kur të përfundojë një listë e planifikuar për luajtje) |
1 | 2) |
#Standby po funksionon - kjo funksionon sepse gatishmëria është sekuenca ime e vetme jo -media |
nëse ["$ STANDBYSTRING" == "sekuenca"]; atëherë |
#Nat kohë - luani Song1 me gatishmëri |
nëse [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; atëherë |
jehonë Playing NightSong1 për kohën e natës |
fpp -c ndalesë |
fpp -p "$ {NightSong1}" |
Koha e ditës ose vërtet vonë - luani një herë leckë tigri pastaj fikni dritat |
tjeter |
jehonë PlayingDaySong1 nga loja |
fpp -c ndalesë |
fpp -P "$ {DaySong1}" |
fi |
#Për të mbështetur më shumë këngë, kopjoni këtë seksion dhe ndryshoni "Song2Playlist" në pjesën e fundit në Songlist#Playlist |
#Kënga 1 po kandidon |
elif ["$ PLAYLIST" == "$ Song1Playlist"]; atëherë |
Koha e natës - luani Hallelujah në gatishmëri |
nëse [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; atëherë |
jehona Playing HallelujahStandby nga Tiger Rag po kandidon |
fpp -c ndalesë |
fpp -p "$ {NightSong2}" |
Koha e ditës ose vërtet vonë - luani Song2 një herë, pastaj fikni dritat |
tjeter |
jehona Duke luajtur Hallelujah një herë nga Tiger Rag po kandidon |
fpp -c ndalesë |
fpp -P "$ {DaySong2}" |
fi |
#K SNGA E FUNDIT K RRKON - PLAY STANDBY |
elif ["$ PLAYLIST" == "$ Song2Playlist"]; atëherë |
Koha e natës - luani gatishmërinë në lak |
nëse [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; atëherë |
jehonë Luajtja në gatishmëri në përsëritje |
fpp -c ndalesë |
fpp -p "$ {NightStandby}" |
Koha e ditës ose vërtet vonë - luani në gatishmëri një herë |
tjeter |
jehonë Playing Standby Once |
fpp -c ndalesë |
fpp -P "$ {DayStandby}" |
fi |
tjeter |
jehonë Për disa arsye rasti tjetër i fundit i ekzekutuar. |
fpp -c ndalesë |
fpp -P "$ {DaySong1}" |
fi |
;; |
esac |
shikoni rawButtonSuperScript.sh të pritur me ❤ nga GitHub
Hapi 5: (Opsionale) Fletëfaqja për butonin
Unë kam qasje në një prestar lazer në Clemson përmes Makerspace, kështu që unë skicova shpejt një model për të prerë+gravurë. Ka një vrimë në mes për butonin tim, fjalët thonë "Push Me" me një font të Krishtlindjeve dhe një fije dëbore rreth butonit. Unë lyeva me dru një ngjyrë të bardhë dhe më pas e mbulova me shirit maskues (në mënyrë që prerësja lazer të mos djegë pjesë që nuk dua të gdhenden). Skedari që kam përdorur është i bashkangjitur.
Recommended:
Filloni automatikisht një program kur lidhni një laptop në një stacion docking: 5 hapa
Filloni një program automatikisht kur lidhni një laptop në një stacion docking: Ky udhëzues ka të bëjë me mënyrën se si të drejtoni një program ose një aplikacion kur lidhni laptopin tuaj në një stacion docking. Në këtë shembull unë jam duke përdorur Lenovo T480 Windows 10
Qarku i fikur i fiksimit me UC. Një buton me një shtytje. Një kunj. Komponenti diskret .: 5 hapa
Qarku i fikur i fiksimit me UC. Një buton me një shtytje. Një kunj. Komponenti Diskret .: Përshëndetje të gjithëve, po kërkoni një qark on/off në rrjet. Gjithçka që gjeta nuk ishte ajo që kërkoja. Po flisja me veten, ka domosdoshmërisht një mënyrë për këtë. Kjo ishte ajo për të cilën kisha nevojë.-Vetëm një buton për të aktivizuar dhe fikur.-Duhet të përdoret vetëm
A mund t'ju kujtojë një MakerBit të kontrolloni ujin nën pemën tuaj të Krishtlindjes?: 7 hapa
A mund t'ju kujtojë një MakerBit të kontrolloni ujin nën pemën tuaj të Krishtlindjes?: Një pemë e prerë e freskët është një dekoratë tradicionale e festave në shumë shtëpi. Essentialshtë thelbësore ta mbani atë të furnizuar me ujë të freskët. A nuk do të ishte mirë të kishit një zbukurim që mund t'ju ndihmojë të kujtoni që të kontrolloni ujin nën pemën tuaj? Ky projekt është pjesë e
DIY-Riciklimi i një tifozi të dyshemesë në një modifikues të dritës së fotografisë/llambë gjithë-në-një: 11 hapa
DIY-Riciklimi i një tifozi të dyshemesë në një modifikues të dritës së fotografisë/llambë gjithëpërfshirëse: Kështu që kohët e fundit po pastroja pranverën dhe hasa në një tifoz të dyshemesë që i ishte djegur motori. Dhe më duhej një llambë tavoline. 2+2 dhe unë bëra një stuhi mendimesh dhe erdhi me idenë për ta kthyer ventilatorin në një modifikues të dritës me gjerësi 20 inç. Lexoni në s
Shtoni një buton të zjarrit të shpejtë në miun tuaj duke përdorur një kohëmatës 555: 5 hapa (me fotografi)
Shtoni një buton të zjarrit të shpejtë në miun tuaj duke përdorur një kohëmatës 555: A lodhet gishti lehtë kur luani video lojëra? A keni dëshiruar ndonjëherë që ju të arrini n00bs më shpejt se shpejtësia e dritës pa e thyer ndonjëherë djersën? Ky udhëzues do t'ju tregojë se si