Daftar Isi:

Papan Tombol LED Arduino yang Mendorong Animasi Pemrosesan: 36 Langkah (dengan Gambar)
Papan Tombol LED Arduino yang Mendorong Animasi Pemrosesan: 36 Langkah (dengan Gambar)

Video: Papan Tombol LED Arduino yang Mendorong Animasi Pemrosesan: 36 Langkah (dengan Gambar)

Video: Papan Tombol LED Arduino yang Mendorong Animasi Pemrosesan: 36 Langkah (dengan Gambar)
Video: 6.Mengontrol LED Dengan Arduino, Memahami Setup, Loop, PinMode, DigitalWrite 2024, Juli
Anonim
Image
Image
Papan Tombol LED Arduino Yang Mendorong Animasi Pemrosesan
Papan Tombol LED Arduino Yang Mendorong Animasi Pemrosesan
Papan Tombol LED Arduino Yang Mendorong Animasi Pemrosesan
Papan Tombol LED Arduino Yang Mendorong Animasi Pemrosesan

Apa Tombol ini dibuat menggunakan PCB dan komponen lain yang diproduksi oleh Sparkfun. Hal ini didorong oleh Arduino Mega. Setiap tombol bagus dan licin dan memuaskan untuk ditekan, dan memiliki LED RGB di dalamnya! Saya telah menggunakannya untuk mengontrol animasi yang saya kodekan di Processing. Papan tombol mengirim pesan setiap kali tombol ditekan, mengatakan tombol mana itu. Pemrosesan menerima pesan-pesan ini dan mengubah variabel dalam sketsa tergantung pada apa yang ditekan.

Mengapa

LEDnya keren. Tombol menyenangkan untuk ditekan. Pola geometris animasi bagus. Saya ingin menggabungkan ketiganya. Saya membawa proyek ini ke pesta, memproyeksikan visual di dinding dan membiarkan orang bermain dengan tombol. Ini juga dapat digunakan oleh VJ dengan cara yang lebih performatif, seperti pengontrol midi tetapi lebih DIY.

Bagaimana

Ada empat bagian utama dari proyek ini.

Video Youtube terlampir memberikan tampilan yang bagus tentang bagaimana tombol pad berjalan bersama. Instruksi ini mencakup itu serta kode Arduino dan Pemrosesan - (video tambahan untuk itu sedang dalam pengerjaan)

  1. Menyatukan bantalan tombol - Dimulai dari Langkah 1

    Ini melibatkan persiapan komponen dan menyoldernya ke PCB

  2. Kode Arduino - Mulai di Langkah 10

    Untuk ini, kita memerlukan pemahaman tentang pemindaian matriks, yang akan saya bicarakan.

  3. Kode Pemrosesan - Dimulai pada Langkah 24

    Ada kemungkinan tak terbatas di sini, saya akan berbicara melalui satu contoh yang telah saya buat sejauh ini.

  4. Mendapatkan Arduino untuk mengirim pesan ke Pemrosesan - Langkah 16 untuk mengirim, Langkah 30-31 untuk menerima

    Ini bagus dan sederhana, mengirimkan pesan melalui koneksi serial.

Tingkat

Saya mencoba dan menulis tutorial saya sedemikian rupa sehingga seseorang yang sama sekali tidak memiliki pengetahuan sama sekali setidaknya dapat mengikuti. Anda mungkin merasa terbantu untuk menonton beberapa tutorial pengantar tentang Processing terlebih dahulu. Saya akan mulai dengan saluran YouTube Daniel Shiffman.

Kode

Semua kode (Arduino dan Pemrosesan) ada di github saya di sini.

Kredit

Saya belajar banyak dari tutorial ini https://learn.sparkfun.com/tutorials/button-pad-ho… dan sebagian besar kode Arduino berasal dari sana, meskipun saya telah mengeditnya agar berfungsi sedikit berbeda dari contoh mana pun di sana.

Langkah 1: Komponen

Komponen!
Komponen!
Komponen!
Komponen!
Komponen!
Komponen!
Komponen!
Komponen!
  • 16 x 5mm RGB LED (bukan yang dapat dialamatkan, hanya yang katoda umum biasa)
  • 16 x 1N4148 dioda
  • Bantalan tombol silikon
  • Papan tombol PCB
  • Arduino Mega
  • Kabel jumper

(Ada juga banyak hal yang bisa Anda dapatkan dari Sparkfun untuk menampung semuanya sedikit lebih rapi, tapi saya belum melakukan ini)

Langkah 2: Siapkan Dioda

Siapkan Dioda
Siapkan Dioda
Siapkan Dioda
Siapkan Dioda
Siapkan Dioda
Siapkan Dioda

Tekuk setiap dioda dan kemudian dorong melalui PCB.

Kaki menonjol di sisi tombol, yang tidak kita inginkan. Jadi keluarkan dioda lagi dan potong pendek kakinya. (Anda mungkin memiliki beberapa potongan yang memungkinkan Anda memotong kaki rata dengan papan saat masih ada di sana yang akan membuat hidup Anda lebih mudah, tetapi saya hanya memiliki gunting biasa jadi saya harus mencabutnya untuk memotongnya cukup pendek.)

Sangat penting untuk menekuk kaki dan mendorongnya melalui PCB sebelum Anda memotongnya. Jika Anda memotongnya pendek terlebih dahulu maka Anda tidak akan bisa membengkokkannya.

Buat 16 benda kecil seperti semut ini.

Langkah 3: Solder Dioda Ke Papan

Solder Dioda Ke Papan
Solder Dioda Ke Papan
Solder Dioda Ke Papan
Solder Dioda Ke Papan
Solder Dioda Ke Papan
Solder Dioda Ke Papan

Tempatkan masing-masing dioda kembali ke papan. Penting untuk memeriksa orientasi dioda. Ini memiliki garis hitam di satu sisi yang sejajar dengan garis pada PCB. (Lihat gambar)

Memasang dioda agak rumit, itulah sebabnya saya mengatakan jika Anda memiliki potongan yang memungkinkan Anda memotong kaki tanpa melepasnya, itu akan membuat hidup Anda lebih mudah. Saya tidak memilikinya, jadi saya menggunakan pinset untuk memasangnya kembali, yang sedikit membantu.

Solder masing-masing dioda ke tempatnya.

Langkah 4: Siapkan LED

Siapkan LED
Siapkan LED
Siapkan LED
Siapkan LED
Siapkan LED
Siapkan LED
Siapkan LED
Siapkan LED

Dorong LED melalui papan dan kemudian potong kakinya. Sama seperti dengan dioda; penting untuk mendorong kaki melewati papan terlebih dahulu, untuk membuatnya menyebar ke sudut yang benar, sebelum memotong kaki.

Ada sedikit trial and error dengan memotong kaki dengan panjang yang tepat. Jika Anda membuatnya terlalu panjang, mereka akan menonjol, tetapi terlalu pendek dan sulit untuk menyalakan kembali LED.

Siapkan 16 dari kawanan kecil yang diamputasi ini.

Langkah 5: Solder LED Ke Papan

Solder LED Ke Papan
Solder LED Ke Papan
Solder LED Ke Papan
Solder LED Ke Papan
Solder LED Ke Papan
Solder LED Ke Papan

Dorong semua LED kembali ke papan.

Orientasi menjadi penting lagi di sini. Satu sisi LED memiliki tepi datar dan ini harus sejajar dengan tepi datar lingkaran pada diagram PCB. (Lihat gambar)

Lihat apakah LED didorong cukup jauh dengan meletakkan bantalan silikon di atas papan dan memeriksa apakah mereka tidak mengganggu tombol yang ditekan.

Solder LED ke papan.

Catatan: Sejak itu telah ditunjukkan kepada saya bahwa karena tidak masalah jika sedikit kaki menonjol di bagian belakang, Anda cukup mendorong LED, menyoldernya di belakang, dan kemudian memotong kakinya..

Langkah 6: Sortir Kabel Jumper yang Cukup

Sortir Kabel Jumper yang Cukup
Sortir Kabel Jumper yang Cukup

Mari kita bicara sedikit tentang papan. Papan disusun menjadi 4 kolom dan 4 baris LED/Tombol.

Masing-masing kolom memerlukan 2 sambungan, satu untuk ground LED dan satu untuk ground tombol. Setiap baris memerlukan 4 sambungan, karena kita memerlukan sambungan terpisah untuk saluran merah, hijau, dan biru, serta sambungan untuk saluran input tombol. Berikut adalah warna kabel dan nomor pin yang saya pilih untuk setiap koneksi tersebut.

Baris Untuk apa? Warna kabel Nomor PIN Label PCB
Baris 1 merah merah 22 MERAH1
Hijau Hijau 23 HIJAU1
Biru Biru 30 BIRU1
Masukan tombol Kuning 31 SWITCH1
Baris 2 merah merah 24 MERAH 2
Hijau Hijau 25 HIJAU2
Biru Biru 32 BIRU2
Masukan tombol Kuning 33 SWITCH2
Baris 3 merah merah 26 MERAH3
Hijau Hijau 27 HIJAU3
Biru Biru 34 BIRU3
Masukan tombol Kuning 35 SWITCH3
Baris 4 merah merah 28 MERAH4
Hijau Hijau 29 HIJAU4
Biru Biru 36 BIRU4
Masukan tombol Kuning 37 BERALIH4
Kolom Untuk apa? Warna kabel Nomor PIN Label PCB
Kol 1 tanah LED putih 38 LED-GND-1
Tombol tanah Hitam 39 SWT-GND-1
Kol 2 tanah LED putih 40 LED-GND-2
Tombol tanah Hitam 41 SWT-GND2
Kol 3 tanah LED putih 42 LED-GND-3
Tombol tanah Hitam 43 SWT-GND3
Kol 4 tanah LED putih 44 LED-GND4
Tombol tanah Hitam 45 SWT-GND4

Langkah 7: Siapkan Kabel Jumper

Siapkan Kabel Jumper
Siapkan Kabel Jumper
Siapkan Kabel Jumper
Siapkan Kabel Jumper

Setiap kabel jumper membutuhkan satu ujung laki-laki, dan satu ujung yang terlepas dari beberapa mm kawat. Saya suka menggunakan semacam wadah untuk menangkap potongan kawat yang dilucuti karena jika tidak, mereka berakhir di seluruh flat saya dan mungkin lebih buruk daripada glitter.

Langkah 8: Solder Kabel Jumper ke Papan dan Tancapkan

Solder Kabel Jumper ke Papan dan Tancapkan
Solder Kabel Jumper ke Papan dan Tancapkan
Solder Kabel Jumper ke Papan dan Tancapkan
Solder Kabel Jumper ke Papan dan Tancapkan

Gunakan bagan dari beberapa langkah ke belakang untuk menyolder kabel ke tempat yang benar di PCB, dan dicolokkan ke pin yang benar di Arduino.

Langkah 9: Bangun Selesai

Membangun Selesai!
Membangun Selesai!

Luangkan waktu sejenak untuk merayakan beberapa tombol (yang belum berfungsi) dan kemudian mari masuk ke beberapa kode!

Langkah 10: Skema

Skema
Skema

Ini adalah skema PCB dan barang-barang yang telah kami solder.

Kotak abu-abu masing-masing mewakili salah satu kombo tombol / LED. Jika ini terlihat sangat rumit (itu terjadi pada saya pertama kali saya melihatnya) maka jangan khawatir, saya akan memecahnya.

Jika Anda hanya ingin melihat sendiri kodenya, ada di github saya di sini.

Langkah 11: Hanya Tombol

Hanya Tombol
Hanya Tombol
Hanya Tombol
Hanya Tombol

LED dan tombol sebenarnya terpisah satu sama lain (selain semuanya terhubung ke Arduino) jadi mari kita lihat tombolnya terlebih dahulu.

Setiap kotak abu-abu berisi satu tombol dan dioda (yang kami solder - saya akan menjelaskan tujuannya sedikit).

Catatan: Saya yakin ini sangat jelas bagi sebagian orang, tetapi saya tidak yakin ketika saya pertama kali mulai memikirkannya, jadi saya akan mengatakannya! Baris (berwarna hijau) dan kolom (berwarna biru) tidak terhubung, hanya saling bersilangan. Barang hanya terhubung di mana ada titik hitam kecil. Menutup salah satu sakelar tombol, bagaimanapun, membuat koneksi antara baris dan kolom.

Langkah 12: Siapkan Pin Tombol

Siapkan Pin Tombol
Siapkan Pin Tombol
Siapkan Pin Tombol
Siapkan Pin Tombol
Siapkan Pin Tombol
Siapkan Pin Tombol

Untuk tombol, kita akan menggunakan kolom sebagai output dan baris sebagai input.

Kami akan dapat memeriksa apakah tombol ditekan karena jika ada hubungan antara baris dan kolom maka tegangan dari output akan mencapai input. Untuk memulai, di setup() kami mengeluarkan tegangan tinggi ke semua kolom. Kami mengatur baris menjadi input pull up yang berarti bahwa secara default mereka juga membaca tinggi.

Langkah 13: Memindai

Memindai
Memindai
Memindai
Memindai
Memindai
Memindai

Dalam loop, fungsi yang disebut scan() melewati satu kolom pada satu waktu dan mengatur tegangannya menjadi rendah.

Kemudian ia melihat setiap baris koneksi tombol, untuk melihat apakah ada di antara mereka yang membaca rendah.

Jika baris tombol membaca rendah, maka itu berarti tombol yang menghubungkan baris dan kolom itu telah ditekan.

Langkah 14: Tidak Semua Push Button Dibuat Sama

Jika tombol ditekan dengan cepat dan kuat maka transfer tegangan dari kolom ke baris akan bagus dan bersih.

Namun, jika ditekan agak lambat atau miring, tegangan mungkin sedikit bergetar sampai ada hubungan yang baik antara bantalan tombol dan kontak pada PCB.

Ini berarti bahwa penekanan tombol yang dianggap manusia hanya satu, dapat ditafsirkan oleh arduino sebagai beberapa penekanan terpisah.

Direkomendasikan: