Opsional: shield sederhana menggunakan papan perfboard.
Tentang Proyek
Kali terakhir saya membuat presentasi PowerPoint, terasa merepotkan harus terus memegang mouse selama presentasi. Mouse tidak dirancang untuk fungsi ini.
Dengan presentasi baru berjudul "Pengantar Arduino", saya berpikir bahwa cara terbaik untuk menunjukkan beberapa kemampuan papan Arduino adalah dengan membuat alat presenter PowerPoint cepat dengannya.
Ide pertama yang muncul: "Mengapa tidak menggunakan Remote TV?" Remote TV dirancang untuk dipegang dalam posisi yang lebih ergonomis dibanding mouse (untuk kasus ini).
Komponen
Untuk proyek ini Anda membutuhkan:
1x Remote TV
1x Arduino Leonardo (mungkin juga dengan UNO, namun beberapa modifikasi diperlukan)
1x sensor IR (saya menggunakan VS1838B)
Opsional - saya membuat shield yang sangat mudah menggunakan perfboard
Menghubungkan Komponen
Diagram koneksinya sangat mudah. Hubungkan GND sensor ke pin GND Arduino, 5V sensor ke pin 5V Arduino, dan pin Data sensor ke Digital Pin 2 Arduino.
Kode
Bagian kode dibagi menjadi dua langkah. Pada langkah pertama, Anda perlu membaca tombol yang ingin digunakan dari Remote TV. Untuk ini, Anda dapat mendekode sinyal IR yang dikirimkan oleh remote.
Pada bagian kedua, kita akan menggunakan informasi dari langkah satu dan menetapkan tombol ke fungsi baru sebagai pointer PowerPointer.
Mulai dengan mengunduh Perpustakaan Arduino IRremote dan instal di folder yang benar. Anda dapat mengunduhnya dari sana.
Jangan lupa untuk mengikuti prosedur instalasi yang direkomendasikan di halaman github.
Untuk langkah satu, unggah Kode 1 ke Arduino Anda. Buka jendela Serial Monitor, jika semuanya baik, Anda seharusnya mulai melihat angka berbeda setiap kali menekan tombol pada remote TV.
Simpan angka yang sesuai dengan tombol yang ingin Anda gunakan. Dalam kasus saya, saya menggunakan tombol maju dan mundur tengah pada remote TV saya.
Ganti angka saya dalam struktur "If" pada Kode 2 dan unggah.
Jika Anda menggunakan Arduino Leonardo, setelah diunggah, setiap kali menekan tombol remote TV yang dipilih, mereka akan bertindak sebagai panah maju dan mundur dari keyboard Anda.
Pada PowerPoint
Sekarang buka presentasi Anda dan jika Anda berada dalam "Slide Mode", slide akan berubah maju dan mundur setiap kali Anda menekan tombol yang sebelumnya dipilih dari remote TV Anda.
Papan Arduino Lainnya
Jika Anda menggunakan papan Arduino lainnya, saya pikir juga memungkinkan untuk membuat proyek ini, namun beberapa perubahan perlu dilakukan.
Perbedaan besar adalah chip Atmega8U2 atau setara, yang bertanggung jawab atas komunikasi antara ATmega328 dan komputer, perlu di-flash. Saya tidak perlu melakukan ini, karena dengan Arduino Leonardo, Zero, dan DUE muncul sebagai keyboard atau mouse asli ketika didefinisikan dan terhubung ke komputer Anda.
Ada beberapa dukungan mengenai topik ini di forum.arduino.cc.
Jika Anda melakukan perubahan ini, tolong beri tahu saya atau posting informasi ini di halaman proyek ini agar pengguna lain juga mendapat tahu :)
Seperti biasa, tolong tulis ke saya jika Anda menemukan kesalahan atau jika Anda memiliki saran/perbaikan atau pertanyaan.
Terima kasih telah membaca.
Kode
PPT_Pointer_Code_2.ino
PPT_Pointer_Code_1.ino
PPT_Pointer_Code_2.inoArduino
#include <IRremote.h> #include "Keyboard.h" int RECV_PIN = 2; IRrecv irrecv(RECV_PIN); decode_results results; int key_pressed; int last_key_pressed; void setup() { Serial.begin(9600); irrecv.enableIRIn(); // Start the receiver Keyboard.begin(); } void loop() { //Stuff to read the TV remote if (irrecv.decode(&results)) { key_pressed = results.value; Serial.println(key_pressed); irrecv.resume(); // Receive the next value } if (key_pressed == last_key_pressed) key_pressed = 0; //I only want to check one time, what key was pressed if (key_pressed == 18105) { //Change this number according to the keys that you want to use in your remote Keyboard.press(KEY_RIGHT_ARROW); Keyboard.releaseAll(); } if (key_pressed == -22951) {//Change this number according to the keys that you want to use in your remote Keyboard.press(KEY_LEFT_ARROW ); Keyboard.releaseAll(); } last_key_pressed = key_pressed; }
PPT_Pointer_Code_1.inoArduino
#include <IRremote.h> int RECV_PIN = 2; IRrecv irrecv(RECV_PIN); decode_results results; int key_pressed; void setup() { Serial.begin(9600); irrecv.enableIRIn(); // Start the receiver } void loop() { if (irrecv.decode(&results)) { key_pressed = results.value; Serial.println(key_pressed); irrecv.resume(); // Receive the next value } delay(100); }