Përmbajtje:

Filloni shfaqjen tuaj të dritës së Krishtlindjes me një buton: 5 hapa
Filloni shfaqjen tuaj të dritës së Krishtlindjes me një buton: 5 hapa

Video: Filloni shfaqjen tuaj të dritës së Krishtlindjes me një buton: 5 hapa

Video: Filloni shfaqjen tuaj të dritës së Krishtlindjes me një buton: 5 hapa
Video: Освобождаемся от статуса новичка GEL-NAIL! Техника повышения уровня💅【ASKA NAILS】 2024, Nëntor
Anonim
Filloni shfaqjen tuaj të dritës së Krishtlindjes me një buton
Filloni shfaqjen tuaj të dritës së Krishtlindjes me një buton

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

Diagrami i telave
Diagrami i telave
Diagrami i telave
Diagrami i telave
Diagrami i telave
Diagrami i telave
Diagrami i telave
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: