Isi kandungan:

Pad Tombol LED Arduino yang Memacu Animasi Memproses: 36 Langkah (dengan Gambar)
Pad Tombol LED Arduino yang Memacu Animasi Memproses: 36 Langkah (dengan Gambar)

Video: Pad Tombol LED Arduino yang Memacu Animasi Memproses: 36 Langkah (dengan Gambar)

Video: Pad Tombol LED Arduino yang Memacu Animasi Memproses: 36 Langkah (dengan Gambar)
Video: Arduino Virtual#06. On Off Led dengan Pushbutton. Mulai dari rangkaian, Flowchart & Coding. 2024, Julai
Anonim
Image
Image
Pad Tombol LED Arduino yang Memacu Animasi Pemprosesan
Pad Tombol LED Arduino yang Memacu Animasi Pemprosesan
Pad Tombol LED Arduino yang Memacu Animasi Pemprosesan
Pad Tombol LED Arduino yang Memacu Animasi Pemprosesan

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)

  1. Menggabungkan pad butang - Bermula pada Langkah 1

    Ini melibatkan penyediaan komponen dan pemateriannya ke PCB

  2. Kod Arduino - Bermula pada Langkah 10

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

  3. Kod Pemprosesan - Bermula pada Langkah 24

    Terdapat kemungkinan yang tidak berkesudahan di sini, saya akan membincangkan satu contoh yang saya buat setakat ini.

  4. 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

Komponen!
Komponen!
Komponen!
Komponen!
Komponen!
Komponen!
Komponen!
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

Sediakan Diod
Sediakan Diod
Sediakan Diod
Sediakan Diod
Sediakan Diod
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

Selesaikan Diod Ke Papan
Selesaikan Diod Ke Papan
Selesaikan Diod Ke Papan
Selesaikan Diod Ke Papan
Selesaikan Diod Ke Papan
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

Sediakan LED
Sediakan LED
Sediakan LED
Sediakan LED
Sediakan LED
Sediakan LED
Sediakan LED
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

Pateri LED ke Papan
Pateri LED ke Papan
Pateri LED ke Papan
Pateri LED ke Papan
Pateri LED ke Papan
Pateri 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

Susun Kabel Pelompat Cukup
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

Sediakan Kabel Jumper
Sediakan Kabel Jumper
Sediakan Kabel Jumper
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

Pateri Kabel Jumper ke Papan dan Pasangkannya
Pateri Kabel Jumper ke Papan dan Pasangkannya
Pateri Kabel Jumper ke Papan dan Pasangkannya
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

Bangun Selesai!
Bangun Selesai!

Luangkan sedikit masa untuk menekan butang (belum berfungsi) dan kemudian mari masuk ke beberapa kod!

Langkah 10: Skematik

Skema
Skema

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

Hanya Butang
Hanya Butang
Hanya Butang
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

Sediakan Pin Butang
Sediakan Pin Butang
Sediakan Pin Butang
Sediakan Pin Butang
Sediakan Pin Butang
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

Mengimbas
Mengimbas
Mengimbas
Mengimbas
Mengimbas
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: