Obsah:
- Krok 1: Zoznam dielov
- Krok 2: Schéma zapojenia
- Krok 3: Základné nastavenie prehrávača Falcon Pi Player
- Krok 4: Robustnejší skript
- Krok 5: (Voliteľné) Čelná doska pre tlačidlo
Video: Začnite svoju vianočnú svetelnú šou tlačidlom: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Pri spustení vianočnej svetelnej šou synchronizovanej s hudbou možno budete chcieť spustiť šou stlačením tlačidla. Tento tutoriál je použiteľný iba pre show, ktorá je ovládaná pomocou programu Falcon Pi Player (FPP) bežiaceho na Raspberry Pi. Ak používate FPP, pravdepodobne používate radiče Falcon a na sekvenciu šou používate programy xLights alebo LightORama. Ak vám žiadne z týchto slov nič nehovorí, tento návod je zatiaľ asi trochu nad hlavou a mali by ste začať čítaním tejto wiki https://auschristmaslighting.com/wiki/ a pripojením sa k skupine na Facebooku, ako je uvedené nižšie
- xLights:
- Všeobecné pokročilé vianočné svetlá:
- Hráč Falcon Pi:
- Zdieľanie predstavy o kryte/rekvizite:
- „Nie konkrétne xLights alebo súvisiace s LOR“:
- Predajcovia xLights Holiday Light:
- Urob si sám Vianoce:
Krok 1: Zoznam dielov
Budete potrebovať nasledujúce položky:
- Tlačítko. Použil som toto s LED kruhovým svetlom okolo: [Amazon]
- Rezistor. Prednostne 200 Ω alebo viac (2 z nich, ak používate tlačidlo LED) Štandardný 1/4W alebo 1/8W je v poriadku
- Spojovací drôt. Ukazovateľ, ktorý by ste mali použiť, závisí od toho, ako ďaleko bude tlačidlo od vášho Pi. Použil som 18awg drôt asi 10 stôp od môjho Pi a fungoval bezchybne
- Spôsob pripojenia drôtu k pinom GPIO Pi. Môžete použiť plochý kábel s oddeľovacou doskou, alebo môžete použiť aj niektoré konektory, ako som to urobil ja. Potrebujeme iba 3 vodiče - uzemnenie, 5 V a údaje pre tlačidlo. [Amazon]
- (Voliteľné) Vodotesný konektor na každom konci pre jednoduchú údržbu. Používam 3-kolíkové námorné konektory: [Amazon]
- (Voliteľné) Tepelne zmrštiteľné tupé konektory [Amazon]
Krok 2: Schéma zapojenia
Na obrázkoch je schéma zapojenia tlačidla bez priloženej diódy LED a tlačidla s diódou LED. Spôsob, akým som nastavil schému zapojenia, vám umožňuje spustiť tlačidlo a svetlo (nepretržite svietiace) iba s 3 vodičmi.
Pre pin GPIO vyberte ktorýkoľvek z pinov GPIO na pi. Použite tiež kolíky +5 V a Gnd. Pravdepodobne by ste sa mohli vyhnúť použitiu kolíka 3,3 V, ale pokles napätia na niekoľkých stopách drôtu môže spôsobiť, že signál bude nespoľahlivý alebo nebude stačiť na rozsvietenie diódy LED.
POZNÁMKA: 3-kolíkový konektor nepasuje cez otvor, ktorý potrebujete vyvŕtať pre tlačidlo s LED diódou. Pripojte teda konektor po vložení tlačidla na prednú dosku.
Krok 3: Základné nastavenie prehrávača Falcon Pi Player
POZNÁMKA - FPP sa neustále aktualizuje a je úplne možné, že zlepší svoju podporu skriptovania alebo že ako predvolenú funkciu, ktorá vyžaduje menej programovania, bude zahŕňať „spustenie stlačením tlačidla“.
Nasledoval som video vyššie, aby som najskôr všetko nastavil.
Videá sa mi zdajú byť nudné a pomalé, takže ich zhrnutie:
- Importujte svoju sekvenciu na server fpp pomocou správcu súborov
- Vytvorte si zoznam skladieb so sekvenciou. Pre ďalšie kroky bude zoznam skladieb nazvaný „playme“
-
Otvorte prázdny súbor poznámkového bloku a zadajte nasledujúci príkaz:
- #!/bin/sh
- fpp -P playme
- Uložte ho ako súbor.sh do počítača
- Prejdite do správcu súborov v FPP a nahrajte súbor skriptu. Prejdite na kartu „Skripty“a uistite sa, že je tam
- V časti Stav/ovládanie prejdite na položku Udalosti
- Vytvorte novú udalosť. ID udalosti 1/1, názov udalosti bez ohľadu na to, efektová sekvencia ŽIADNA, skript udalosti
- Prejdite do časti Nastavenie vstupu/výstupu a kliknite na položku Spúšťače GPIO
- Prepnite špendlík, ku ktorému je tlačidlo pripevnené. Ak sa po stlačení tlačidla zníži, potom umiestnite udalosť na možnosť Falling, ak je aktívna vysoko, umiestnite udalosť na Rising.
- Kliknite na tlačidlo Reštartovať podľa varovania, ktoré sa objaví po vykonaní všetkých zmien
Po tom všetkom by ste mali byť schopní stlačiť tlačidlo, aby sa vaša show začala. Fuj!
Táto metóda má však určité obmedzenia. Ak znova stlačíte tlačidlo počas prehrávania zoznamu skladieb, buď 1) sa nič neurobí, alebo 2) zlyhá FPP a odmietnete čokoľvek robiť s tlačidlom, kým ho nereštartujete. Ak teda iba dramaticky používate tlačidlo na prehrávanie šou na príkaz, vyššie uvedená metóda bude všetko, čo potrebujete.
Ak potrebujete niečo viac, pokračujte ďalším krokom
Krok 4: Robustnejší skript
Nasleduje scenár, ku ktorému som nakoniec dospel. Scenár si môžete pozrieť na Githube tu: [Gist. Github]
- Ak niekto stlačí tlačidlo počas „nočných“hodín, prehrá Tiger Rag (moja pieseň1) a potom prejde do pohotovostnej sekvencie, ktorá sa nekonečne opakuje.
- Ak je počas prehrávania Tiger Rag stlačené tlačidlo, spustí sa moja druhá pieseň Hallelujah a potom sa na neurčito prepne do pohotovostného režimu.
- Ak však niekto stlačí tlačidlo vo dne alebo veľmi neskoro v noci, prehrá raz Tiger Rag a potom vypne všetky svetlá.
Vďaka tomu môže tlačidlo fungovať kedykoľvek počas dňa, ale svetlá nemusia byť stále zapnuté. Tiež umožňuje prehrávanie viacerých skladieb z jedného tlačidla tak, že identifikujete, ktorá skladba sa práve hrá, ukončíte skladbu a prehráte „nasledujúcu“skladbu.
Viac zdrojov pre skriptovanie v FPP nájdete tu: https://github.com/FalconChristmas/fpp-scriptsPre komplikovanejšiu logiku stačí vygoogliť „bash script _“, kde sa pokúšate urobiť podčiarkovník. Svoje skripty môžete otestovať pomocou shellu FPP (užívateľské meno fpp heslo falcon) Základné príkazy sú nasledujúce.
Dávajte pozor na veľké písmená !!
- Capital -P prehrá zoznam skladieb raz, malé písmená -p ho zopakuje.
- fpp -v 66 Nastaviť hlasitosť na 66%
- fpp -c stop Okamžité zastavenie show
- fpp -C stop Toto môže byť zastavenie ukážky elegantne
- fpp -p thisPlaylistName Prehrá thisPlaylistName opakovane (úvodná pieseň sa teda prehrá raz, potom sa hlavné položky budú opakovať donekonečna.)
- fpp -P thisPlaylistName Prehrá thisPlaylistName raz
- eventScript "$ {MEDIADIR}/scripts/$ {thisScriptVariable}" Spustí skript. V prípade vľavo to funguje, ak máte názov skriptu uložený v premennej niekde vyššie, napríklad thisScriptVariable =”PlayTheSong.sh”
ButtonSuperScript.sh
#!/bin/sh |
########################################################### |
#Spustí sa po stlačení tlačidla. |
#Pre každú skladbu by ste mali mať dva zoznamy skladieb - jeden s |
# iba pieseň ako „prvé hranie“a nič hlavné, |
# a ďalší s piesňou pri prvom spustení a v pohotovostnom režime |
# sekvencia ako „hlavná“sekvencia. (Aspoň ak chcete |
# robiť presne to, čo robím) |
# |
#Napríklad, ak je vaša pieseň Tiger Rag, mali by ste mať |
# zoznamy skladieb „TigerRag“, „TigerRagStandby“a „Standby“ |
# |
########################################################### |
# Zoznamy skladieb, ktoré sa majú spustiť, ak sú medzi 6 a 11 |
NightSong1 = "TigerRagStandby" |
NightSong2 = "HallelujahStandby" |
NightStandby = "Pohotovostný režim" |
# Zoznamy skladieb, ktoré sa majú spustiť počas dňa alebo po 11 |
DaySong1 = "TigerRag" |
DaySong2 = "Hallelujah" |
DayStandby = "Pohotovostný režim" |
#Časy zapnutia a vypnutia za 24 hodín. Ak chcete minúty, veľa šťastia |
OnHour = 17 |
Mimo pracovného času = 23 |
########################################################### |
# Vnútornosť scenára. # |
########################################################### |
# Získať náš aktuálny stav (IDLE = 0, HRANIE = 1, zastavenie ladne = 2) |
STATUS = $ (fpp -s | cut -d ',' -f2) |
#Získajte spustený zoznam skladieb a zostrihajte ho na 7 písmen |
PLAYLIST = $ (fpp -s | cut -d ',' -f4 | cut -c1-7) |
#Bude to „obe“, ak hrá skladba, a „sekvencia“, ak je v pohotovostnom režime |
#slúži na určenie, či je spustená pohotovostná sekvencia |
STANDBYSTRING = $ (fpp -s | cut -d ',' -f5) |
#Prvých 7 písmen názvov zoznamov skladieb na porovnanie |
#Stačí 7 písmen, aby boli „Song1Standby“a „Song1“totožné |
#Dobre, v skutočnosti by to malo byť prvých x písmen a x by malo byť najkratšie meno piesne, aké máte |
StandbyPlaylist = $ (echo $ NightStandby | cut -c1-7) |
Song1Playlist = $ (echo $ NightSong1 | cut -c1-7) |
Song2Playlist = $ (echo $ NightSong2 | cut -c1-7) |
STARTITEM = "" |
#Získajte aktuálnu hodinu vo vojenskom čase |
CurrentHour = $ (dátum +"%H") |
#Vytlačte stav niektorých vecí - „ozvena“je vo väčšine jazykov ako „tlač“ |
#Užitočné na testovanie, ak sú rôzne veci orezané alebo vypočítané správne |
echo CurrentHour je $ CurrentHour |
echo Bežiaci zoznam skladieb je: $ PLAYLIST |
echo Song2Playlist je: $ Song2Playlist |
echo Stav je: $ STATUS |
#Nastavte hlasitosť na 80% v noci, 100% inak |
#Keď spím, nie je to také hlasné |
#if [$ CurrentHour -lt $ OffHour -a $ CurrentHour -ge 11]; potom |
# fpp -v 100 |
#inak |
# fpp -v 80 |
#fi |
# Skontrolujte, či sme získali niečo zmysluplné |
ak [-z "$ {STATUS}"]; potom |
echo „Chyba so stavovou hodnotou“> & 2 |
výstup 1 |
fi |
# Konajte podľa aktuálneho stavu |
prípad $ {STATUS} v |
# IDLE |
0) |
#Nočný čas - prehrajte Song1 v pohotovostnom režime |
ak [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; potom |
echo Playing NightSong1 |
fpp -c stop |
fpp -p "$ {NightSong1}" $ {STARTITEM} |
#Deň alebo naozaj neskoro - prehrajte skladbu 1 raz a potom vypnite svetlá |
inak |
echo Playing DaySong1 |
fpp -c stop |
fpp -P "$ {DaySong1}" $ {STARTITEM} |
fi |
;; |
# PREHRÁVANIE alebo ZASTÁVANIE POMOCNE (pôvabné sa stane, ak sa po skončení naplánovaného zoznamu skladieb stlačí tlačidlo) |
1 | 2) |
#Pohotovostný režim je spustený - funguje to, pretože pohotovostný režim je moja jediná nemediálna sekvencia |
ak ["$ STANDBYSTRING" == "sekvencia"]; potom |
#Nočný čas - prehrajte Song1 v pohotovostnom režime |
ak [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; potom |
echo Prehrávanie NightSong1 na nočný čas |
fpp -c stop |
fpp -p "$ {NightSong1}" |
#Denný čas alebo naozaj neskorý čas - zahrajte si raz tigrovú handru a potom vypnite svetlá |
inak |
echo PlayingDaySong1 z hrania |
fpp -c stop |
fpp -P "$ {DaySong1}" |
fi |
#Ak chcete podporovať viac skladieb, skopírujte túto sekciu a v poslednej časti zmeňte položku „Song2Playlist“na skladbu#Playlist |
#Song1 je spustená |
elif ["$ PLAYLIST" == "$ Song1Playlist"]; potom |
#Noc - hrajte Hallelujah v pohotovostnom režime |
ak [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; potom |
echo Playing HallelujahStandby od Tiger Rag beží |
fpp -c stop |
fpp -p "$ {NightSong2}" |
#Deň alebo naozaj neskoro - pustite si raz Song2 a potom vypnite svetlá |
inak |
echo Beží Hallelujah raz od Tiger Rag |
fpp -c stop |
fpp -P "$ {DaySong2}" |
fi |
#POSLEDNÁ PIESEŇ beží - PLAY STANDBY |
elif ["$ PLAYLIST" == "$ Song2Playlist"]; potom |
#Noc - prehrajte pohotovostný režim v slučke |
ak [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; potom |
echo Opakované prehrávanie v pohotovostnom režime |
fpp -c stop |
fpp -p "$ {NightStandby}" |
#Denný čas alebo naozaj neskorý čas - raz prehrajte v pohotovostnom režime |
inak |
echo Prehrávanie v pohotovostnom režime raz |
fpp -c stop |
fpp -P "$ {DayStandby}" |
fi |
inak |
echo Z nejakého dôvodu bol vykonaný posledný prípad. |
fpp -c stop |
fpp -P "$ {DaySong1}" |
fi |
;; |
esac |
zobraziť rawButtonSuperScript.sh hostený s ❤ od GitHub
Krok 5: (Voliteľné) Čelná doska pre tlačidlo
Mám prístup k laserovej rezačke v Clemson cez Makerspace, takže som rýchlo načrtol dizajn, ktorý mám vystrihnúť+leptať. V strede je diera pre moje tlačidlo, slová s nápisom „Push Me“vo vianočnom písme a snehová vločka okolo tlačidla. Trochu dreva som nastriekol na bielo a potom som to prekryl maskovacou páskou (aby laserová rezačka nespálila časti, ktoré nechcem leptať). Súbor, ktorý som použil, je priložený.
Odporúča:
DIY ventilátor s tlačidlom ON -OFF - M5StickC ESP32: 8 krokov
DIY ventilátor s tlačidlom ON -OFF - M5StickC ESP32: V tomto projekte sa naučíme používať modul FAN L9110 pomocou dosky M5StickC ESP32
Domáca automatizácia Prepínač svetiel WiFi s ESP-01 a reléovým modulom s tlačidlom: 7 krokov
Domáca automatizácia Prepínač svetiel WiFi s ESP-01 a reléovým modulom s tlačidlom: Takže v predchádzajúcich pokynoch sme naprogramovali ESP-01 s Tasmotou pomocou ESP Flasher a pripojili ESP-01 k našim sieťam wifi. Teraz to môžeme začať programovať zapnúť/vypnúť spínač svetiel pomocou WiFi alebo tlačidla. Pri elektrických prácach
Vytvorte svetelnú obrazovku zo starého LCD displeja: 5 krokov
Vytvorenie svetelnej obrazovky zo starého LCD displeja: Ahoj všetci, toto je návod, ako vytvoriť svetelnú obrazovku (podsvietenie) tak, že starý LCD displej rozoberiete a potom upravíte. Je to veľmi praktické, ak máte starý/rozbitý LCD displej a chcete namiesto toho urobte z toho niečo užitočné
Blikajúca dióda LED {ovládané tlačidlom}: 5 krokov
LED bliká {Button Controlled}: Som študentom v Kang Chiao. Toto je môj projekt, používam Arduino a vyrobil som LED-blikajúce svetlo s tlačidlom, ktoré môže nechať blikať. Môžete si ho dať na handru a keď sú niektorí ľudia príliš blízko vás, môžete stlačiť tlačidlo a žiarovku
Vykonajte hudobnú synchronizovanú svetelnú šou pomocou funkcie Stop Motion: 6 krokov
Vytvorte synchronizovanú svetelnú show s hudbou pomocou Stop Motion: Takže v zásade, ak máte radi tie filmy na youtube s vianočnými svetlami synchronizovanými s piesňou, toto je návod pre vás! To preberá koncept počítačom ovládaných svetiel a uľahčuje to (podľa mňa, pretože som nikdy nerobil