Isi kandungan:
- Langkah 1: Komponen
- Langkah 2: Sediakan Diod
- Langkah 3: Selesaikan Diod Ke Papan
- Langkah 4: Sediakan LED
- Langkah 5: Memasukkan LED ke Papan
- Langkah 6: Susun Kabel Pelompat Cukup
- Langkah 7: Sediakan Kabel Jumper
- Langkah 8: Pateri Kabel Jumper ke Papan dan Pasangkannya
- Langkah 9: Bangun Selesai
- Langkah 10: Skematik
- Langkah 11: Hanya Butang
- Langkah 12: Sediakan Pin Butang
- Langkah 13: Mengimbas
- Langkah 14: Tidak Semua Tekan Butang Dicipta Sama
Video: Pad Tombol LED Arduino yang Memacu Animasi Memproses: 36 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Butang WhatThis dibuat menggunakan PCB dan komponen lain yang dihasilkan oleh Sparkfun. Ia didorong oleh Arduino Mega. Setiap butang bagus dan licin dan memuaskan untuk ditekan, dan ia mempunyai LED RGB di dalamnya! Saya telah menggunakannya untuk mengawal animasi yang saya kodkan dalam Pemprosesan. Pad butang menghantar mesej setiap kali butang ditekan, mengatakan butang mana itu. Pemprosesan menerima mesej ini dan mengubah pemboleh ubah dalam lakaran bergantung pada apa yang ditekan.
Mengapa
LED sejuk. Butang senang ditolak. Corak geometri animasi bagus. Saya mahu menggabungkan ketiga-tiganya. Saya membawa projek ini ke pesta, memproyeksikan visual di dinding dan membiarkan orang bermain dengan butang. Ia juga dapat digunakan oleh VJ dengan cara yang lebih berprestasi, seperti pengawal midi tetapi lebih banyak DIY.
Bagaimana
Terdapat empat bahagian utama untuk projek ini.
Video Youtube yang dilampirkan memberikan gambaran yang baik tentang bagaimana pad butang bersatu. Instructable ini merangkumi juga kod Arduino dan Pemprosesan - (video tambahan untuk yang sedang dalam proses)
-
Menggabungkan pad butang - Bermula pada Langkah 1
Ini melibatkan penyediaan komponen dan pemateriannya ke PCB
-
Kod Arduino - Bermula pada Langkah 10
Untuk ini, kita memerlukan pemahaman tentang pengimbasan matriks, yang akan saya bicarakan.
-
Kod Pemprosesan - Bermula pada Langkah 24
Terdapat kemungkinan yang tidak berkesudahan di sini, saya akan membincangkan satu contoh yang saya buat setakat ini.
- Mendapatkan Arduino untuk menghantar mesej ke Pemprosesan - Langkah 16 untuk mengirim, Langkah 30-31 untuk menerima
Ini bagus dan sederhana, ia menghantar mesej melalui sambungan bersiri.
Tahap
Saya mencuba dan menulis tutorial saya sedemikian rupa sehingga seseorang yang sama sekali tidak mempunyai pengetahuan sama sekali dapat mengikuti. Anda mungkin berguna untuk menonton beberapa tutorial pengenalan mengenai Pemprosesan terlebih dahulu. Saya mulakan dengan saluran YouTube Daniel Shiffman.
Kod
Semua kod (Arduino dan Pemprosesan) ada di github saya di sini.
Kredit
Saya belajar banyak dari tutorial ini https://learn.sparkfun.com/tutorials/button-pad-ho… dan banyak kod Arduino berasal dari sana, walaupun saya telah mengeditnya agar berfungsi sedikit berbeza dari mana-mana contoh di sana.
Langkah 1: Komponen
- LED RGB 16 x 5mm (tidak boleh ditangani, hanya katod biasa biasa)
- 16 x 1N4148 dioda
- Pad butang silikon
- PCB pad butang
- Arduino Mega
- Kabel pelompat
(Ada juga banyak barang yang anda dapat dari Sparkfun untuk menempatkan semuanya lebih kemas, tetapi saya belum melakukannya)
Langkah 2: Sediakan Diod
Bengkokkan setiap diod dan kemudian tekannya melalui PCB.
Kaki melekat di sisi butang, yang tidak kita mahukan. Oleh itu, keluarkan diod sekali lagi dan potong kaki pendek. (Anda mungkin mempunyai beberapa potongan yang membolehkan anda memotong kaki dengan papan semasa ia masih di dalamnya yang akan menjadikan hidup anda lebih mudah, tetapi saya hanya mempunyai gunting biasa jadi saya terpaksa mengeluarkannya untuk memotongnya cukup pendek.)
Sangat penting untuk membengkokkan kaki dan mendorongnya melalui PCB sebelum anda memotongnya pendek. Sekiranya anda memotongnya lebih pendek maka anda tidak akan dapat membengkokkannya menjadi bentuk.
Buat 16 daripada benda kecil seperti semut ini.
Langkah 3: Selesaikan Diod Ke Papan
Letakkan setiap diod kembali ke papan. Penting untuk memeriksa orientasi diod. Ia mempunyai garis hitam di satu sisi yang berbaris dengan garis di PCB. (Lihat gambar)
Memasang diod ke tempatnya agak gatal dan itulah sebabnya saya katakan jika anda mempunyai potongan yang akan membiarkan kaki anda memerah tanpa melepaskannya, ini akan menjadikan hidup anda lebih mudah. Saya tidak memilikinya, jadi saya menggunakan pinset untuk meletakkannya semula, yang sedikit membantu.
Selesaikan setiap diod ke tempatnya.
Langkah 4: Sediakan LED
Tolak LED melalui papan dan kemudian potong kaki. Sama seperti dioda; penting untuk mendorong kaki melalui papan terlebih dahulu, agar jari-jari mereka merebak ke sudut yang betul, sebelum memotong kaki.
Terdapat sedikit percubaan dan kesilapan dengan memotong kaki ke panjang yang betul. Sekiranya anda membuatnya terlalu lama, ia akan melekat, tetapi terlalu pendek dan sukar untuk menyalakan semula LED.
Sediakan 16 daripada rakan-rakan kecil yang diamputasi ini.
Langkah 5: Memasukkan LED ke Papan
Tolak semua LED kembali ke papan.
Orientasi penting lagi di sini. Satu sisi LED mempunyai tepi rata dan ini harus sejajar dengan tepi bulatan rata pada rajah PCB. (Lihat gambar)
Periksa apakah LED didorong cukup jauh dengan meletakkan pad silikon di atas papan dan periksa apakah lampu itu tidak mengganggu butang yang ditekan.
Pateri LED ke papan.
Catatan: Sejak itu ditunjukkan kepada saya bahawa kerana tidak terlalu penting jika sedikit kaki melekat di belakang, anda hanya boleh mendorong LED, menyoldernya di belakang, dan kemudian memotong kaki.
Langkah 6: Susun Kabel Pelompat Cukup
Mari bercakap sedikit tentang papan. Papan disusun menjadi 4 lajur dan 4 baris LED / Butang.
Setiap lajur memerlukan 2 sambungan, satu untuk ground LED dan satu untuk ground butang. Setiap baris memerlukan 4 sambungan, kerana kita memerlukan sambungan yang terpisah untuk saluran merah, hijau dan biru, serta sambungan untuk input butang. Berikut adalah warna kabel dan nombor pin yang saya pilih untuk setiap sambungan tersebut.
Baris | Untuk apa itu | Warna kabel | Nombor PIN | Label PCB |
Baris 1 | Merah | Merah | 22 | MERAH1 |
Hijau | Hijau | 23 | HIJAU1 | |
Biru | Biru | 30 | BIRU1 | |
Input butang | Kuning | 31 | LUKISAN1 | |
Baris 2 | Merah | Merah | 24 | MERAH2 |
Hijau | Hijau | 25 | HIJAU2 | |
Biru | Biru | 32 | BIRU2 | |
Input butang | Kuning | 33 | LUKISAN2 | |
Baris 3 | Merah | Merah | 26 | MERAH3 |
Hijau | Hijau | 27 | HIJAU3 | |
Biru | Biru | 34 | BIRU3 | |
Input butang | Kuning | 35 | LUKISAN3 | |
Baris 4 | Merah | Merah | 28 | MERAH4 |
Hijau | Hijau | 29 | HIJAU4 | |
Biru | Biru | 36 | BIRU4 | |
Input butang | Kuning | 37 | LUKISAN4 |
Ruangan | Untuk apa itu | Warna kabel | Nombor PIN | Label PCB |
Kol 1 | Tanah LED | Putih | 38 | LED-GND-1 |
Tanah butang | Hitam | 39 | SWT-GND-1 | |
Kol 2 | Tanah LED | Putih | 40 | LED-GND-2 |
Tanah butang | Hitam | 41 | SWT-GND2 | |
Kol 3 | Tanah LED | Putih | 42 | LED-GND-3 |
Tanah butang | Hitam | 43 | SWT-GND3 | |
Kol 4 | Tanah LED | Putih | 44 | LED-GND4 |
Tanah butang | Hitam | 45 | SWT-GND4 |
Langkah 7: Sediakan Kabel Jumper
Setiap kabel pelompat memerlukan satu hujung lelaki, dan satu hujung yang dilucutkan dari beberapa mm wayar. Saya suka menggunakan sebilangan bekas untuk menangkap bit wayar yang dilucutkan kerana jika tidak, ia akan berakhir di seluruh flat saya dan mungkin lebih buruk daripada berkilau.
Langkah 8: Pateri Kabel Jumper ke Papan dan Pasangkannya
Gunakan carta dari beberapa langkah ke belakang untuk mendapatkan kabel yang disolder ke tempat yang betul pada PCB, dan pasangkan ke pin yang betul di Arduino.
Langkah 9: Bangun Selesai
Luangkan sedikit masa untuk menekan butang (belum berfungsi) dan kemudian mari masuk ke beberapa kod!
Langkah 10: Skematik
Ini adalah skema PCB dan perkara yang telah kami lekapkan.
Kotak kelabu masing-masing mewakili salah satu kombo butang / LED. Sekiranya ini kelihatan sangat rumit (ia berlaku pada kali pertama saya melihatnya) maka jangan risau, saya akan memecahkannya.
Sekiranya anda hanya ingin melihat kodnya sendiri, terdapat di github saya di sini.
Langkah 11: Hanya Butang
LED dan butang sebenarnya terpisah antara satu sama lain (selain semua disambungkan ke Arduino) jadi mari kita lihat butang terlebih dahulu.
Setiap kotak kelabu mengandungi satu butang dan dioda (yang kami pasangkan - saya akan menerangkan tujuannya sedikit).
Nota: Saya yakin ini sangat jelas bagi sesetengah orang, tetapi saya tidak pasti ketika saya mula-mula memikirkannya jadi saya akan mengatakannya! Baris (berwarna hijau) dan lajur (dengan warna biru) tidak bersambung, hanya terletak di satu sama lain. Barang hanya disambungkan di mana terdapat titik hitam kecil. Menutup salah satu butang, bagaimanapun, mewujudkan hubungan antara baris dan lajur.
Langkah 12: Sediakan Pin Butang
Untuk butang, kita akan menggunakan lajur sebagai output dan baris sebagai input.
Kami dapat memeriksa apakah butang ditekan kerana jika ada hubungan antara baris dan lajur maka voltan dari output akan sampai ke input. Untuk memulakan, dalam persediaan () kita mengeluarkan voltan tinggi ke semua lajur. Kami menetapkan baris untuk mendapatkan input yang bermaksud bahawa secara lalai mereka juga membaca tinggi.
Langkah 13: Mengimbas
Dalam gelung, fungsi yang disebut scan () melalui satu lajur pada satu masa dan menetapkan voltannya rendah.
Kemudian ia melihat pada setiap baris sambungan butang, untuk melihat apakah ada yang rendah.
Sekiranya baris butang berbunyi rendah, maka itu bermaksud butang yang menghubungkan baris dan lajur itu telah ditekan.
Langkah 14: Tidak Semua Tekan Butang Dicipta Sama
Sekiranya butang ditekan dengan cepat dan kuat maka pemindahan voltan dari lajur ke barisan akan menjadi baik dan bersih.
Walau bagaimanapun, jika ditekan sedikit perlahan atau lemah, voltan mungkin sedikit berkurang sehingga ada hubungan yang baik antara pad butang dan kenalan pada PCB.
Ini bermaksud bahawa tekan butang yang difikirkan oleh manusia hanyalah satu, mungkin ditafsirkan oleh arduino sebagai beberapa tekan yang terpisah.
Disyorkan:
Masa 556 Menyediakan Input Jam kepada 2 Pembilang Dekad Yang Akan Memacu 20 LED: 6 Langkah
Waktu 556 Menyediakan Input Jam kepada 2 Kaunter Dekad Yang Akan Memacu 20 LED: Instruktif ini akan menunjukkan bagaimana pemasa 556 akan memberikan input jam ke kaunter 2 dekad. Kaunter dekad akan menggerakkan 20 LED. LED akan berkedip dalam urutan 10
Gunakan Homie Firmware untuk Memacu Modul Suis Sonoff (Berasaskan ESP8266): 5 Langkah (dengan Gambar)
Gunakan Homie Firmware untuk Memacu Modul Switch Sonoff (Berasaskan ESP8266): Ini adalah arahan susulan, saya telah menulisnya sedikit selepas " Membangunkan Peranti Homie untuk IoT atau Automasi Rumah ". Yang kemudiannya memfokuskan pada pemantauan asas (DHT22, DS18B20, cahaya) di sekitar papan Mini D1. Kali ini, saya ingin menunjukkan
Memacu semula Optik Pemacu Dengan RPi: 6 Langkah (dengan Gambar)
Memacu semula Optik Pemacu Dengan RPi: Projek ini berlaku setelah pemacu optik komputer riba kesayangan saya mula tidak berfungsi. Baki CD akan berulang kali keluar setiap kali saya menekan komputer riba atau memindahkannya dengan cara apa pun. Diagnosis saya mengenai masalah ini adalah bahawa pasti ada
Cara Memacu Traktor Traktor 2008 IH Magnum 215: 9 Langkah (dengan Gambar)
Cara Memacu Traktor Traktor 2008 IH Magnum 215: Saya akan mengarahkan cara memulakan dan menggerakkan traktor Magnum 215
Cara Memacu Banyak LED Dari Beberapa Pin Mikrokontroler .: 6 Langkah (dengan Gambar)
Cara Memacu Banyak LED Dari Beberapa Pin Mikrokontroler .: Dengan menggunakan fakta bahawa banyak pin mikrokontroler mempunyai tiga keadaan (+ V, GND, atau "impeded tinggi", anda boleh memandu LED N * (N-1) dari pin N Oleh itu, mikrokontroler 8pin kecil seperti PIC12Fxxx atau ATtiny11 dapat memacu 20 LED di lima tersedia