Sisukord:
- Samm: osade loend
- 2. samm: juhtmestiku skeem
- Samm: Falcon Pi Playeri põhiseadistus
- Samm: jõulisem skript
- 5. samm: (valikuline) nupu esiplaat
Video: Alustage oma jõuluvalgusetendust nupuga: 5 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:48
Muusikaga sünkroonitud jõuluetenduse ajal võiksite saate alustada nupule vajutamisega. See õpetus kehtib ainult saate jaoks, mida juhitakse Raspberry Pi -ga töötava Falcon Pi Playeri (FPP) kaudu. Kui kasutate FPP -d, kasutate tõenäoliselt Falconi kontrollereid ja saate esitamiseks järjestust xLights või LightORama. Kui ükski neist sõnadest ei tähenda teile midagi, on see õpetus praegu ilmselt natuke üle pea ja peaksite alustuseks lugema seda wikit https://auschristmaslighting.com/wiki/ ja liituma allpool oleva Facebooki grupiga
- xLights:
- Üldised täiustatud jõulutuled:
- Falcon Pi mängija:
- Korpuse/ettepaneku idee jagamine:
- "Mitte konkreetselt xLights või LOR -iga seotud":
- xLights Holiday Light müüjad:
- Tee ise jõulud:
Samm: osade loend
Te vajate järgmisi esemeid:
- Nupp. Ma kasutasin seda, mille ümber oli LED -rõngas: [Amazon]
- Takisti. Soovitavalt 200Ω või rohkem (2 neist, kui kasutate LED -nuppu) Standard 1/4W või 1/8W sobib
- Ühendusjuhe. Mõõtur, mida peaksite kasutama, sõltub sellest, kui kaugel on nupp teie Pi -st. Ma kasutasin 18awg traati umbes 10 meetri kaugusel oma Pi -st ja see töötas veatult
- Üks viis juhtme ühendamiseks Pi GPIO tihvtidega. Läbilõikava leivaplaadiga saate kasutada lintkaablit või lihtsalt mõnda naissoost pistikut nagu mina. Vajame ainult 3 juhet - maandus, 5 V ja nupu andmed. [Amazon]
- (Valikuline) Veekindel pistik mõlemas otsas hõlpsaks hooldamiseks. Ma kasutan 3-kontaktilisi mereliidese pistikuid: [Amazon]
- (Valikuline) Termokahanevad põkkühendused [Amazon]
2. samm: juhtmestiku skeem
Piltidel on näidatud ühendusskeem nupule, millel pole kaasas olevat LED -i, ja LED -iga nupule. Elektriskeemi seadistamise viis võimaldab teil nuppu ja valgust (pidevalt põlema) käivitada ainult 3 juhtmega.
GPIO tihvti jaoks valige ükskõik milline GPIO tihvt. Kasutage ka +5V ja Gnd kontakte. Tõenäoliselt pääsete 3,3 V pinti kasutamisest välja, kuid pingelangus mitme meetri pikkuses juhtmes võib muuta signaali ebausaldusväärseks või mitte piisavaks LED -i süttimiseks.
MÄRKUS. 3-kontaktiline pistik ei mahu läbi augu, mida peate nuppude puurimiseks LED-rõngast tulega. Nii et kinnitage pistik pärast nupu esiplaadile panemist.
Samm: Falcon Pi Playeri põhiseadistus
MÄRKUS - FPP -d uuendatakse pidevalt ja on täiesti võimalik, et nad parandavad oma skriptide tugi või lisavad vaikimisi funktsiooni, mis nõuab vähem programmeerimist, "käivitamiseks vajalikku nuppu".
Järgisin ülaltoodud videot, et esialgu kõik seadistada.
Minu arvates on videod igavad ja aeglased, nii et siin on selle kokkuvõte:
- Importige oma jada failihalduri abil fpp -sse
- Looge esitusloend koos jadaga. Järgmiste sammude jaoks nimetatakse esitusloendit "playme"
-
Avage tühi märkmiku fail ja tippige järgmine tekst:
- #!/bin/sh
- fpp -P mäng
- Salvestage see oma arvutis.sh -failina
- Minge FPP -s failihaldurisse ja laadige oma skriptifail üles. Minge vahekaardile "Skriptid" ja veenduge, et see on olemas
- Valige oleku/juhtimise jaotises Sündmused
- Looge uus sündmus. Sündmuse ID 1/1, sündmuse nimi olenemata, efektijärjestus puudub, sündmuse skript
- Minge jaotisse Sisendi/väljundi seadistamine ja klõpsake nuppu GPIO päästikud
- Lülitage nööpnõel, mille külge teie nupp on kinnitatud. Kui see läheb nuppu vajutades madalaks, siis pange sündmus valikule Falling, kui see on aktiivne kõrge, siis pange sündmus tõusule.
- Klõpsake nuppu Taaskäivita, hoiatades, et see ilmub pärast kõigi muudatuste tegemist
Pärast seda kõike peaksite oma saate alustamiseks nuppu vajutama. Woohoo!
Sellel meetodil on siiski mõned piirangud. Kui vajutate esitusloendi esitamise ajal uuesti nuppu, siis 1) ei tee midagi või 2) krahh FPP ja keeldub oma nupuga midagi tegemast, kuni taaskäivitate. Nii et kui kasutate lihtsalt nuppu dramaatiliseks viisiks oma saate käskluse esitamiseks, on ülaltoodud meetod kõik, mida vajate.
Kui vajate midagi enamat, jätkake järgmise sammuga
Samm: jõulisem skript
Allpool on skript, milleni ma lõpuks jõudsin. Skripti saate vaadata Githubis siin: [Gist. Github]
- Kui keegi vajutab nuppu „öistel” tundidel, mängib see Tiger Rag (minu laul1) ja läheb seejärel ooterežiimi, mis lõputult kordub.
- Kui Tiger Rag mängimise ajal nupule vajutada, siis alustab see minu teist lugu, Hallelujah, ja läheb siis määramata ajaks ooterežiimi.
- Aga kui keegi vajutab nuppu päeval või väga hilisõhtul, mängib see üks kord Tiger Rag ja lülitab seejärel kõik tuled välja.
See võimaldab nupul töötada igal kellaajal, kuid tuled ei pea kogu aeg põlema. Samuti võimaldab see ühest nupust esitada mitu laulu, tuvastades, milline lugu parajasti mängib, selle laulu lõpetades ja esitades "järgmise" laulu.
FPP-s skriptimise jaoks leiate rohkem ressursse siit: https://github.com/FalconChristmas/fpp-scriptsKeerukama loogika jaoks googeldage lihtsalt „bash script _”, kus alajoon on see, mida proovite teha. Saate oma skripte testida FPP Shelli abil (kasutajanimi fpp parool falcon) Põhilised käsud on järgmised.
Pöörake tähelepanu suurtähtede kasutamisele !!
- Capital -P esitab esitusloendi üks kord, väiketäht -p kordab seda.
- fpp -v 66 Määrake helitugevus 66%
- fpp -c stop Lõpetage saade kohe
- fpp -C stop See võib olla stop show graatsiliselt
- fpp -p thisPlaylistName Mängib seda esitusloendi nime kordamisel (nii et sissejuhatavat laulu esitatakse üks kord, siis korratakse põhitööd lõputult.
- fpp -P thisPlaylistName Esitab selle esitusloendi nime üks kord
- eventScript "$ {MEDIADIR}/scripts/$ {thisScriptVariable}" Käivitab skripti. Vasakpoolsel juhul töötab see juhul, kui olete oma skripti nime kusagil ülalpool muutujaks salvestanud, näiteks seeScriptVariable =”PlayTheSong.sh”
ButtonSuperScript.sh
#!/bin/sh |
########################################################### |
#Käivitamiseks, kui nuppu vajutatakse. |
#Teil peaks iga loo jaoks olema kaks esitusloendit - üks koos |
# lihtsalt lugu kui "esimene mäng" ja mitte midagi põhilist, |
# ja veel üks lugu esitusmänguna ja teie ooterežiim |
# jada peamiseks jadaks. (Vähemalt kui soovite |
# teha täpselt seda, mida ma teen) |
# |
#Näiteks kui teie laul on Tiger Rag, peaksite seda tegema |
# esitusloendit "TigerRag", "TigerRagStandby" ja "Standby" |
# |
########################################################### |
# Esitusloendeid käivitada, kui see on vahemikus 6–11 |
NightSong1 = "TigerRagStandby" |
NightSong2 = "Hallelujah Standby" |
NightStandby = "Ooterežiim" |
# Esitusloendid, mida esitatakse päeva jooksul või pärast 11 |
Päevalaul1 = "Tiigrilapp" |
Päevalaul2 = "Halleluuja" |
DayStandby = "Ooterežiim" |
#Sisse- ja väljalülitusajad 24 tunni jooksul. Kui soovite minuteid, siis palju õnne |
OnHour = 17 |
Väljas Tund = 23 |
########################################################### |
# Skripti sisikond. # |
########################################################### |
# Hankige meie praegune olek (IDLE = 0, MÄNGIMINE = 1, peatus arukalt = 2) |
STATUS = $ (fpp -s | lõigatud -d ',' -f2) |
#Hankige jooksev esitusloend ja lõigake 7 täheks |
PLAYLIST = $ (fpp -s | lõigatud -d ',' -f4 | lõigatud -c1-7) |
#See on "mõlemad", kui see mängib laulu, ja "jada", kui see on ooterežiimis |
#kasutatakse, et teha kindlaks, kas ooterežiim töötab |
STANDBYSTRING = $ (fpp -s | lõigatud -d ',' -f5) |
#Esitusloendite nimede 7 esimest tähte võrdluseks |
#Ainult 7 tähte, nii et "Song1Standby" ja "Song1" on identsed |
#Okei, nii et tegelikult peaks see olema esimene x täht ja x peaks olema teie lühim laulu nimi |
Ooterežiimi esitusloend = $ (echo $ NightStandby | cut -c1-7) |
Song1Playlist = $ (echo $ NightSong1 | lõigatud -c1-7) |
Song2Playlist = $ (echo $ NightSong2 | lõigatud -c1-7) |
STARTITEM = "" |
#Hankige praegune tund sõjaajal |
CurrentHour = $ (kuupäev +"%H") |
#Printige mõne asja olek - "kaja" on enamikus keeltes nagu "print" |
#Kasulik testimiseks, kui erinevad asjad on õigesti kärbitud või arvutatud |
echo CurrentHour on $ CurrentHour |
echo Jooksev esitusloend on: $ PLAYLIST |
echo Song2Playlist on: $ Song2Playlist |
echo Staatus on: $ STATUS |
#Seadke öösel helitugevus 80%, muidu 100% |
#Nii et kui ma magan, pole see nii vali |
#if [$ CurrentHour -lt $ OffHour -a $ CurrentHour -ge 11]; siis |
# fpp -v 100 |
#muidu |
# fpp -v 80 |
#fi |
# Kontrollige, kas saime midagi sisukat |
kui [-z "$ {STATUS}"]; siis |
kaja "Viga oleku väärtusega"> & 2 |
väljapääs 1 |
fi |
# Tegutsege praeguse oleku järgi |
juhtum $ {STATUS} in |
# IDLE |
0) |
#Öö - mängige laulu 1 ooterežiimis |
kui [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; siis |
kaja Öölaulu mängimine1 |
fpp -c peatus |
fpp -p "$ {NightSong1}" $ {STARTITEM} |
#Päevane aeg või tõesti hilja - esitage lugu 1 ja lülitage seejärel tuled välja |
muidu |
echo Playing DaySong1 |
fpp -c peatus |
fpp -P "$ {DaySong1}" $ {STARTITEM} |
fi |
;; |
# TÄPSELT MÄNGIMINE või LÕPETAMINE (graatsiline juhtub, kui nuppu vajutatakse ajastatud esitusloendi lõppedes) |
1 | 2) |
#Ooterežiim töötab - see töötab, sest ooterežiim on minu ainus meediaväline jada |
kui ["$ STANDBYSTRING" == "jada"]; siis |
#Öö - mängige laulu 1 ooterežiimis |
kui [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; siis |
echo Öölaulu1 mängimine öiseks ajaks |
fpp -c peatus |
fpp -p "$ {Öölaul1}" |
#Päevane aeg või tõesti hilja - mängige üks kord tiigerlappi ja lülitage seejärel tuled välja |
muidu |
kaja PlayingDaySong1 mängimisest |
fpp -c peatus |
fpp -P "$ {DaySong1}" |
fi |
#Toetamaks rohkem lugusid, kopeerige see jaotis ja muutke "Song2Playlist" viimases jaotises lauluks#Playlist |
#Laul1 töötab |
elif ["$ PLAYLIST" == "$ Song1Playlist"]; siis |
#Öö - mängige Hallelujahi ooterežiimis |
kui [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; siis |
echo Playing HallelujahStigby tiigrist Rag töötab |
fpp -c peatus |
fpp -p "$ {Öölaul2}" |
#Päev või tõesti hilja - esitage üks kord laulu2 ja lülitage seejärel tuled välja |
muidu |
kaja Mängib Hallelujah kord Tiger Ragist |
fpp -c peatus |
fpp -P "$ {DaySong2}" |
fi |
#VIIMANE LAUL JOOKSEB - MÄNGI OOTEVALT |
elif ["$ PLAYLIST" == "$ Song2Playlist"]; siis |
#Öö - mängige ooterežiimi |
kui [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; siis |
kaja Ooterežiimi esitamine kordamisel |
fpp -c peatus |
fpp -p "$ {NightStandby}" |
#Päevane aeg või tõesti hilja - mängige ooterežiimi üks kord |
muidu |
echo Üks kord ooterežiimis mängimine |
fpp -c peatus |
fpp -P "$ {DayStandby}" |
fi |
muidu |
echo Millegipärast viimati teostatud viimane juhtum. |
fpp -c peatus |
fpp -P "$ {DaySong1}" |
fi |
;; |
esac |
vaata rawButtonSuperScript.sh, mille hostiks on GitHub ❤
5. samm: (valikuline) nupu esiplaat
Mul on Makerspace'i kaudu juurdepääs Clemsoni laserlõikurile, nii et visandasin kiiresti disaini, mida lõigata+söövitada. Keskel on auk minu nupu jaoks, sõnad ütlevad jõulupõhises kirjas “Push Me” ja nupu ümber lumehelves. Värvisin pihustiga mõne puidu valgeks ja katsin seejärel maalriteibiga (et laserlõikur ei kõrvetaks osi, mida ma ei taha söövitada). Fail, mida ma kasutasin, on manuses.
Soovitan:
Alustage STM32 arendamist Linuxis: 4 sammu
Alustage STM32 arendamist Linuxis: selles juhendis näitan teile, kui lihtne on alustada STM32 programmide arendamist Linuxis. Alustasin Linuxi kasutamist peamasinaga 2 aastat tagasi ja pole alt vedanud. Kõik töötab kiiremini ja paremini kui aknad. Muidugi on les
[HASS.IO] Alustage oma nutika kodu ehitamist ilma kodeerimiseta, vähem kui 100 dollari eest: 6 sammu
[HASS.IO] Alustage oma nutika kodu ehitamist ilma kodeerimiseta, hinnaga alla 100 dollari: viimasel ajal olen jama ajanud ja oma maja edukalt vähem "idiootseks" muutnud. Nii et ma jagan, kuidas teha nutikas kodusüsteem madala hinnasildiga, suure ühilduvusega, mis töötaks sujuvalt ja stabiilselt
Uuendage oma ruumi käivitamiseks Kerbal kosmoseprogrammi füüsilise vahepealse nupuga: 6 sammu
Uuendage oma ruumi käivitamist Kerbali kosmoseprogrammi füüsilise lavastusnupuga: hiljuti võtsin kätte Kerbali kosmoseprogrammi demoversiooni. Kerbali kosmoseprogramm on simulaatorimäng, mis võimaldab teil kavandada ja käivitada rakette ning navigeerida nende kaugetesse kuudesse ja planeetidele. Proovin endiselt edukalt Kuule maanduda (o
Alustage oma esimest projekti vaarikaga: vilkuv LED: 4 sammu
Alustage oma esimest projekti vaarikaga: vilkuv LED: Selles projektis näitan teile, kuidas programmeerida Raspberry Pi LED -i vilkuma. Kui olete peaaegu ostnud Raspberry pi ja te ei tea midagi, kust alustada, siis õpetus see sobib. Lisaks Raspberry Pi -le, kus töötab Raspbian, on
Siirdage oma klassikaline ühe nupuga Mac -hiir sisse: 5 sammu
Siirdage oma klassikaline ühe nupuga Mac -hiir sisse: kas olete tüdinenud uutest rumalatest hiirtest? väsinud oma klassikalisest ühe nupuga mac hiirest … pole midagi muud kui üks nupp? Näitan teile, kuidas siirdada odava hea tahtega hiire sisemus oma Mac -hiirele, et saavutada stiilide täiuslik tasakaal