Inhaltsverzeichnis:
- Schritt 1: Teileliste
- Schritt 2: Schaltplan
- Schritt 3: Grundlegende Einrichtung des Falcon Pi Players
- Schritt 4: Ein robusteres Skript
- Schritt 5: (Optional) Faceplate für die Schaltfläche
Video: Starten Sie Ihre Weihnachtslichtshow mit einem Knopf - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Wenn Sie eine mit Musik synchronisierte Weihnachtslichtshow laufen lassen, möchten Sie die Show vielleicht durch Drücken einer Taste starten. Dieses Tutorial gilt nur für eine Show, die über den Falcon Pi Player (FPP) gesteuert wird, der auf einem Raspberry Pi ausgeführt wird. Wenn Sie FPP verwenden, verwenden Sie wahrscheinlich Falcon-Controller und verwenden xLights oder LightORama, um Ihre Show zu sequenzieren. Wenn Ihnen keines dieser Wörter etwas sagt, ist dieses Tutorial wahrscheinlich ein wenig über Ihren Kopf gegangen und Sie sollten damit beginnen, dieses Wiki https://auschristmaslighting.com/wiki/ zu lesen und einer Facebook-Gruppe wie unten beizutreten
- xLights:
- Allgemeine erweiterte Weihnachtsbeleuchtung:
- Falcon Pi-Player:
- Gehäuse/Requisiten-Ideenaustausch:
- "Nicht speziell xLights oder LOR Related":
- xLights Holiday Light Anbieter:
- Weihnachten selber machen:
Schritt 1: Teileliste
Sie benötigen die folgenden Artikel:
- Ein Knopf. Ich habe dieses mit einem LED-Ringlicht verwendet: [Amazon]
- Ein Widerstand. Vorzugsweise 200Ω oder mehr (2 davon, wenn Sie die LED-Taste verwenden) Standard 1/4W oder 1/8W ist in Ordnung
- Anschlusskabel. Welche Anzeige Sie verwenden sollten, hängt davon ab, wie weit die Taste von Ihrem Pi entfernt ist. Ich habe einen Draht von 18 AWG für etwa 3 Meter von meinem Pi verwendet und es funktionierte einwandfrei
- Eine Möglichkeit, ein Kabel an die GPIO-Pins des Pi anzuschließen. Sie können ein Flachbandkabel mit dem Breakout-Steckbrett verwenden, oder Sie können einfach einige Buchsen verwenden, wie ich es getan habe. Wir brauchen nur 3 Drähte - Masse, 5V und Daten für die Taste. [Amazonas]
- (Optional) Ein wasserdichter Stecker an jedem Ende für eine einfache Wartung. Ich verwende 3-polige marinetaugliche Anschlüsse: [Amazon]
- (Optional) Wärmeschrumpfende Stoßverbinder [Amazon]
Schritt 2: Schaltplan
Die Bilder zeigen einen Schaltplan für einen Taster ohne mitgelieferte LED und einen Taster mit LED. Die Art und Weise, wie ich den Schaltplan eingerichtet habe, ermöglicht es Ihnen, mit nur 3 Drähten eine Taste und ein Licht (kontinuierlich an) zu betreiben.
Wählen Sie für den GPIO-Pin einen der GPIO-Pins auf dem Pi aus. Verwenden Sie auch die +5V- und Gnd-Pins. Sie könnten wahrscheinlich mit der Verwendung des 3,3-V-Pins davonkommen, aber der Spannungsabfall über mehrere Meter Kabel kann das Signal unzuverlässig machen oder nicht ausreichen, um die LED zum Leuchten zu bringen.
HINWEIS: Der 3-polige Stecker passt nicht durch das Loch, das Sie für einen Knopf mit dem LED-Ringlicht bohren müssen. Bringen Sie also den Stecker an, nachdem Sie den Knopf in Ihre Frontplatte gesteckt haben.
Schritt 3: Grundlegende Einrichtung des Falcon Pi Players
ANMERKUNG - FPP wird ständig aktualisiert, und es ist durchaus möglich, dass sie ihre Skriptunterstützung verbessern oder "Drucktaste zum Starten" als Standardfunktion enthalten, die weniger Programmieraufwand erfordert.
Ich habe das obige Video befolgt, um zunächst alles einzurichten.
Ich finde Videos langweilig und langsam, daher hier eine Zusammenfassung:
- Importieren Sie Ihre Sequenz mit dem Dateimanager in fpp
- Erstellen Sie eine Wiedergabeliste mit der Sequenz darin. Für die nächsten Schritte wird die Playlist "playme" heißen
-
Öffnen Sie eine leere Notizblockdatei und geben Sie Folgendes ein:
- #!/bin/sh
- fpp -P playme
- Speichern Sie es als.sh-Datei auf Ihrem Computer
- Gehen Sie in FPP zum Dateimanager und laden Sie Ihre Skriptdatei hoch. Gehen Sie zur Registerkarte "Skripte" und stellen Sie sicher, dass sie dort ist
- Gehen Sie unter Status/Steuerung zu Ereignisse
- Erstellen Sie ein neues Ereignis. Ereignis-ID 1/1, Ereignisname wie auch immer, Effektsequenz KEINE, Ereignisskript
- Gehen Sie zu Input/Output Setup und klicken Sie auf GPIO-Trigger
- Schalte den Pin um, mit dem dein Button verbunden ist. Wenn es beim Drücken der Taste niedrig wird, setzen Sie das Ereignis auf die fallende Option, wenn es aktiv hoch ist, stellen Sie das Ereignis auf steigend.
- Klicken Sie auf die Schaltfläche Neustart, wenn die Warnung angezeigt wird, nachdem Sie alle Änderungen vorgenommen haben
Nachdem Sie all dies getan haben, sollten Sie in der Lage sein, den Knopf zu drücken, um Ihre Show zu starten. Huhu!
Diese Methode hat jedoch einige Einschränkungen. Wenn Sie die Taste erneut drücken, während die Wiedergabeliste läuft, wird entweder 1) nichts ausgeführt oder 2) FPP zum Absturz gebracht und weigert sich, etwas mit Ihrer Taste zu tun, bis Sie sie neu starten. Wenn Sie also nur eine Schaltfläche als dramatische Möglichkeit verwenden, Ihre Show auf Befehl abzuspielen, ist die obige Methode alles, was Sie brauchen.
Wenn Sie mehr benötigen, fahren Sie mit dem nächsten Schritt fort
Schritt 4: Ein robusteres Skript
Unten ist das Skript, zu dem ich schließlich gelangt bin. Sie können das Skript auf Github hier anzeigen: [Gist. Github]
- Wenn jemand während der „Nacht“-Stunden die Taste drückt, wird Tiger Rag (mein Song1) abgespielt und dann zur Standby-Sequenz gewechselt, die endlos wiederholt wird.
- Wenn die Taste gedrückt wird, während Tiger Rag spielt, beginnt mein zweites Lied, Hallelujah, und geht dann auf unbestimmte Zeit in die Standby-Sequenz.
- Aber wenn jemand tagsüber oder sehr spät in der Nacht den Knopf drückt, wird Tiger Rag einmal gespielt und dann alle Lichter ausgeschaltet.
Dadurch kann die Taste zu jeder Tageszeit funktionieren, aber die Lichter müssen nicht ständig eingeschaltet sein. Es ermöglicht auch das Abspielen mehrerer Lieder mit einer Taste, indem identifiziert wird, welches Lied gerade abgespielt wird, dieses Lied beendet und das "nächste" Lied abgespielt wird.
Weitere Ressourcen für die Skripterstellung in FPP finden Sie hier: https://github.com/FalconChristmas/fpp-scriptsFür kompliziertere Logik googeln Sie einfach "bash script _", wobei Unterstrich das ist, was Sie versuchen. Sie können Ihre Skripte mit der FPP-Shell testen (Benutzername fpp Kennwort falcon) Die grundlegenden Befehle lauten wie folgt.
Groß-/Kleinschreibung beachten!!
- Capital -P spielt eine Playlist einmal ab, Kleinbuchstaben -p wiederholt sie.
- fpp -v 66 Lautstärke auf 66 % setzen
- fpp -c stop Beende die Show sofort
- fpp -C stop Dies könnte sein, die Show anmutig zu stoppen
- fpp -p thisPlaylistName Spielt thisPlaylistName bei Wiederholung (also das Intro-Song wird einmal abgespielt, dann wird das Main-Zeug auf unbestimmte Zeit wiederholt.
- fpp -P thisPlaylistName Spielt diesenPlaylistName einmal ab
- eventScript "${MEDIADIR}/scripts/${thisScriptVariable}" Führt ein Skript aus. Im linken Fall funktioniert es, wenn Sie Ihren Skriptnamen irgendwo oben in einer Variablen gespeichert haben, wie thisScriptVariable=“PlayTheSong.sh“
ButtonSuperScript.sh
#!/bin/sh |
########################################################### |
#Auszuführen, wenn die Taste gedrückt wird. |
#Du solltest für jeden Song zwei Playlists haben – eine mit |
# nur das Lied als "Erstes Spiel" und nichts im Hauptteil, |
# und ein weiteres mit dem Lied als erstes Spiel und deinem Standby |
#-Sequenz als "Main"-Sequenz. (Zumindest wenn du willst |
# um genau das zu tun, was ich tue) |
# |
#Wenn dein Song zum Beispiel Tiger Rag ist, solltest du |
# Wiedergabelisten "TigerRag", "TigerRagStandby" und "Standby" |
# |
########################################################### |
# Wiedergabelisten, die ausgeführt werden sollen, wenn sie zwischen 6 und 11. liegen |
NightSong1="TigerRagStandby" |
NightSong2="HallelujahStandby" |
NachtStandby="Standby" |
# Playlists, die tagsüber oder nach 11. laufen sollen |
DaySong1="TigerRag" |
DaySong2="Halleluja" |
DayStandby="Standby" |
#Ein- und Ausschaltzeiten im 24-Stunden-Format. Wenn du Minuten willst, viel Glück |
OnHour=17 |
AusStunde=23 |
########################################################### |
# Mut zum Skript. # |
########################################################### |
# Holen Sie sich unseren aktuellen Status (IDLE=0, PLAYING=1, Stopping Gracefully=2) |
STATUS=$(fpp -s | cut -d', ' -f2) |
#Hol dir die laufende Playlist und kürze sie auf 7 Buchstaben |
PLAYLIST=$(fpp -s | Schnitt -d', ' -f4 | Schnitt -c1-7) |
#Dies ist "beide", wenn ein Lied abgespielt wird, und "Sequenz", wenn es im Standby-Modus ist |
#verwendet, um festzustellen, ob die Standby-Sequenz ausgeführt wird |
STANDBYSTRING=$(fpp -s | cut -d', ' -f5) |
#Erste 7 Buchstaben der Namen von Playlists zum Vergleich |
#Nur 7 Buchstaben, damit "Song1Standby" und "Song1" identisch sind |
#Okay, eigentlich sollten es die ersten x Buchstaben sein und x sollte der kürzeste Songname sein, den du hast |
StandbyPlaylist=$(echo $NightStandby| Cut -c1-7) |
Song1Playlist=$(echo $NightSong1| Cut -c1-7) |
Song2Playlist=$(echo $NightSong2| Cut -c1-7) |
STARTITEM="" |
#Erhalte die aktuelle Stunde in Militärzeit |
Aktuelle Stunde=$(Datum +"%H") |
#Drucke den Status einiger Dinge - "echo" ist in den meisten Sprachen wie "print" |
#Nützlich, um zu testen, ob verschiedene Dinge richtig getrimmt oder berechnet wurden |
echo CurrentHour ist $CurrentHour |
echo Laufende Wiedergabeliste ist: $PLAYLIST |
echo Song2Playlist ist: $Song2Playlist |
Echo-Status ist: $STATUS |
#Stelle die Lautstärke nachts auf 80%, sonst 100% |
#Damit es nicht so laut ist, wenn ich schlafe |
#if [$CurrentHour -lt $OffHour -a $CurrentHour -ge 11]; dann |
# fpp -v 100 |
#anders |
# fpp -v 80 |
#fi |
# Überprüfen Sie, ob wir etwas Sinnvolles haben |
if [-z"${STATUS}"];dann |
echo"Fehler mit Statuswert">&2 |
Ausgang 1 |
fi |
# Handeln Sie nach dem aktuellen Status |
Fall${STATUS}in |
# LEERLAUF |
0) |
#Nachtzeit - Song1 mit Standby spielen |
if [$CurrentHour-lt$OffHour-a$CurrentHour-ge$OnHour];then |
echo Playing NightSong1 |
fpp -c stop |
fpp -p "${NightSong1}"${STARTITEM} |
#Tageszeit oder wirklich spät - spiel einmal Song 1 und schalte dann das Licht aus |
anders |
echo Playing DaySong1 |
fpp -c stop |
fpp -P "${DaySong1}"${STARTITEM} |
fi |
;; |
# WIEDERGABE oder STOPPING GRACEFULLY (anmutig geschieht, wenn die Taste gedrückt wird, wenn eine geplante Playlist endet) |
1 | 2) |
#Standby läuft - das funktioniert, weil Standby meine einzige Nicht-Mediensequenz ist |
if ["$STANDBYSTRING"=="Sequenz"];dann |
#Nachtzeit - Song1 mit Standby spielen |
if [$CurrentHour-lt$OffHour-a$CurrentHour-ge$OnHour];then |
echo Playing NightSong1 für die Nacht |
fpp -c stop |
fpp -p "${NightSong1}" |
#Tageszeit oder wirklich spät - spiele einmal Tigertuch und schalte dann das Licht aus |
anders |
echo PlayingDaySong1 vom Abspielen |
fpp -c stop |
fpp -P "${DaySong1}" |
fi |
#Um mehr Songs zu unterstützen, kopiere diesen Abschnitt und ändere "Song2Playlist" im letzten Abschnitt in Song#Playlist |
#Song1 läuft |
elif ["$PLAYLIST"=="$Song1Playlist"];dann |
#Nachtzeit - Halleluja mit Standby spielen |
if [$CurrentHour-lt$OffHour-a$CurrentHour-ge$OnHour];then |
echo Playing HallelujahStandby von Tiger Rag läuft |
fpp -c stop |
fpp -p "${NightSong2}" |
#Tageszeit oder wirklich spät - spiel Song2 einmal und schalte dann das Licht aus |
anders |
echo Einmal Halleluja von Tiger Rag zu spielen läuft |
fpp -c stop |
fpp -P "${DaySong2}" |
fi |
#LAST SONG LÄUFT - STANDBY SPIELEN |
elif ["$PLAYLIST"=="$Song2Playlist"];dann |
#Nachtzeit - Standby auf Schleife spielen |
if [$CurrentHour-lt$OffHour-a$CurrentHour-ge$OnHour];then |
echo Wiedergabe im Standby bei Wiederholung |
fpp -c stop |
fpp -p "${NightStandby}" |
#Tageszeit oder wirklich spät - einmal Standby spielen |
anders |
echo Einmal Standby abspielen |
fpp -c stop |
fpp -P "${DayStandby}" |
fi |
anders |
echo Aus irgendeinem Grund wurde der letzte elsecase ausgeführt. |
fpp -c stop |
fpp -P "${DaySong1}" |
fi |
;; |
esac |
rawButtonSuperScript.sh anzeigen, gehostet mit ❤ von GitHub
Schritt 5: (Optional) Faceplate für die Schaltfläche
Ich habe über den Makerspace Zugang zu einem Laserschneider bei Clemson, also habe ich schnell ein Design zum Schneiden + Ätzen entworfen. Es gibt ein Loch in der Mitte für meinen Knopf, die Wörter sagen "Push Me" in einer Weihnachtsschrift und eine Schneeflocke um den Knopf. Ich habe etwas Holz weiß lackiert und dann mit Abdeckband bedeckt (damit der Laserschneider keine Teile versengt, die ich nicht geätzt haben möchte). Die von mir verwendete Datei ist angehängt.
Empfohlen:
So ändern Sie Ihre Stimme mit einem einfachen Modul – wikiHow
So ändern Sie Ihre Stimme mit einem einfachen Modul: Mit einem Stimmwechsler-Modul können Sie Ihre Stimme in einen Bariton oder Bass verwandeln. Außerdem kann es Ihre Stimme in eine lustige Kinderstimme verwandeln. Es kann die Echtzeitausgabe vollständig realisieren. Sie können es verwenden, um an Halloween eine Maske zu machen oder eine interessante Stimme
Speichern Sie Ihre Bilder für Ihre Aufgabe: 4 Schritte (mit Bildern)
Speichern Ihrer Bilder für Ihre Aufgabe: 1. Öffnen Sie ein neues Google-Dokument und verwenden Sie diese Seite, um Ihre Bilder zu sichern.2. Verwenden Sie Strg (Steuerung) und die Taste "c" Schlüssel zum Kopieren.3. Verwenden Sie Strg (Steuerung) und die Taste "v" Schlüssel zum Einfügen
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Hinzugefügte Informationen: 4 Schritte
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen … Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Zusätzliche Informationen: Wenn Sie jemals auf eine Website gehen und ein Lied abspielen, das Sie mögen und es wollen, dann ist hier das anweisbare für Sie, nicht meine Schuld, wenn Sie etwas durcheinander bringen (nur so wird es passieren, wenn Sie ohne Grund anfangen, Dinge zu löschen) ) Ich konnte Musik für
So starten Sie Ihr eigenes Graffiti-Forschungslabor: 6 Schritte (mit Bildern)
So starten Sie Ihr eigenes Graffiti-Forschungslabor: Es ist einfach, Ihr eigenes gefälschtes Labor zu gründen, aber wir werden versuchen, es in diesen sechs pompösen Schritten schwierig erscheinen zu lassen
So reparieren Sie einen Wechselrichter mit LCD-Hintergrundbeleuchtung. Mit einem Fujiplus FP-988D. für 0 $.: 9 Schritte
So reparieren Sie einen Wechselrichter mit LCD-Hintergrundbeleuchtung. Mit einem Fujiplus FP-988D. für $ 0.: In diesem anweisbaren werde ich Sie durch die Reparatur eines toten LCD-Hintergrundlicht-Wechselrichters mit den Teilen führen, die Sie haben. Sie können feststellen, ob Sie ein totes Gegenlicht haben, indem Sie zuerst andere Möglichkeiten ausschließen. Monitor auf mehreren Computern überprüfen. Stellen Sie sicher, dass