İçindekiler:
- Adım 1: Parça Listesi
- Adım 2: Bağlantı Şeması
- 3. Adım: Falcon Pi Player Temel Kurulumu
- 4. Adım: Daha Güçlü Bir Komut Dosyası
- Adım 5: (İsteğe bağlı) Düğme için Ön Yüz
Video: Noel Işık Şovunuzu Bir Düğmeyle Başlatın: 5 Adım
2024 Yazar: John Day | [email protected]. Son düzenleme: 2024-01-30 13:19
Müzikle senkronize edilmiş bir Noel ışık gösterisi yürütürken, bir düğmeye basarak gösteriyi başlatmak isteyebilirsiniz. Bu eğitim, yalnızca bir Raspberry Pi üzerinde çalışan Falcon Pi Player (FPP) aracılığıyla kontrol edilen bir gösteri için geçerlidir. FPP kullanıyorsanız, muhtemelen Falcon denetleyicilerini ve gösterinizi sıralamak için xLights veya LightORama'yı kullanıyorsunuzdur. Bu kelimelerin hiçbiri sizin için bir şey ifade etmiyorsa, bu eğitim muhtemelen şu an için kafanızın biraz üzerindedir ve bu wiki'yi https://auschristmaslighting.com/wiki/ okuyarak ve aşağıdaki gibi bir Facebook grubuna katılarak başlamalısınız.
- xLights:
- Genel gelişmiş yılbaşı ışıkları:
- Falcon Pi Oyuncusu:
- Muhafaza/prop fikir paylaşımı:
- "Özellikle xLights veya LOR ile İlgili Değil":
- xLights Holiday Light satıcıları:
- Noel Kendin Yap:
Adım 1: Parça Listesi
Aşağıdaki öğelere ihtiyacınız olacak:
- Düğme. Bunu çevresinde bir LED halka ışıkla kullandım: [Amazon]
- Bir direnç. Tercihen 200Ω veya üzeri (LED düğmesini kullanıyorsanız bunlardan 2'si) Standart 1/4W veya 1/8W iyidir
- Bağlantı kablosu. Kullanmanız gereken gösterge, düğmenin Pi'nizden ne kadar uzakta olacağına bağlıdır. Pi'mden yaklaşık 10 metre uzakta 18awg tel kullandım ve kusursuz çalıştı
- Pi'nin GPIO pinlerine bir kablo bağlamanın bir yolu. Breakout devre tahtası ile bir şerit kablo kullanabilir veya benim yaptığım gibi sadece bazı dişi konektörler kullanabilirsiniz. Sadece 3 kabloya ihtiyacımız var - Toprak, 5V ve düğme için veri. [Amazon]
- (İsteğe bağlı) Kolay bakım için her iki uçta su geçirmez bir konektör. 3 pinli denizcilik sınıfı konektörler kullanıyorum: [Amazon]
- (İsteğe bağlı) Isıyla daralan uca konektörler [Amazon]
Adım 2: Bağlantı Şeması
Resimler, birlikte verilen LED'i olmayan bir düğme ve LED'li bir düğme için bir bağlantı şemasını göstermektedir. Bağlantı şemasını kurma şeklim, sadece 3 kablo ile bir düğmeyi ve ışığı (sürekli açık) çalıştırmanıza izin veriyor.
GPIO pini için pi üzerindeki GPIO pinlerinden herhangi birini seçin. +5V ve Gnd pinlerini de kullanın. Muhtemelen 3,3V pimi kullanmaktan kurtulabilirsiniz, ancak birkaç fitlik kablodaki voltaj düşüşü, sinyali güvenilmez hale getirebilir veya LED'i yakmak için yeterli olmayabilir.
NOT: 3 pimli konektör, LED halka ışıklı bir düğme için delmeniz gereken deliğe sığmaz. Bu nedenle, düğmeyi ön panelinize yerleştirdikten sonra konektörü takın.
3. Adım: Falcon Pi Player Temel Kurulumu
NOT - FPP sürekli olarak güncellenmektedir ve komut dosyası oluşturma desteklerini geliştirmeleri veya daha az programlama gerektiren varsayılan bir özellik olarak "başlatmak için basmalı düğmeyi" içermeleri tamamen mümkündür.
Başlangıçta her şeyi ayarlamak için yukarıdaki videoyu izledim.
Videoları sıkıcı ve yavaş buluyorum, işte bir özeti:
- Dosya yöneticisini kullanarak dizinizi fpp'ye aktarın
- İçinde dizi bulunan bir çalma listesi oluşturun. Sonraki adımlar için çalma listesi "playme" olarak adlandırılacaktır.
-
Boş bir not defteri dosyası açın ve aşağıdakini yazın:
- #!/bin/sh
- fpp -P beni oynat
- Bilgisayarınızda bir.sh dosyası olarak kaydedin
- FPP'deki dosya yöneticisine gidin ve komut dosyanızı yükleyin. " Komut Dosyaları " sekmesine gidin ve orada olduğundan emin olun
- Durum/Kontrol altında Etkinlikler'e gidin
- Yeni bir etkinlik oluşturun. Olay Kimliği 1/1, Olay adı ne olursa olsun, Etki Sırası YOK, Olay Komut Dosyası
- Giriş/Çıkış Kurulumu altına gidin ve GPIO tetikleyicilerini tıklayın
- Düğmenizin bağlı olduğu pimi değiştirin. Düğmeye bastığınızda düşük olacaksa, olayı Düşen seçeneğine, aktifse yüksekse olayı Yükselişe alın.
- Tüm değişiklikleri yaptıktan sonra çıkan uyarı ile Yeniden Başlat düğmesine tıklayın.
Tüm bunları yaptıktan sonra, şovunuzu başlatmak için düğmeye basabilmeniz gerekir. Woohoo!
Ancak bu yöntemin bazı sınırlamaları vardır. Çalma listesi devam ederken düğmeye tekrar basarsanız, 1) hiçbir şey yapmaz veya 2) FPP'yi çökertir ve siz yeniden başlatana kadar düğmenizle herhangi bir şey yapmayı reddeder. Bu nedenle, şovunuzu komutla oynamanın dramatik bir yolu olarak sadece bir düğme kullanıyorsanız, ihtiyacınız olan tek şey yukarıdaki yöntem olacaktır.
Daha fazlasına ihtiyacınız varsa, bir sonraki adıma geçin
4. Adım: Daha Güçlü Bir Komut Dosyası
Aşağıda sonunda ulaştığım senaryo var. Komut dosyasını Github'da buradan görüntüleyebilirsiniz: [Gist. Github]
- Birisi “gece” saatlerinde düğmeye basarsa Tiger Rag (benim Şarkım1) çalacak ve ardından sonsuz döngüye giren bekleme dizisine geçecektir.
- Tiger Rag çalarken düğmeye basılırsa, ikinci şarkım Hallelujah'ı başlatır ve ardından süresiz olarak bekleme dizisine gider.
- Ancak gündüz veya gece çok geç saatlerde biri düğmeye basarsa, Tiger Rag bir kez çalacak ve ardından tüm ışıkları kapatacaktır.
Bu, düğmenin günün herhangi bir saatinde çalışmasına izin verir, ancak ışıkların her zaman açık olması gerekmez. Ayrıca, o anda hangi şarkının çalmakta olduğunu belirleyerek, o şarkıyı sonlandırarak ve "sonraki" şarkıyı çalarak birden fazla şarkının 1 düğmeden çalınmasına izin verir.
FPP'de komut dosyası oluşturmak için daha fazla kaynağı burada bulabilirsiniz: https://github.com/FalconChristmas/fpp-scriptsDaha karmaşık mantık için, yapmaya çalıştığınız şeyin alt çizgi olduğu "bash script _" google'a gidin. FPP Shell (kullanıcı adı fpp password falcon) kullanarak scriptlerinizi test edebilirsiniz. Temel komutlar aşağıdaki gibidir.
Büyük harf kullanımına dikkat!!
- Capital -P bir oynatma listesini bir kez oynatır, küçük harf -p onu tekrar eder.
- fpp -v 66 Sesi %66 olarak ayarla
- fpp -c stop Gösteriyi hemen durdur
- fpp -C stop Bu, zarafetle gösteriyi durdurabilir
- fpp -p thisPlaylistName Bu PlaylistName'i tekrarlamada oynatır (böylece giriş şarkısı bir kez çalar, ardından Ana öğe süresiz olarak tekrarlanır.
- fpp -P thisPlaylistName BuPlaylistName'i bir kez oynatır
- eventScript "${MEDIADIR}/scripts/${thisScriptVariable}" Bir komut dosyası çalıştırır. Soldaki durumda, komut dosyası adınızı, thisScriptVariable=”PlayTheSong.sh” gibi yukarıda bir yerde bir değişkene kaydettiyseniz işe yarar.
ButtonSuperScript.sh
#!/bin/sh |
########################################################### |
#Düğmeye basılırsa çalıştırılacak. |
#Her şarkı için iki çalma listeniz olmalı - biri |
# "İlk çalma" olarak sadece şarkı ve ana bölümde hiçbir şey yok, |
# ve şarkı ilk çalma ve bekleme modundayken bir başkası |
# dizi "Ana" dizi olarak. (En azından istersen |
# tam olarak yaptığım şeyi yapmak için) |
# |
#Örneğin, şarkınız Tiger Rag ise, |
# çalma listesi "TigerRag", "TigerRagStandby" ve "Bekleme" |
# |
########################################################### |
# 6 ile 11 arasındaysa çalıştırılacak çalma listeleri |
NightSong1="TigerRagBekleme" |
NightSong2="HallelujahBekleme" |
GeceBekleme="Bekleme" |
# Gün içinde veya 11'den sonra çalıştırılacak çalma listeleri |
DaySong1="TigerRag" |
DaySong2="Halleluya" |
DayStandby="Bekleme" |
#24 saatlik zaman diliminde açma ve kapama süreleri. Dakika istiyorsanız, iyi şanslar |
AçıkSaat=17 |
OffHour=23 |
########################################################### |
# Senaryonun cesareti. # |
########################################################### |
# Mevcut durumumuzu alın (IDLE=0, PLAYING=1, Stopping Graceally=2) |
DURUM=$(fpp -s | kes -d', ' -f2) |
#Koşu çalma listesini al ve 7 harfe indir |
OYNATMA LİSTESİ=$(fpp -s | kes -d', ' -f4 | kes -c1-7) |
#Bu, bir şarkı çalıyorsa "her ikisi" ve bekleme modundaysa "sıra" olacaktır |
#Bekleme sırasının çalışıp çalışmadığını belirlemek için kullanılır |
STANDBYSTRING=$(fpp -s | kes -d', ' -f5) |
#Karşılaştırma için oynatma listelerinin adlarının ilk 7 harfi |
#"Song1Standby" ve "Song1" aynı olacak şekilde sadece 7 harf |
#Tamam yani aslında ilk x harf olmalı ve x sahip olduğun en kısa şarkı adı olmalı |
StandbyPlaylist=$(echo $NightStandby| cut -c1-7) |
Song1Playlist=$(echo $NightSong1| cut -c1-7) |
Song2Playlist=$(echo $NightSong2| cut -c1-7) |
BAŞLANGIÇ="" |
#Askeri zamanda geçerli saati al |
CurrentHour=$(tarih +"%H") |
#Bazı şeylerin durumunu yazdır - "eko" çoğu dilde "yazdır" gibidir |
#Çeşitli şeylerin doğru şekilde kırpılıp kırpılmadığını veya hesaplandığını test etmek için kullanışlıdır |
echo CurrentHour, $CurrentHour'dur |
echo Koşu oynatma listesi: $PLAYLIST |
echo Song2Playlist: $Song2Playlist |
yankı Durum: $STATUS |
#Sesi geceleri %80'e, aksi halde %100'e ayarla |
#Yani uyuyorsam o kadar gürültülü olmaz |
#if [$CurrentHour -lt $OffHour -a $CurrentHour -ge 11]; sonra |
# fpp -v 100 |
#Başka |
# fpp -v 80 |
#fi |
# Anlamlı bir şey olup olmadığını kontrol et |
eğer [-z"${STATUS}"];o zaman |
echo "Durum değeri hatası">&2 |
çıkış 1 |
fi |
# Mevcut duruma göre hareket et |
case${STATUS}içinde |
# BOŞTA |
0) |
#Gece zamanı - Song1'i bekleme modunda çal |
eğer [$CurrentHour-lt$OffHour-a$CurrentHour-ge$OnHour];o zaman |
yankı NightSong1 Çalıyor |
fpp -c durdurma |
fpp -p "${NightSong1}"${STARTITEM} |
#Gündüz veya çok geç - 1. şarkıyı bir kez çal ve sonra ışıkları kapat |
Başka |
echo DaySong1 Çalıyor |
fpp -c durdurma |
fpp -P "${DaySong1}"${STARTITEM} |
fi |
;; |
# ZARİF OLARAK OYNAMAK veya DURDURMAK (planlanmış bir çalma listesi sona ererken düğmeye basılırsa zarif olur) |
1 | 2) |
#Standby çalışıyor - bu çalışıyor çünkü bekleme benim medya dışı tek dizim |
eğer ["$STANDBYSTRING"=="sıra"];sonra |
#Gece zamanı - Song1'i bekleme modunda çal |
eğer [$CurrentHour-lt$OffHour-a$CurrentHour-ge$OnHour];o zaman |
echo NightSong1'i gece için çalma |
fpp -c durdurma |
fpp -p "${NightSong1}" |
#Gündüz veya gerçekten geç - bir kez kaplan paçavrası oynayın ve ardından ışıkları kapatın |
Başka |
çalmadan yankı PlayingDaySong1 |
fpp -c durdurma |
fpp -P "${DaySong1}" |
fi |
#Daha fazla şarkıyı desteklemek için bu bölümü kopyalayın ve son bölümdeki "Song2Playlist" öğesini Song#Playlist olarak değiştirin |
#Song1 çalışıyor |
elif ["$PLAYLIST"=="$Song1Playlist"];sonra |
#Gece zamanı - bekleme modunda Hallelujah oynayın |
eğer [$CurrentHour-lt$OffHour-a$CurrentHour-ge$OnHour];o zaman |
yankı Tiger Rag'dan HallelujahBekleme çalma çalışıyor |
fpp -c durdurma |
fpp -p "${NightSong2}" |
#Gündüz veya çok geç - Song2'yi bir kez çal ve sonra ışıkları kapat |
Başka |
echo Tiger Rag'dan bir kez Hallelujah oynamak çalışıyor |
fpp -c durdurma |
fpp -P "${DaySong2}" |
fi |
#SON ŞARKI ÇALIŞIYOR - BEKLEMEDE OYNA |
elif ["$PLAYLIST"=="$Song2Playlist"];sonra |
#Gece zamanı - döngüde bekleme modunda oyna |
eğer [$CurrentHour-lt$OffHour-a$CurrentHour-ge$OnHour];o zaman |
echo Tekrarda bekleme modunda çalma |
fpp -c durdurma |
fpp -p "${NightStandby}" |
#Gündüz veya gerçekten geç - bir kez bekleme modunda oynayın |
Başka |
echo Beklemede Bir Kez Oynama |
fpp -c durdurma |
fpp -P "${DayStandby}" |
fi |
Başka |
echo Bir nedenden ötürü, son başka durum yürütüldü. |
fpp -c durdurma |
fpp -P "${DaySong1}" |
fi |
;; |
esac |
GitHub tarafından ❤ ile barındırılan rawButtonSuperScript.sh dosyasını görüntüleyin
Adım 5: (İsteğe bağlı) Düğme için Ön Yüz
Makerspace aracılığıyla Clemson'da bir lazer kesiciye erişimim var, bu yüzden çabucak kesim+aşındırma için bir tasarım çizdim. Ortada düğmem için bir delik var, Noel yazı tipinde "Push Me" yazan kelimeler ve düğmenin etrafında bir kar tanesi var. Biraz ahşabı beyaza boyadım ve sonra maskeleme bandıyla kapladım (böylece lazer kesici, kazınmasını istemediğim parçaları yakmaz). Kullandığım dosya ektedir.
Önerilen:
Bir Dizüstü Bilgisayarı Yerleştirme İstasyonuna Bağlarken Otomatik Olarak Bir Programı Başlatın: 5 Adım
Bir Dizüstü Bilgisayarı Yerleştirme İstasyonuna Bağlarken Otomatik Olarak Bir Programı Başlatın: Bu talimat, dizüstü bilgisayarınızı bir yerleştirme istasyonuna bağladığınızda bir programın veya uygulamanın nasıl çalıştırılacağı hakkındadır. Bu örnekte Lenovo T480 Windows 10 kullanıyorum
Noel Ağacı Nefes Alma - Arduino Noel Işık Denetleyicisi: 4 Adım
Noel Ağacı Nefes Alma - Arduino Noel Işık Denetleyicisi: 9 fitlik önceden aydınlatılmış yapay Noel ağacımın kontrol kutusunun Noel'den önce kırılması iyi bir haber değil, ve üretici yedek parça sağlamıyor. Bu esrarengiz tablo, kendi LED ışık sürücünüzün ve denetleyicinizin Ar'ı nasıl kullanacağını gösterir
Tatil Resimleri Slayt Gösterinizi Sihirli Bir Dokunuşla Başlatın!: 9 Adım (Resimlerle)
Tatil Resimleri Slayt Gösterinizi Sihir Dokunuşuyla Başlatın !: Yıllar geçtikçe, seyahat ederken yanıma küçük bir heykelcik alma alışkanlığı kazandım: Genellikle küçük, boş bir artoy (resimdeki gibi) satın alır ve boyarım ziyaret ettiğim ülkenin bayrağına ve temasına uyması için (bu durumda Sicilya). T
Jeep Modifikasyonu - Bir Düğmeyle Hızlanma: 7 Adım
Jeep Modifikasyonu - Düğmeyle Hızlanma: SORUMLULUK REDDİ: Barstow Okulu ve FRC Ekibi 1939 veya herhangi bir üyesi, değişikliklerden kaynaklanan herhangi bir kişinin yaralanmasından veya araba dahil herhangi bir nesnenin zarar görmesinden sorumlu değildir. Her türlü değişiklik de garantiyi geçersiz kılacaktır
Bir Gerilla Arabası Başlatın (diğer adıyla MobMov): 6 Adım (Resimlerle)
Bir Gerilla Arabası Başlatın (diğer adıyla MobMov): Hiç MobMov.org adıyla bir açık hava tiyatrosu veya Santa Cruz Gerilla Arabası çalıştırmak istediniz mi? Bu talimat size hangi ekipmana ihtiyacınız olacağını ve nasıl kuracağınızı söyleyecektir. Cyberpunk şehir tiyatrosu, işte geliyoruz