Sisukord:

Alustage oma jõuluvalgusetendust nupuga: 5 sammu
Alustage oma jõuluvalgusetendust nupuga: 5 sammu

Video: Alustage oma jõuluvalgusetendust nupuga: 5 sammu

Video: Alustage oma jõuluvalgusetendust nupuga: 5 sammu
Video: Alustage oma jätkusuutlikkuse teekonda Schneider Electricu eMobility lahendustega 2024, Juuli
Anonim
Alustage oma jõuluvalgusetendust nupuga
Alustage oma jõuluvalgusetendust nupuga

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

Juhtmestiku skeem
Juhtmestiku skeem
Juhtmestiku skeem
Juhtmestiku skeem
Juhtmestiku skeem
Juhtmestiku skeem
Juhtmestiku skeem
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: