Buat Tombol Keyboard Punchable Kustom dengan Arduino: Panduan Langkah demi Langkah
Komponen dan perlengkapan
Arduino Micro
Anda dapat menggunakan mikrokontroler berbasis ATmega32U4 apa pun seperti Arduino Leonardo, yang membuat mikrokontroler dikenali sebagai mouse atau keyboard.
×
1
Piezo Element
Cakram piezo listrik dapat ditemukan di speaker di beberapa kartu hadiah musik.
×
1
Resistor 1M ohm
Untuk membatasi tegangan dan arus yang dihasilkan oleh piezo dan melindungi input analog.
×
1
Kabel jumper (umum)
×
1
Alat dan mesin yang diperlukan
Bahan berongga
Kain (warna apa pun)
Untuk menutupi spons dan elektronik di dalam. Anda dapat menggunakan jarum dan benang untuk membuat enclosure untuk spons.
Aplikasi dan layanan online
Arduino IDE
Tentang proyek ini
Saat Anda bekerja atau bosan bermain game, apakah Anda sering memiliki dorongan untuk memukul keyboard Anda?
Pukul tombol keyboard kustom yang dapat dipukul ini! Lepaskan kekecewaan Anda!
Dalam proyek ini saya telah membuat tombol keyboard kustom yang dapat dipukul yang terdiri dari elemen piezo, papan berbasis ATmega32U4, resistor nilai tinggi (1 Mega ohm) dan beberapa spons.
Untuk mengetik, pengguna cukup memukul atau menendang tombol yang mereka inginkan.
Hardware yang diperlukan:
Arduino Pro Micro
Micro didasarkan pada mikrokontroler ATmega32U4 yang memiliki USB bawaan yang membuat Micro dikenali sebagai mouse atau keyboard.
Anda dapat menggunakan mikrokontroler apa pun yang menggunakan Chip ATmega32U4.
Cakram piezo listrik
Piezo adalah perangkat elektronik yang menghasilkan tegangan saat secara fisik mengalami deformasi oleh getaran, suara atau tekanan mekanis.
Cakram piezo dapat ditemukan di speaker di beberapa kartu hadiah musik. Jika Anda memiliki satu, Anda tidak perlu membeli elemen piezo dari toko, gunakan obeng dan/atau pisuka untuk membuka casing speaker. Kemudian buang plat logam dan angkat papan sirkuit (mereka mungkin terkunci erat) sehingga Anda dapat mencapai cakram piezo di bawahnya.
Resistor 1 Mega Ohm
Resistor nilai tinggi ini membatasi tegangan dan arus yang dihasilkan oleh piezo dan melindungi input analog.
Spons
Ketika gaya diterapkan pada spons, ia mengalami deformasi dan ketika gaya dilepaskan, ia kembali ke bentuk aslinya. Elemen piezo akan ditempatkan di antara spons dan setiap kali seseorang memukulnya, tegangan yang dihasilkan akan dikirim melalui pin analog arduino micro.
Diagram Sirkuit:
Cara Kerja:
Piezo terpolarisasi, artinya tegangan melewatinya (atau keluar darinya) dalam arah tertentu. Hubungkan kabel hitam (tegangan lebih rendah) ke ground dan kabel merah (tegangan lebih tinggi) ke pin analog 0. Selain itu, hubungkan resistor 1 mega ohm secara paralel dengan elemen piezo untuk membatasi tegangan dan arus yang dihasilkan oleh piezo dan melindungi input analog.
Jika keluaran piezo (berfungsi sebagai sensor ketukan) lebih kuat dari ambang tertentu, papan Anda akan melakukan operasi keyboard berdasarkan program.
Buat Enclosure untuk Menutupi Spons:
Dapatkan kain dan buat enclosure untuk spons menggunakan jarum dan benang. Saya minta ibu saya untuk menyiapkan satu dan dia membuat enclosure untuk menutupi sirkuit dan spons.
Masukkan Elemen Piezo ke dalam Spons:
Kode:
#include <Keyboard.h> const int knockSensor = A0; // piezo terhubung ke pin analog 0 const int threshold = 100; // nilai ambang // variabel ini akan berubah: int sensorReading = 0; // variabel untuk menyimpan nilai yang dibaca dari pin sensor void setup() { Keyboard.begin(); } void loop() { // baca sensor dan simpan di variabel sensorReading: sensorReading = analogRead(knockSensor); // jika pembacaan sensor lebih besar dari ambang: if (sensorReading >= threshold) { // untuk menyesuaikan fungsi tombol ubah nilai ASCII di bawah , lihat https://www.arduino.cc/en/Reference/ASCIIchart Keyboard.write(32); // nilai ASCII Spasi adalah 32 , delay(150); Keyboard.releaseAll(); } }
Hubungkan sesuai diagram sirkuit dan unggah kode
Cukup colokkan ke port USB komputer Anda dan ini dapat melakukan berbagai fungsi keyboard berdasarkan program.
Jangan lupa untuk memodifikasi kode jika Anda ingin melakukan aksi keyboard yang berbeda.
Ubah baris kode berikut ini saja untuk modifikasi
Keyboard.write("Nilai ASCII");
Mengapa ini keren? Pikirkan kemungkinan penggunaannya:
Pintasan atau kontrol permainan
Buka aplikasi yang sering digunakan
Pergi ke situs web yang sering digunakan
Pintasan Windows seperti menyimpan dokumen atau mengecilkan semua jendela
Masukkan alamat email atau string yang sering digunakan
Masukkan password kompleks Anda
Tombol panik di tempat kerja
Terima kasih banyak telah membaca jika Anda membutuhkan informasi lebih lanjut jangan ragu untuk bertanya di komentar, dan saya akan melakukan yang terbaik untuk menjawab Anda.
Selamat membuat!
Kode
customizable_punchable_keyboard_button.ino
customizable_punchable_keyboard_button.inoArduino
#include <Keyboard.h> const int knockSensor = A0; // piezo terhubung ke pin analog 0 const int threshold = 100; // nilai ambang // variabel ini akan berubah: int sensorReading = 0; // variabel untuk menyimpan nilai yang dibaca dari pin sensor void setup() { Keyboard.begin(); } void loop() { // baca sensor dan simpan di variabel sensorReading: sensorReading = analogRead(knockSensor); // jika pembacaan sensor lebih besar dari ambang: if (sensorReading >= threshold) { // untuk menyesuaikan fungsi tombol ubah nilai ASCII di bawah , lihat https://www.arduino.cc/en/Reference/ASCIIchart Keyboard.write(32); // nilai ASCII Spasi adalah 32 , delay(150); Keyboard.releaseAll(); } }