Daftar Isi:
- Langkah 1: Daftar Bagian
- Langkah 2: Diagram Pengkabelan
- Langkah 3: Pengaturan Dasar Falcon Pi Player
- Langkah 4: Skrip yang Lebih Kuat
- Langkah 5: (Opsional) Faceplate untuk Tombol
Video: Mulai Pertunjukan Cahaya Natal Anda Dengan Tombol: 5 Langkah
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:56
Saat menjalankan pertunjukan lampu Natal yang disinkronkan dengan musik, Anda mungkin ingin memulai pertunjukan dengan menekan sebuah tombol. Tutorial ini hanya berlaku untuk acara yang dikendalikan melalui Falcon Pi Player (FPP) yang berjalan di Raspberry Pi. Jika Anda menjalankan FPP maka Anda mungkin menggunakan pengontrol Falcon dan menggunakan xLights atau LightORama untuk mengurutkan acara Anda. Jika tidak ada kata-kata itu yang berarti bagi Anda, tutorial ini mungkin sedikit berlebihan untuk saat ini dan Anda harus mulai dengan membaca wiki ini https://auschristmaslighting.com/wiki/ dan bergabung dengan grup Facebook seperti di bawah ini
- xLights:
- Lampu natal tingkat lanjut umum:
- Falcon Pi Player:
- Berbagi ide lampiran/prop:
- "Tidak secara khusus xLights atau Terkait LOR":
- Vendor xLights Holiday Light:
- Lakukan Sendiri Natal:
Langkah 1: Daftar Bagian
Anda akan membutuhkan barang-barang berikut:
- Sebuah tombol. Saya menggunakan yang ini dengan lampu cincin LED di sekitarnya: [Amazon]
- Sebuah resistor. Lebih disukai 200Ω atau lebih besar (2 di antaranya jika Anda menggunakan tombol LED) Standar 1/4W atau 1/8W baik-baik saja
- Kabel konektor. Pengukur yang harus Anda gunakan bergantung pada seberapa jauh jarak tombol dari Pi Anda. Saya menggunakan kawat 18awg sekitar 10 kaki dari Pi saya dan itu bekerja dengan sempurna
- Cara menghubungkan kabel ke pin GPIO Pi. Anda dapat menggunakan kabel pita dengan papan tempat memotong roti breakout, atau Anda dapat menggunakan beberapa konektor perempuan seperti yang saya lakukan. Kami hanya membutuhkan 3 kabel - Ground, 5V, dan data untuk tombol. [Amazon]
- (Opsional) Konektor tahan air di setiap ujungnya untuk perawatan yang mudah. Saya menggunakan konektor kelas laut 3-pin: [Amazon]
- (Opsional) Konektor butt heat shrink [Amazon]
Langkah 2: Diagram Pengkabelan
Gambar menunjukkan diagram pengkabelan untuk tombol tanpa LED yang disertakan, dan tombol dengan LED. Cara saya mengatur diagram pengkabelan memungkinkan Anda menjalankan tombol dan lampu (terus menyala) hanya dengan 3 kabel.
Untuk pin GPIO, pilih salah satu pin GPIO pada pi. Gunakan pin +5V dan Gnd juga. Anda mungkin bisa lolos dengan menggunakan pin 3.3V, tetapi penurunan tegangan pada beberapa kaki kabel mungkin membuat sinyal tidak dapat diandalkan atau tidak cukup untuk menyalakan LED.
CATATAN: Konektor 3-pin tidak akan masuk melalui lubang yang Anda perlukan untuk mengebor tombol dengan lampu cincin LED. Jadi pasang konektor setelah meletakkan tombol di pelat muka Anda.
Langkah 3: Pengaturan Dasar Falcon Pi Player
CATATAN - FPP terus diperbarui, dan sangat mungkin bahwa mereka akan meningkatkan dukungan skrip mereka atau bahwa mereka akan menyertakan "tombol tekan untuk memulai" sebagai fitur default yang memerlukan lebih sedikit pemrograman.
Saya mengikuti video di atas untuk awalnya menyiapkan semuanya.
Saya merasa video membosankan dan lambat, jadi inilah ringkasannya:
- Impor urutan Anda ke fpp menggunakan pengelola file
- Buat daftar putar dengan urutan di dalamnya. Untuk langkah selanjutnya daftar putar akan disebut "playme"
-
Buka file notepad kosong dan ketik berikut ini:
- #!/bin/sh
- fpp -P playme
- Simpan sebagai file.sh di komputer Anda
- Buka pengelola file di FPP dan unggah file skrip Anda. Buka tab " Script " dan pastikan itu ada
- Di bawah Status/Kontrol, buka Acara
- Buat acara baru. ID Acara 1/1, Nama acara apa pun, Urutan Efek NONE, Skrip Acara
- Buka Pengaturan Input/Output dan klik pemicu GPIO
- Alihkan pin yang dilampirkan tombol Anda. Jika akan menjadi rendah saat Anda menekan tombol maka letakkan acara pada opsi Jatuh, jika aktif tinggi maka letakkan acara di Naik.
- Klik tombol Reboot dengan peringatan yang muncul setelah Anda melakukan semua perubahan
Setelah melakukan semua ini, Anda seharusnya dapat menekan tombol untuk memulai pertunjukan Anda. Woo hoo!
Namun, metode ini memiliki beberapa keterbatasan. Jika Anda menekan tombol lagi saat daftar putar diputar, itu 1) tidak akan melakukan apa-apa atau 2) akan membuat FPP mogok dan menolak melakukan apa pun dengan tombol Anda sampai Anda mem-boot ulangnya. Jadi, jika Anda hanya menggunakan tombol sebagai cara dramatis untuk memainkan pertunjukan sesuai perintah, hanya metode di atas yang Anda butuhkan.
Jika Anda membutuhkan sesuatu yang lebih, lanjutkan ke langkah berikutnya
Langkah 4: Skrip yang Lebih Kuat
Di bawah ini adalah skrip yang akhirnya saya dapatkan. Anda dapat melihat skrip di Github di sini: [Gist. Github]
- Jika seseorang menekan tombol selama jam "malam" itu akan memainkan Tiger Rag (Lagu saya1) dan kemudian pergi ke urutan siaga yang berulang tanpa batas.
- Jika tombol ditekan saat Tiger Rag diputar maka lagu kedua saya, Haleluya, akan dimulai, dan kemudian akan masuk ke urutan siaga tanpa batas.
- Tetapi jika seseorang menekan tombol pada siang hari atau larut malam, ia akan memainkan Tiger Rag sekali dan kemudian mematikan semua lampu.
Ini memungkinkan tombol untuk bekerja kapan saja sepanjang hari tetapi lampu tidak harus menyala sepanjang waktu. Ini juga memungkinkan beberapa lagu diputar dari 1 tombol dengan mengidentifikasi lagu mana yang sedang diputar, mengakhiri lagu itu, dan memainkan lagu "berikutnya".
Anda dapat menemukan lebih banyak sumber daya untuk skrip di FPP di sini: https://github.com/FalconChristmas/fpp-scriptsUntuk logika yang lebih rumit, cukup google "skrip bash _" di mana garis bawah adalah apa yang Anda coba lakukan. Anda dapat menguji skrip Anda menggunakan FPP Shell (nama pengguna kata sandi fpp falcon) Perintah dasarnya adalah sebagai berikut.
Perhatikan huruf kapital!!
- Kapital -P akan memutar daftar putar sekali, huruf kecil -p akan mengulanginya.
- fpp -v 66 Setel volume ke 66%
- fpp -c stop Hentikan pertunjukan segera
- fpp -C stop Ini mungkin stop show dengan anggun
- fpp -p thisPlaylistName Memutar NamaPlaylist ini secara berulang (jadi lagu intro diputar satu kali, maka hal Utama akan diulang tanpa batas waktu.
- fpp -P thisPlaylistName Memutar NamaPlaylist ini sekali
- eventScript "${MEDIADIR}/scripts/${thisScriptVariable}" Menjalankan skrip. Dalam kasus di sebelah kiri ini berfungsi jika Anda memiliki nama skrip yang disimpan ke dalam variabel di suatu tempat di atas, seperti thisScriptVariable="PlayTheSong.sh"
ButtonSuperScript.sh
#!/bin/sh |
########################################################### |
#Dijalankan jika tombol ditekan. |
#Anda harus memiliki dua daftar putar untuk setiap lagu - satu dengan |
# hanya lagu sebagai "Permainan pertama" dan tidak ada yang utama, |
# dan lainnya dengan lagu sebagai pemutaran pertama dan siaga Anda |
# urutan sebagai urutan "Utama". (Setidaknya jika Anda mau |
# untuk melakukan hal yang persis seperti yang saya lakukan) |
# |
#Misalnya, jika lagu Anda Tiger Rag, Anda harus memiliki |
# daftar putar "TigerRag", "TigerRagStandby", dan "Standby" |
# |
########################################################### |
# Daftar putar untuk dijalankan jika antara 6 dan 11 |
NightSong1="TigerRagStandby" |
NightSong2="HaleluyaStandby" |
MalamSiaga = "Siaga" |
# Daftar putar untuk dijalankan pada siang hari atau setelah 11 |
DaySong1="TigerRag" |
DaySong2="Haleluya" |
HariSiaga = "Siaga" |
# Waktu hidup dan mati dalam waktu 24 jam. Jika Anda ingin menit, semoga berhasil |
Pada Jam = 17 |
OffHour=23 |
########################################################### |
# Nyali skrip. # |
########################################################### |
# Dapatkan status kami saat ini (IDLE=0, BERMAIN=1, Berhenti dengan Anggun=2) |
STATUS=$(fpp -s | potong -d', ' -f2) |
#Dapatkan daftar putar yang sedang berjalan dan potong menjadi 7 huruf |
DAFTAR PUTAR=$(fpp -s | potong -d', ' -f4 | potong -c1-7) |
#Ini akan menjadi "keduanya" jika sedang memainkan lagu, dan "berurutan" jika sedang standby |
#digunakan untuk menentukan apakah urutan Standby sedang berjalan |
STANDBYSTRING=$(fpp -s | cut -d', ' -f5) |
#7 huruf pertama dari nama daftar putar untuk perbandingan |
#Hanya 7 huruf sehingga "Song1Standby" dan "Song1" identik |
#Oke jadi sebenarnya itu harus x huruf pertama dan x harus menjadi nama lagu terpendek yang Anda miliki |
StandbyPlaylist=$(echo $NightStandby| cut -c1-7) |
Song1Playlist=$(echo $NightSong1| cut -c1-7) |
Song2Playlist=$(echo $NightSong2| cut -c1-7) |
MULAI BARANG="" |
#Dapatkan jam saat ini dalam waktu militer |
Jam Saat Ini=$(tanggal +"%H") |
#Cetak status beberapa hal - "gema" seperti "cetak" di sebagian besar bahasa |
#Berguna untuk menguji apakah berbagai hal dipangkas atau dihitung dengan benar |
echo CurrentHour adalah $CurrentHour |
echo Daftar putar lari adalah: $PLAYLIST |
echo Song2Playlist adalah: $Song2Playlist |
echo Statusnya adalah: $STATUS |
#Atur volume menjadi 80% di malam hari, 100% sebaliknya |
#Agar kalau lagi tidur tidak sekeras itu |
#if [$CurrentHour -lt $OffHour -a $CurrentHour -ge 11]; kemudian |
#fpp -v 100 |
#lain |
#fpp -v 80 |
#fi |
# Periksa apakah kita mendapatkan sesuatu yang berarti |
jika [-z"${STATUS}"];maka |
echo"Kesalahan dengan nilai status">&2 |
keluar 1 |
fi |
# Bertindak berdasarkan status saat ini |
kasus${STATUS}dalam |
# MENGANGGUR |
0) |
#Waktu malam - mainkan Lagu1 dengan standby |
if [$CurrentHour-lt$OffHour-a$CurrentHour-ge$OnHour];maka |
echo Memutar Lagu Malam1 |
fpp -c berhenti |
fpp -p "${NightSong1}"${STARTITEM} |
#Waktu siang atau sangat larut - putar lagu 1 sekali lalu matikan lampu |
lain |
echo Memutar DaySong1 |
fpp -c berhenti |
fpp -P "${DaySong1}"${STARTITEM} |
fi |
;; |
# BERMAIN atau BERHENTI DENGAN RAHMAT (anggun terjadi jika tombol ditekan ketika daftar putar yang dijadwalkan berakhir) |
1 | 2) |
#Standby sedang berjalan - ini berfungsi karena standby adalah satu-satunya urutan non-media saya |
if ["$STANDBYSTRING"=="urutan"];maka |
#Waktu malam - mainkan Lagu1 dengan standby |
if [$CurrentHour-lt$OffHour-a$CurrentHour-ge$OnHour];maka |
echo Memutar NightSong1 untuk waktu malam |
fpp -c berhenti |
fpp -p "${NightSong1}" |
#Siang hari atau sangat larut - mainkan kain harimau sekali lalu matikan lampu |
lain |
echo PlayingDaySong1 dari bermain |
fpp -c berhenti |
fpp -P "${DaySong1}" |
fi |
#Untuk mendukung lebih banyak lagu, salin bagian ini dan ubah "Song2Playlist" di bagian terakhir menjadi Lagu#Playlist |
#Lagu1 sedang berjalan |
elif ["$PLAYLIST"=="$Song1Playlist"];lalu |
#Waktu malam - mainkan Hallelujah dengan standby |
if [$CurrentHour-lt$OffHour-a$CurrentHour-ge$OnHour];maka |
echo Bermain HallelujahStandby dari Tiger Rag sedang berjalan |
fpp -c berhenti |
fpp -p "${NightSong2}" |
#Waktu siang atau sangat larut - mainkan Lagu2 sekali lalu matikan lampu |
lain |
echo Bermain Hallelujah sekali dari Tiger Rag sedang berjalan |
fpp -c berhenti |
fpp -P "${DaySong2}" |
fi |
#LAGU TERAKHIR BERJALAN - MAINKAN STANDBY |
elif ["$PLAYLIST"=="$Song2Playlist"];lalu |
#Waktu malam - mainkan standby secara berulang |
if [$CurrentHour-lt$OffHour-a$CurrentHour-ge$OnHour];maka |
echo Memainkan standby berulang-ulang |
fpp -c berhenti |
fpp -p "${Siaga Malam}" |
#Waktu siang atau sangat larut - mainkan standby sekali |
lain |
echo Bermain Siaga Sekali |
fpp -c berhenti |
fpp -P "${Siaga Hari}" |
fi |
lain |
echo Untuk beberapa alasan, elsecase terakhir dieksekusi. |
fpp -c berhenti |
fpp -P "${DaySong1}" |
fi |
;; |
esac |
lihat rawButtonSuperScript.sh dihosting dengan ❤ oleh GitHub
Langkah 5: (Opsional) Faceplate untuk Tombol
Saya memiliki akses ke pemotong laser di Clemson melalui Makerspace, jadi saya segera membuat sketsa desain untuk dipotong+digores. Ada lubang di tengah untuk tombol saya, kata-kata mengatakan "Dorong Aku" dalam font Natal, dan kepingan salju di sekitar tombol. Saya menyemprotkan cat kayu putih dan kemudian menutupinya dengan selotip (agar pemotong laser tidak menghanguskan bagian yang tidak ingin saya gores). File yang saya gunakan terlampir.
Direkomendasikan:
Pertunjukan Cahaya Natal yang Disinkronkan dengan Musik!: 4 Langkah
Pertunjukan Cahaya Natal yang Disinkronkan dengan Musik!: Dalam instruksi ini, saya akan menunjukkan kepada Anda bagaimana membuat pertunjukan cahaya Natal disinkronkan dengan musik Natal menggunakan piksel RGB. Jangan biarkan nama itu membuat Anda takut! Tidak terlalu sulit untuk mempelajari cara melakukannya. Saya akan memperingatkan Anda bahwa ini bisa sangat
Motor DC Mulai, Kecepatan, dan Arah Halus Menggunakan Potensiometer, Tampilan & Tombol OLED: 6 Langkah
Motor DC Start, Kecepatan, dan Arah Halus Menggunakan Potensiometer, Tampilan & Tombol OLED: Dalam tutorial ini kita akan mempelajari cara menggunakan driver KONTROL MOTOR DC L298N dan potensiometer untuk mengontrol start, kecepatan, dan arah motor DC yang mulus dengan dua tombol dan tampilkan nilai potensiometer pada Layar OLED. Tonton video demonstrasi
Pertunjukan Cahaya Pohon Natal Raspberry Pi: 15 Langkah (dengan Gambar)
Pertunjukan Cahaya Pohon Natal Raspberry Pi: Pembaruan: Saya telah mengeluarkan evolusi terbaru dari Pohon ini untuk 2017 di instruksi ini https://www.instructables.com/id/LED-Christmas-Tree-With-Video-Projector-Rasp -Pi/Proyek ini melibatkan penggunaan Raspberry Pi untuk menggerakkan 8 outlet AC yang terhubung
Mengubah Tombol Mulai di Windows XP: 5 Langkah
Ubah Tombol Mulai di Windows XP: Dalam panduan langkah demi langkah ini, Anda dapat mengubah teks di tombol mulai menjadi apa pun yang Anda inginkan
Cara Mengubah Teks Yang Muncul Saat Anda Menggerakkan Mouse Anda Di Atas Tombol Mulai: 4 Langkah
Cara Mengubah Teks yang Muncul Saat Anda Menggerakkan Mouse Anda Di Atas Tombol Mulai: Judulnya mengatakan itu semua