Daftar Isi:

Keypad Makro Bluetooth DIY: 10 Langkah (dengan Gambar)
Keypad Makro Bluetooth DIY: 10 Langkah (dengan Gambar)

Video: Keypad Makro Bluetooth DIY: 10 Langkah (dengan Gambar)

Video: Keypad Makro Bluetooth DIY: 10 Langkah (dengan Gambar)
Video: DIY Macropad Keyboard Streamer Youtube - PCBWAY.COM 2024, Juli
Anonim
Keypad Makro Bluetooth DIY
Keypad Makro Bluetooth DIY

Dalam Instruksi ini kita akan melihat penggunaan Bluetooth bawaan ESP32 untuk meniru Keyboard Bluetooth.

Bluetooth HID (Human Interface Device) adalah protokol yang digunakan oleh keyboard dan mouse Bluetooth biasa dan memungkinkan untuk meniru ini hanya dengan ESP32, yang luar biasa!

Dengan pengiriman beberapa papan pengembangan ESP32 mulai dari kurang dari $5*, ini adalah cara yang sangat murah dan sederhana untuk membuat papan ketik khusus nirkabel seperti papan tombol Makro. Keypad makro dapat digunakan untuk mengontrol berbagai aplikasi seperti Editor video atau Photoshop, secara pribadi saya menggunakan milik saya untuk mengontrol adegan di OBS ketika saya membuat video atau streaming.

Pertama-tama kita akan melihat cara menggunakan perpustakaan keyboard ESP32 HID dan kemudian saya akan menunjukkan kepada Anda bagaimana saya menggunakan ini untuk membuat Keypad Makro Bluetooth bertenaga baterai.

Perlengkapan

  • Papan Dev TinyPICO ESP32 (ESP32 apa pun dapat berfungsi)
  • 4*4 Papan Tombol Matriks*

Anda juga akan membutuhkan baterai lipo, saya hanya menggunakan yang acak yang saya miliki sehingga saya tidak dapat menautkannya!

Jika PC Anda tidak memiliki Bluetooth, Anda dapat menggunakan dongle seperti ini:

Amazon.co.uk*:

Amazon.com*:

Amazon.de*:

* = Afiliasi

Langkah 1: Lihat Videonya

Image
Image

Saya telah membuat video yang mencakup hal yang sama dengan Instructable ini, jadi jika Anda tertarik, silakan periksa! Saya juga rutin membuat video seputar proyek ESP8266 dan ESP32 jadi mungkin ada video lain di channel saya yang mungkin menarik!

Langkah 2: [Opsional] Memulai Dengan ESP32

ESP32 adalah mikrokontroler yang kompatibel dengan Arduino IDE dan dilengkapi dengan WiFi dan Bluetooth. Mereka juga cukup murah sehingga merupakan chip yang sangat berguna untuk proyek Anda.

Anda perlu menambahkan definisi papan ESP32 ke Arduino IDE Anda, untuk ini Anda dapat mengikuti langkah-langkah yang tercantum di halaman Github proyek Arduino ESP32

Langkah 3: Menginstal Perpustakaan Keyboard ESP32 Ble

Menginstal Perpustakaan Keyboard ESP32 Ble
Menginstal Perpustakaan Keyboard ESP32 Ble
Memasang Perpustakaan Keyboard ESP32 Ble
Memasang Perpustakaan Keyboard ESP32 Ble

Dimungkinkan untuk menggunakan Bluethooth HID pada ESP32 tanpa perpustakaan eksternal, tetapi pengguna Github T-Vk telah menulis perpustakaan yang disebut ESP32-BLE-Keyboard yang membuatnya lebih seperti perpustakaan keyboard Arduino standar yang membuatnya lebih mudah digunakan.

Pustaka ini tidak tersedia di pengelola perpustakaan sehingga Anda perlu mengunduhnya dari Github.

  • Buka halaman rilis proyek dan unduh ESP32-BLE-Keyboard.zip terbaru
  • Setelah diunduh, Anda dapat menambahkannya ke Arduino IDE Anda tetapi pergi ke Sketch -> Include Library lalu Add Zip to library dan pilih ESP32-BLE-Keyboard.zip dari langkah sebelumnya.

Langkah 4: Melihat Contoh

Melihat Contoh
Melihat Contoh
Melihat Contoh
Melihat Contoh
Melihat Contoh
Melihat Contoh

Setelah ditambahkan, kita dapat membuka contoh yang menyertainya. Ini adalah contoh yang cukup bagus karena menunjukkan beberapa hal berbeda yang dapat Anda capai dengan perpustakaan tetapi saya juga akan menambahkan sedikit lebih detail di mana saya pikir itu akan berguna.

Anda dapat mengakses contoh dengan membuka File -> Contoh -> ESP32 BLE Keyboard -> SendKeyStrokes

Menyiapkan koneksi Bluetooth

Dalam pengaturan itu memulai koneksi Bluetooth, pada tahap ini harus tersedia untuk dipasangkan di perangkat Anda.

bleKeyboard.begin();

Di dalam loop itu juga memeriksa apakah itu terhubung ke perangkat

bleKeyboard.isConnected()

Mengetik

Hal pertama yang ditunjukkan contoh adalah bagaimana Anda dapat mengetik teks setelah terhubung, pertama-tama akan mengetik "Halo dunia" menggunakan

bleKeyboard.print("Halo dunia");

Menekan satu tombol

Ini kemudian menunjukkan bagaimana Anda dapat "menulis" tombol kembali, ini pada dasarnya meniru penekanan tombol tunggal dari tombol ini.

bleKeyboard.write(KEY_RETURN);

Anda dapat membuka file BleKeyboard.h dari perpustakaan untuk melihat semua kunci yang didefinisikan seperti ini. Anda juga dapat mengirim karakter ascii dengan memasukkannya ke dalam koma tunggal.

bleKeyboard.write('A');

Tombol Media

Ini juga menunjukkan bagaimana Anda dapat mengirim kunci media, ini mirip dengan bagaimana Anda dapat mengontrol volume atau melewati trek dengan headphone Bluetooth Anda. Contoh menunjukkan tombol putar/jeda, tetapi sekali lagi Anda dapat membuka BleKeyboard.h untuk melihat opsi lain yang tersedia.

bleKeyboard.write(KEY_MEDIA_PLAY_PAUSE);

Menekan dan melepaskan tombol

Hal terakhir yang ditunjukkan oleh contoh adalah bagaimana Anda dapat menekan dan menahan tombol, ini berguna untuk membuat keyboard Makro. Contoh yang ditampilkan di sini adalah untuk Ctrl + Alt + Delete

bleKeyboard.press(KEY_LEFT_CTRL);

bleKeyboard.press(KEY_LEFT_ALT);

bleKeyboard.tekan(KEY_DELETE);

Itu kemudian memanggil releaseAll, yang seperti yang mungkin bisa Anda tebak dengan namanya melepaskan semua tombol yang ditekan.

bleKeyboard.releaseAll();

Anda juga dapat melepaskan kunci tertentu jika Anda mau dengan menggunakan perintah rilis dengan kunci yang ingin Anda lepaskan

bleKeyboard.release(KEY_DELETE);

Langkah 5: Tips Lain untuk Perpustakaan

Tips Lain untuk Perpustakaan
Tips Lain untuk Perpustakaan
Tips Lain untuk Perpustakaan
Tips Lain untuk Perpustakaan
Tips Lain untuk Perpustakaan
Tips Lain untuk Perpustakaan

Kami membahas fungsi utama perpustakaan pada langkah sebelumnya, tetapi berikut adalah beberapa hal tambahan yang menurut saya mungkin berguna untuk diketahui

Gunakan Pemicu Eksternal

Itu selalu yang terbaik untuk mengontrol perangkat HID seperti ini menggunakan pemicu eksternal seperti menekan tombol. Jika Anda menggunakan pengatur waktu dan ada yang tidak beres, sambungan mungkin akan terasa canggung. Bayangkan harus mencoba mematikan Bluetooth Anda jika Anda secara tidak sengaja memprogramnya untuk menekan Ctrl+Alt+Del setiap 100mS!

Mengubah nama perangkat

Secara default nama perangkat akan muncul sebagai "ESP32 BLE Keyboard", ini dapat diubah saat Anda membuat instance perpustakaan. Anda dapat mengatur nama perangkat, pabrikan, dan level baterai awal.

BleKeyboard bleKeyboard("Nama Perangkat Bluetooth", "Produsen Perangkat Bluetooth", 100);

Mengatur level baterai (setidaknya tidak berfungsi untuk saya)

Perpustakaan mengklaim Anda juga dapat mengatur level baterai tetapi tidak berfungsi untuk saya di PC Windows saya (tetap dengan apa pun nilai awalnya) dan ponsel Android saya tidak menunjukkan level semuanya. Berikut adalah perintah untuk itu jika itu berhasil untuk Anda

bleKeyboard.setBatteryLevel(50)

Kompatibilitas Perangkat

Saya berhasil menjalankan contoh di PC Windows 10, ponsel Android, dan Mac saya (meskipun entah bagaimana masih menjalankan Sierra!)

Itu juga hanya dapat dihubungkan ke satu perangkat pada satu waktu.

Pemecahan Masalah Pemasangan

Jika Anda mengalami beberapa masalah saat memasangkan, coba mulai ulang ESP32 saat perangkat Anda mencari. Saya juga pernah harus menghidupkan dan mematikan bluetooth di PC saya untuk memasangkannya.

Langkah 6: Keypad Makro

Keypad Makro
Keypad Makro
Keypad Makro
Keypad Makro
Keypad Makro
Keypad Makro
Keypad Makro
Keypad Makro

Sekarang setelah kita memiliki dasar-dasarnya, mari kita buat sesuatu yang praktis darinya!

Dalam panduan sebelumnya saya menunjukkan cara membuat keypad Makro paling sederhana dari Arduino pro Micro dan keypad murah. Untuk setiap tombol pada keypad, ia mengirimkan kombinasi tombol yang berbeda yang dapat digunakan untuk mengontrol aplikasi, secara pribadi saya menggunakannya untuk OBS, perangkat lunak yang saya gunakan untuk merekam video dan untuk streaming. Ini sepertinya proyek yang bagus untuk porting melalui ESP32 sehingga kami dapat membuat versi nirkabel.

Untuk build ini saya akan menggunakan board TinyPICO ESP32 dari Unexpected Maker. Alasan utama untuk memilihnya adalah papan yang sangat hemat daya dan memiliki sirkuit untuk menjalankan dan mengisi baterai Lipo, jadi yang perlu saya lakukan hanyalah mencolokkan baterai.

Saya akan berbohong jika fakta bahwa ia memiliki jarak baris yang sama dengan Pro Micro dan saya dapat menggunakan papan breakout yang sudah saya buat sebelumnya juga tidak menarik!

Keypad membutuhkan 8 pin GPIO untuk beroperasi, dan TinyPICO memiliki 8 pin GPIO berturut-turut sehingga kami akan menggunakannya. Anda dapat dengan mudah menghubungkan keypad ke TinyPICO seperti yang ditunjukkan pada gambar di atas.

Langkah 7: Kode untuk Keypad Makro

Kode untuk Keypad Makro
Kode untuk Keypad Makro
Kode untuk Keypad Makro
Kode untuk Keypad Makro

Kode untuk sketsa Macro Keypad dapat ditemukan di Github saya.

Selain library BleKeyboard yang diinstal pada langkah sebelumnya, Anda juga perlu menginstal library untuk keypad, Anda dapat melakukannya dengan membuka pengelola perpustakaan dengan membuka Sketch -> Include Library -> Manage Libraries

Di dalam pengelola perpustakaan, cari "keypad" dan instal yang dibuat oleh Mark Stanley dan Alexander Brevig

Satu konfigurasi yang mungkin perlu Anda buat jika Anda menggunakan ESP32 yang berbeda dari TinyPICO adalah pin keypad, pin tersebut diatur dalam larik rowPins dan colPins. Saat melihat bagian depan keypad dan mulai dari kiri, 4 pin pertama adalah pin baris dan 4 pin kedua adalah pin col.

Setelah selesai, unggah kode ke papan dan Anda harus menguji pada tahap ini apakah itu berfungsi.

Langkah 8: Mari Jadikan Nirkabel

Mari Jadikan Nirkabel!
Mari Jadikan Nirkabel!
Mari Jadikan Nirkabel!
Mari Jadikan Nirkabel!
Mari Jadikan Nirkabel!
Mari Jadikan Nirkabel!
Mari Jadikan Nirkabel!
Mari Jadikan Nirkabel!

Seperti disebutkan sebelumnya, TinyPICO memiliki sirkuit untuk menangani Lipo bawaan sehingga yang perlu kita lakukan hanyalah menghubungkannya. Muncul dengan konektor JST yang dapat disolder ke bawah, atau Anda dapat menggunakan pin Bat dan GND jika Anda ingin melakukannya melalui pin.

Jika Anda menggunakan konektor JST, harap periksa kembali polaritas baterai Anda sesuai dengan TinyPICO, tidak ada standar untuk bagaimana ini harus disambungkan sehingga ada kemungkinan baterai Anda tidak cocok.

Periksa voltase baterai lipo Anda sebelum menggunakannya, adonan yang sehat harus 3V atau lebih tinggi, baterai yang saya temukan dengan konektor JST yang benar membaca 0V!

Saya akhirnya menggunakan sel 18650 di dudukan dan menyoldernya ke konektor JST dari baterai mati.

TinyPICO mengurangi konsumsi dayanya saat kehabisan baterai dengan tidak menyalakan LED apa pun, jadi meskipun tidak menyala, semoga saja! Peningkatan proyek di masa mendatang mungkin adalah mengaktifkan LED dotstar onboard saat startup hanya untuk memberi tahu Anda bahwa itu benar-benar menyala dan mungkin lagi ketika terhubung. Untuk saat ini Anda dapat memeriksa di menu Bluetooth sistem Anda bahwa itu aktif dan terhubung dengan baik.

Langkah 9: Mengujinya

Mengujinya!
Mengujinya!

Mari kita coba, jika saya membuka bagian hotkeys OBS saya dapat mengklik tindakan yang berbeda untuk merekam kombinasi tombol yang akan mengontrolnya, untuk ini kita cukup mengklik tombol pada keypad kita dan itu akan diperbarui.

Setelah Anda mengklik apply, Anda seharusnya tidak dapat menggunakan keypad Anda untuk mengontrol adegan Anda di OBS.

Langkah 10: Terima kasih telah Membaca

Semoga Anda menemukan Instructable ini bermanfaat. Saya ingin mendengar tentang apa yang akan Anda buat dengan jenis pengaturan ini. Tolong beri tahu saya di komentar di bawah, atau bergabunglah dengan saya dan banyak pembuat lain di server Discord saya, di mana kita dapat mendiskusikan topik ini atau pembuat terkait lainnya yang Anda miliki, orang-orang sangat membantu di sana jadi ini adalah tempat yang bagus untuk hang keluar

Saya juga ingin mengucapkan terima kasih yang sebesar-besarnya kepada Sponsor Github saya yang membantu mendukung apa yang saya lakukan, saya sangat menghargainya. Jika Anda tidak tahu, Github mencocokkan sponsor untuk tahun pertama, jadi jika Anda membuat sponsor, mereka akan mencocokkannya 100% untuk beberapa bulan ke depan.

Terima kasih sudah membaca!

Direkomendasikan: