Isi kandungan:
- Langkah 1: Senarai Bahagian
- Langkah 2: Diagram Pendawaian
- Langkah 3: Persediaan Asas Pemain Falcon Pi
- Langkah 4: Skrip Yang Lebih Kuat
- Langkah 5: (Pilihan) Plat muka untuk Butang
Video: Mulakan Pertunjukan Cahaya Krismas Anda Dengan Butang: 5 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Semasa menjalankan pertunjukan cahaya Krismas yang diselaraskan dengan muzik, anda mungkin ingin memulakan pertunjukan dengan menekan butang. Tutorial ini hanya berlaku untuk rancangan yang dikendalikan melalui Falcon Pi Player (FPP) yang berjalan di Raspberry Pi. Sekiranya anda menjalankan FPP maka anda mungkin menggunakan pengawal Falcon dan menggunakan xLights atau LightORama untuk menyusun rancangan anda. Sekiranya tiada kata-kata itu memberi makna kepada anda, tutorial ini mungkin sedikit untuk anda buat sekarang dan anda harus bermula dengan membaca wiki ini https://auschristmaslighting.com/wiki/ dan menyertai kumpulan Facebook seperti di bawah
- xLights:
- Lampu Krismas lanjutan umum:
- Pemain Falcon Pi:
- Perkongsian idea kandang / prop:
- "Tidak khusus berkaitan dengan xLights atau LOR":
- Penjual xLights Holiday Light:
- Lakukan Sendiri Krismas:
Langkah 1: Senarai Bahagian
Anda memerlukan item berikut:
- Butang. Saya menggunakan yang ini dengan lampu cincin LED di sekelilingnya: [Amazon]
- Perintang. Sebaiknya 200Ω atau lebih besar (2 ini jika anda menggunakan butang LED) Standard 1 / 4W atau 1 / 8W baik-baik saja
- Wayar penyambung. Tolok yang harus anda gunakan bergantung pada sejauh mana butang berada dari Pi anda. Saya menggunakan wayar 18awg selama kira-kira 10 kaki dari Pi saya dan ia berfungsi dengan sempurna
- Kaedah untuk menyambungkan wayar ke pin GPIO Pi. Anda boleh menggunakan kabel pita dengan papan pemisah, atau anda boleh menggunakan beberapa penyambung wanita seperti saya. Kami hanya memerlukan 3 wayar - Ground, 5V, dan data untuk butang. [Amazon]
- (Pilihan) Penyambung kalis air di setiap hujungnya untuk penyelenggaraan yang mudah. Saya menggunakan penyambung kelas laut 3-pin: [Amazon]
- (Pilihan) Penyambung pantat pengecutan panas [Amazon]
Langkah 2: Diagram Pendawaian
Gambar menunjukkan rajah pendawaian untuk butang tanpa LED yang disertakan, dan butang dengan LED. Cara saya menyusun rajah pendawaian membolehkan anda menjalankan butang dan lampu (berterusan) dengan hanya 3 wayar.
Untuk pin GPIO, pilih mana-mana pin GPIO pada pi. Gunakan pin + 5V dan Gnd juga. Anda mungkin dapat melepaskan dengan menggunakan pin 3.3V, tetapi penurunan voltan pada beberapa kaki wayar mungkin menjadikan isyarat tidak boleh dipercayai atau tidak cukup untuk menyalakan LED.
CATATAN: Penyambung 3 pin tidak akan masuk melalui lubang yang anda perlukan untuk menggerudi butang dengan lampu cincin LED. Oleh itu, pasangkan penyambung selepas meletakkan butang di pelat muka anda.
Langkah 3: Persediaan Asas Pemain Falcon Pi
CATATAN - FPP sentiasa dikemas kini, dan sangat mungkin mereka akan meningkatkan sokongan skrip mereka atau mereka akan memasukkan "butang tekan untuk memulakan" sebagai ciri lalai yang memerlukan pengaturcaraan yang lebih sedikit.
Saya mengikuti video di atas kerana pada mulanya menyiapkan semuanya.
Saya mendapati video membosankan dan lambat, jadi berikut adalah ringkasannya:
- Import urutan anda ke fpp menggunakan pengurus fail
- Buat senarai main dengan urutan di dalamnya. Untuk langkah seterusnya senarai main akan dipanggil "playme"
-
Buka fail notepad kosong dan taipkan yang berikut:
- #! / bin / sh
- fpp -P playme
- Simpan sebagai fail.sh di komputer anda
- Pergi ke pengurus fail di FPP dan muat naik fail skrip anda. Pergi ke tab "Skrip" dan pastikan terdapat di sana
- Di bawah Status / Kawalan pergi ke Acara
- Buat acara baru. ID Peristiwa 1/1, Nama acara apa sahaja, Urutan Kesan TIADA, Skrip Acara
- Pergi ke bawah Input / Output Setup dan klik pencetus GPIO
- Togol pin yang dilekatkan pada butang anda. Sekiranya ia akan menjadi rendah ketika anda menekan butang kemudian letakkan acara pada pilihan Jatuh, jika aktif tinggi maka letakkan acara di Rising.
- Klik butang Reboot dengan amaran yang muncul selepas anda membuat semua perubahan
Setelah melakukan semua ini, anda seharusnya dapat menekan butang untuk memulakan rancangan anda. Woohoo!
Walau bagaimanapun, kaedah ini mempunyai beberapa batasan. Sekiranya anda menekan butang sekali lagi semasa senarai main berjalan, 1) tidak akan melakukan apa-apa atau 2) akan merosakkan FPP dan menolak untuk melakukan apa-apa dengan butang anda sehingga anda menghidupkannya semula. Oleh itu, jika anda hanya menggunakan butang sebagai kaedah dramatik untuk memainkan rancangan anda berdasarkan arahan, kaedah di atas adalah semua yang anda perlukan.
Sekiranya anda memerlukan sesuatu yang lebih, teruskan ke langkah seterusnya
Langkah 4: Skrip Yang Lebih Kuat
Berikut adalah skrip yang akhirnya saya sampaikan. Anda boleh melihat skrip di Github di sini: [Gist. Github]
- Sekiranya seseorang menekan butang pada waktu "malam", ia akan memainkan Tiger Rag (My Song1) dan kemudian pergi ke urutan siap sedia yang melambung tanpa henti.
- Sekiranya butang ditekan semasa Tiger Rag dimainkan maka ia akan memulakan lagu kedua saya, Hallelujah, dan kemudian akan pergi ke urutan siap sedia selama-lamanya.
- Tetapi jika seseorang menekan butang pada waktu siang atau sangat larut malam, ia akan memainkan Tiger Rag sekali dan kemudian mematikan semua lampu.
Ini membolehkan butang berfungsi pada bila-bila masa sepanjang hari tetapi lampu tidak semestinya menyala sepanjang masa. Ini juga memungkinkan beberapa lagu dimainkan dari 1 butang dengan mengenal pasti lagu mana yang sedang dimainkan, mengakhiri lagu itu, dan memainkan lagu "berikutnya".
Anda boleh mendapatkan lebih banyak sumber untuk skrip dalam FPP di sini: https://github.com/FalconChristmas/fpp-scriptsUntuk logik yang lebih rumit, cukup google "bash script _" di mana garis bawah adalah apa yang anda cuba lakukan. Anda boleh menguji skrip anda menggunakan FPP Shell (nama pengguna fpp password falcon) Perintah asasnya adalah seperti berikut.
Perhatikan penggunaan huruf besar !!
- Capital -P akan memainkan senarai main sekali, huruf kecil -p akan mengulanginya.
- fpp -v 66 Tetapkan kelantangan hingga 66%
- fpp -c berhenti Hentikan tayangannya dengan segera
- fpp -C stop Ini mungkin berhenti tunjuk dengan anggun
- fpp -p thisPlaylistName Main iniPlaylistName diulang (jadi lagu intro dimainkan sekali, maka Main item akan diulang selama-lamanya.
- fpp -P iniPlaylistName MemainPlaylistName ini sekali
- eventScript "$ {MEDIADIR} / skrip / $ {thisScriptVariable}" Menjalankan skrip. Dalam kes di sebelah kiri berfungsi jika anda menyimpan nama skrip anda ke dalam pemboleh ubah di suatu tempat di atas, seperti iniScriptVariable = "PlayTheSong.sh"
ButtonSuperScript.sh
#! / bin / sh |
########################################################### |
#Untuk dijalankan sekiranya butang ditekan. |
# Anda harus mempunyai dua senarai main untuk setiap lagu - satu dengan |
# hanya lagu sebagai "Main pertama" dan tidak ada yang utama, |
# dan yang lain dengan lagu sebagai permainan pertama dan siaga anda |
# urutan sebagai urutan "Utama". (Sekurang-kurangnya jika anda mahu |
# untuk melakukan perkara yang tepat yang saya lakukan) |
# |
# Sebagai contoh, jika lagu anda adalah Tiger Rag, anda semestinya memilikinya |
# senarai main "TigerRag", "TigerRagStandby", dan "Siap sedia" |
# |
########################################################### |
# Senarai main untuk dijalankan jika antara 6 dan 11 |
NightSong1 = "TigerRagStandby" |
NightSong2 = "HallelujahStandby" |
NightStandby = "Bersedia" |
# Senarai main untuk dijalankan pada siang hari atau selepas 11 |
DaySong1 = "TigerRag" |
DaySong2 = "Hallelujah" |
DayStandby = "Bersedia" |
# Waktu dan mati dalam masa 24 jam. Sekiranya anda mahu minit, semoga berjaya |
OnHour = 17 |
OffHour = 23 |
########################################################### |
# Ikut skrip. # |
########################################################### |
# Dapatkan status semasa kami (IDLE = 0, BERMAIN = 1, Berhenti dengan Anggun = 2) |
STATUS = $ (fpp -s | potong -d ',' -f2) |
#Dapatkan senarai main yang sedang berjalan dan potong menjadi 7 huruf |
SENARAI MAIN = $ (fpp -s | cut -d ',' -f4 | cut -c1-7) |
#Ini akan menjadi "keduanya" jika memainkan lagu, dan "urutan" jika siap |
#digunakan untuk menentukan sama ada urutan Siaga berjalan |
STANDBYSTRING = $ (fpp -s | cut -d ',' -f5) |
# 7 huruf pertama nama senarai main untuk perbandingan |
#Hanya 7 huruf supaya "Song1Standby" dan "Song1" sama |
#Okay sebenarnya sebenarnya huruf x pertama dan x mestilah nama lagu terpendek yang anda ada |
Senarai Main Sedia = $ (echo $ NightStandby | cut -c1-7) |
Song1Playlist = $ (gema $ NightSong1 | cut -c1-7) |
Song2Playlist = $ (gema $ NightSong2 | potong -c1-7) |
STARTITEM = "" |
#Dapatkan jam semasa dalam masa ketenteraan |
CurrentHour = $ (tarikh + "% H") |
#Cetak status beberapa perkara - "echo" seperti "cetak" dalam kebanyakan bahasa |
#Berguna untuk menguji jika pelbagai perkara dipangkas atau dikira dengan betul |
echo CurrentHour ialah $ CurrentHour |
senarai main echo Running ialah: $ PLAYLIST |
echo Song2Playlist ialah: $ Song2Playlist |
Status echo ialah: $ STATUS |
# Tetapkan kelantangan hingga 80% pada waktu malam, 100% sebaliknya |
#Jadi jika saya tidur, ia tidak sekuat |
#if [$ CurrentHour -lt $ OffHour -a $ CurrentHour -ge 11]; kemudian |
# fpp -v 100 |
#selamat |
# fpp -v 80 |
#fi |
# Periksa bahawa kita mendapat sesuatu yang bermakna |
jika [-z "$ {STATUS}"]; maka |
gema "Ralat dengan nilai status"> & 2 |
jalan keluar 1 |
fi |
# Bertindak mengikut status semasa |
kes $ {STATUS} dalam |
# IDLE |
0) |
#Malam malam - mainkan Song1 dengan bersedia |
jika [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; maka |
echo Bermain NightSong1 |
hentian fpp -c |
fpp -p "$ {NightSong1}" $ {STARTITEM} |
#Waktu atau benar-benar lewat - mainkan lagu 1 sekali kemudian matikan lampu |
yang lain |
echo Bermain DaySong1 |
hentian fpp -c |
fpp -P "$ {DaySong1}" $ {STARTITEM} |
fi |
;; |
# BERMAIN atau BERHENTI DENGAN SEGERA (anggun berlaku sekiranya butang ditekan semasa senarai main yang dijadualkan berakhir) |
1 | 2) |
#Standby sedang berjalan - ini berfungsi kerana standby adalah satu-satunya urutan bukan media saya |
jika ["$ STANDBYSTRING" == "urutan"]; maka |
#Malam malam - mainkan Song1 dengan bersedia |
jika [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; maka |
echo Bermain NightSong1 untuk waktu malam |
hentian fpp -c |
fpp -p "$ {NightSong1}" |
#Waktu atau benar-benar lewat - mainkan kain harimau sekali kemudian matikan lampu |
yang lain |
echo PlayingDaySong1 dari bermain |
hentian fpp -c |
fpp -P "$ {DaySong1}" |
fi |
#Untuk menyokong lebih banyak lagu, salin bahagian ini dan ubah "Song2Playlist" di bahagian terakhir menjadi Song # Playlist |
# Song1 sedang berjalan |
elif ["$ PLAYLIST" == "$ Song1Playlist"]; kemudian |
#Malam malam - mainkan Hallelujah dengan bersedia |
jika [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; maka |
echo Bermain HallelujahStandby dari Tiger Rag sedang berjalan |
hentian fpp -c |
fpp -p "$ {NightSong2}" |
#Day time atau betul-betul lewat - mainkan Song2 sekali kemudian matikan lampu |
yang lain |
echo Bermain Hallelujah sekali dari Tiger Rag sedang berjalan |
hentian fpp -c |
fpp -P "$ {DaySong2}" |
fi |
#LAGU TERAKHIR BERJALAN - BERMAIN STANDBY |
elif ["$ PLAYLIST" == "$ Song2Playlist"]; kemudian |
#Malam malam - main siaga dalam keadaan gelung |
jika [$ CurrentHour-lt $ OffHour-a $ CurrentHour-ge $ OnHour]; maka |
echo Memainkan bersedia semasa diulang |
hentian fpp -c |
fpp -p "$ {NightStandby}" |
#Day waktu atau benar-benar lewat - main siap sedia sekali sahaja |
yang lain |
echo Main Bersedia Sekali |
hentian fpp -c |
fpp -P "$ {DayStandby}" |
fi |
yang lain |
echo Atas sebab tertentu elsecase terakhir dilaksanakan. |
hentian fpp -c |
fpp -P "$ {DaySong1}" |
fi |
;; |
esac |
lihat rawButtonSuperScript.sh yang dihoskan dengan ❤ oleh GitHub
Langkah 5: (Pilihan) Plat muka untuk Butang
Saya mempunyai akses ke pemotong laser di Clemson melalui Makerspace, jadi saya dengan cepat membuat reka bentuk untuk memotong + etch. Terdapat lubang di tengah untuk butang saya, kata-kata mengatakan "Push Me" dalam fon Krismas, dan kepingan salji di sekitar butang. Saya menyemburkan cat kayu putih dan kemudian menutupnya dengan pita pelekat (supaya pemotong laser tidak melecet bahagian yang saya tidak mahu terukir). Fail yang saya gunakan dilampirkan.
Disyorkan:
Pertunjukan Cahaya Krismas Diselaraskan dengan Muzik !: 4 Langkah
Pertunjukan Cahaya Krismas Diselaraskan ke Muzik !: Dalam instruksi ini, saya akan menunjukkan kepada anda bagaimana membuat pertunjukan cahaya Krismas yang diselaraskan dengan muzik Krismas menggunakan piksel RGB. Jangan biarkan nama itu menakutkan anda! Tidak sukar untuk belajar bagaimana melakukan ini. Saya akan memberi amaran kepada anda bahawa ini cukup
Kotak Muzik Dengan Pertunjukan Cahaya: 9 Langkah (dengan Gambar)
Kotak Muzik Dengan Pertunjukan Cahaya: Halo dan selamat datang, dalam tutorial ini kami akan menunjukkan bagaimana anda dapat membuat kotak muzik anda sendiri dengan pertunjukan cahaya yang disertakan. Yang anda perlukan hanyalah kotak kosong. Kami mengambil casing yang biasanya digunakan untuk alat. Dalam Projek ini, anda boleh menjadi sangat kreatif, jadi anda tidak perlu
Jaket Pertunjukan Cahaya yang Beraksi dengan Muzik: 7 Langkah (dengan Gambar)
Light Show Jacket Reacts to Music: Tutorial ini telah dihasilkan sebagai sebahagian daripada projek tahun akhir saya untuk ijazah saya dalam Teknologi Muzik dan Elektronik Gunaan di University of York. Ia ditujukan kepada pemuzik yang berminat dengan elektronik. Produk siap akan menjadi matriks LED
Pertunjukan Cahaya Pohon Krismas Raspberry Pi: 15 Langkah (dengan Gambar)
Pertunjukan Cahaya Pohon Krismas Raspberry Pi: Kemas kini: Saya telah mengeluarkan evolusi terkini dari Pokok ini untuk tahun 2017 di https://www.instructables.com/id/LED-Christmas-Tree-With-Video-Projector-Rasp yang boleh dipesan ini -Pi / Projek ini melibatkan penggunaan Raspberry Pi untuk memacu 8 cawangan AC yang bersambung
Kotak Xmas: Lampu Krismas dan Muzik Arduino / ioBridge yang Dikendalikan Internet dan Pertunjukan Muzik: 7 Langkah
Xmas-box: Arduino / ioBridge Internet Controlled Christmas Lights and Music Show: Projek xmas-box saya terdiri daripada lampu Krismas dan pertunjukan muzik yang dikendalikan oleh internet Lagu Krismas boleh diminta secara dalam talian yang kemudian dimasukkan dalam barisan dan dimainkan mengikut urutan yang diminta. Muzik disebarkan pada stat FM