Isi kandungan:

Aplikasi Butang Yang Boleh Diperluas Dengan Maklum Balas Getaran: 7 Langkah (dengan Gambar)
Aplikasi Butang Yang Boleh Diperluas Dengan Maklum Balas Getaran: 7 Langkah (dengan Gambar)

Video: Aplikasi Butang Yang Boleh Diperluas Dengan Maklum Balas Getaran: 7 Langkah (dengan Gambar)

Video: Aplikasi Butang Yang Boleh Diperluas Dengan Maklum Balas Getaran: 7 Langkah (dengan Gambar)
Video: Learning with Google 2021 2024, November
Anonim
Aplikasi Butang Yang Boleh Diperluas Dengan Maklum Balas Getaran
Aplikasi Butang Yang Boleh Diperluas Dengan Maklum Balas Getaran
Aplikasi Butang Yang Boleh Diperluas Dengan Maklum Balas Getaran
Aplikasi Butang Yang Boleh Diperluas Dengan Maklum Balas Getaran

Dalam tutorial ini, pertama-tama kami akan menunjukkan kepada anda cara menggunakan Arduino Uno untuk mengendalikan motor getaran melalui butang lanjutan. Sebilangan besar tutorial mengenai butang tekan menggunakan butang pada papan roti fizikal, sedangkan dalam tutorial ini, butang tersebut telah diubah suai untuk disambungkan ke papan roti melalui kabel jumper. Butang ini akan membolehkan anda mengawal kekuatan dan corak getaran motor. Berikutan itu, kami akan menunjukkan kemungkinan prototaip teknologi yang boleh dipakai yang menggunakan persediaan ini. Boleh pakai ini adalah sarung tangan dengan hujung jari yang boleh diperpanjang dengan butang yang terpasang di hujungnya, diprogramkan untuk memberikan maklum balas getaran yang unik kepada pemakainya berdasarkan butang tertentu yang ditekan.

Langkah 1: Komponen yang Diperlukan untuk Penyediaan Motor Butang ke Getaran

Komponen yang Diperlukan untuk Penyetelan Motor Butang ke Getaran
Komponen yang Diperlukan untuk Penyetelan Motor Butang ke Getaran
  • Arduino Uno
  • Papan roti
  • Motor Getaran Syiling
  • Butang Grove
  • Wayar Pelompat Lelaki-ke-Lelaki (x10)
  • Jumper Wire 4 Pin
  • Pemandu Motor Haptic
  • Penyambung Tepi Lelaki-ke-Perempuan
  • Besi pematerian

Langkah 2: Skema untuk Penyetelan Motor Butang ke Getaran

Skema untuk Penyetelan Motor Butang ke Getaran
Skema untuk Penyetelan Motor Butang ke Getaran

Gambar rajah sebelumnya dibuat dengan Fritzing.org.

Langkah 3: Penyediaan Butang ke Persediaan Motor Getaran

Langkah 1: Pateri penyambung tepi ke pemandu motor getaran. Pateri wayar penggetar duit syiling ke terminal pemandu motor getaran.

Langkah 2: Sambungkan kabel pelompat 4 pin ke pelarian butang.

Langkah 3: Menggunakan salah satu kabel jumper, sambungkan pin GRD di Arduino ke barisan di papan roti.

Langkah 4: Menggunakan wayar pelompat lain, sambungkan pin Volt 3.3 di Arduino ke baris lain di papan roti.

Langkah 5: Sekarang kita akan menghubungkan pemacu motor getaran ke Arduino. Dengan menggunakan wayar pelompat ketiga, sambungkan pin GND pada pemandu motor getaran ke baris yang sama di papan roti dengan pin GRD dari Arduino. Lakukan perkara yang sama dengan wayar lain untuk VCC (volt) pada pemandu motor getaran, ke baris volt papan roti.

Langkah 6: Gunakan wayar lain untuk menyambungkan pin SDA pada pemandu motor getaran ke pin SDA secara langsung di Arduino. Sekali lagi, lakukan perkara yang sama dengan pin SCL pada kedua-duanya. Sebagai alternatif, ikuti pendekatan serupa untuk langkah 5 dan sambungkan pin SDA dan SCL di Arduino ke baris mereka sendiri di papan roti melalui wayar jumper. Kemudian jalankan wayar dari baris di mana pin SDA disambungkan di papan roti ke pin SDA pada pemandu motor. Lakukan perkara yang sama untuk baris SCL di papan roti hingga pin SCL pada pemandu motor.

Langkah 7: Sekarang kita akan selesai dengan menyambungkan butang ke pemandu motor getaran dan Arduino. Gunakan wayar pelompat lain untuk menyambungkan GRD dari wayar jumper 4 pin yang disambungkan ke pemutus butang ke baris yang sama dengan wayar GRD lain di papan roti. Lakukan perkara yang sama dengan volt sekali lagi (VCC).

Langkah 8: Sambungkan penulisan akhir dari SIG pada pemecahan butang ke pin di Arduino (untuk tujuan kod kami, kami menggunakan pin 7).

Langkah 9: Pasang Arduino dan muat naik kodnya, dan lihat ia berfungsi!

Langkah 4: Kodnya

Butang-Getaran-Motor.c

/ * Kod yang diadaptasi dari https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide?_ga=2.227031901.1514248658.1513372975-1149214600.1512613196 * /
#sertakan// Perpustakaan Pemandu Motor SparkFun Haptic
#sertakan// Perpustakaan I2C
SFE_HMD_DRV2605L HMD; // Buat objek pemacu motor haptik
butang int = 7; // pilih pin input 7 untuk butang tekan
int button_val = 0; // pemboleh ubah untuk membaca status pin
kekosongan ()
{
/ * Memulakan Objek Pemandu Motor Haptic * /
HMD.begin ();
Serial.begin (9600);
HMD. Mode (0); // Mod input pencetus dalaman - Mesti menggunakan fungsi GO () untuk mencetuskan main balik.
HMD. MotorSelect (0x36); // Motor ERM, Brek 4x, Gegaran gelung sederhana, keuntungan EMF belakang 1.365x
Perpustakaan HMD. (2); // 1-5 & 7 untuk motor ERM, 6 untuk motor LRA
}
kekosongan ()
{
/ * Mulakan motor getaran * /
HMD.go ();
button_val = digitalRead (butang);
jika (butang_val == TINGGI) {
/ * Ini output untuk log butang telah ditekan, gunakan untuk debugginh * /
Serial.println ("Butang ditekan.");
/ * Perpustakaan bentuk gelombang mempunyai 0-122 jenis gelombang yang berbeza * /
HMD. Bentuk gelombang (0, 69);}
lain {
/ * Jika butang tidak ditekan, hentikan motor getaran * /
HMD.stop ();
}
}

lihat rawButton-Vibration-Motor.c yang dihoskan dengan ❤ oleh GitHub

Langkah 5: Video Butang ke Penyediaan Motor Getaran

Image
Image

Langkah 6: Prototaip Sarung Tangan Diperluas

Prototaip Sarung Tangan Diperluas
Prototaip Sarung Tangan Diperluas
Prototaip Sarung Tangan Diperluas
Prototaip Sarung Tangan Diperluas

Salah satu kemungkinan penggunaan butang pada motor getaran adalah sarung tangan yang ditunjukkan di atas. Kami telah mengubahsuai bahan yang mudah diakses seperti jarum suntik untuk membuat "hujung jari" yang boleh dilanjutkan. Kami melekatkan butang alur ke hujung jarum suntik yang diubah suai menggunakan velcro, memotong lubang di hujung jari sarung tangan dan meletakkan setiap jarum suntik melalui lubang. Kabel jumper 4 pin dari butang diikat melalui jarum suntik dan cukup panjang sehingga anda dapat memanjangkan jarum suntik hingga panjangnya. Arduino dan papan roti dilampirkan melalui velcro ke bahagian atas sarung tangan, yang membolehkan wayar butang disambungkan dengan mudah melalui celah kecil di dasar setiap hujung jari. Pemacu motor dipasang di bahagian bawah sarung tangan dengan bukaan, untuk melekatkan motor getaran ke bahagian dalam sarung tangan. Apabila pemakai memakai sarung tangan, motor getaran duduk di bahagian bawah pergelangan tangan pemakai. Apabila pemakai menyentuh permukaan dan menekan salah satu butang, getaran maklum balas unik diberikan melalui motor.

Proses pemikiran di sebalik sarung tangan seperti itu adalah untuk membiarkan seseorang yang memakainya untuk "menyentuh" barang-barang di luar jangkauan jari biasa mereka, dan menerima maklum balas bahawa mereka menyentuh permukaan ini. Maklum balas getaran berubah bergantung pada jari mana yang menyentuh permukaan, sehingga pengguna dapat memberitahu jari mana yang menyentuh permukaan berdasarkan corak getaran.

Ada banyak cara untuk membuat prototaip lebih jauh, seperti membuat jari lebih mudah diperpanjang, atau membuat perubahan maklum balas berdasarkan jenis permukaan yang disentuh. Sebaik-baiknya, jari yang boleh diperpanjang akan dibuat melalui percetakan 3D, untuk pilihan teleskop yang lebih baik. Sensor suhu dapat digunakan sebagai pengganti tombol, untuk memberi maklum balas tentang seberapa panas permukaan yang disentuh pengguna, atau sensor kelembapan untuk tujuan serupa. Cara untuk mengetahui sejauh mana "jari" telah diperluas dapat dilaksanakan, untuk memungkinkan pengguna mengetahui sejauh mana objek yang mereka sentuh berada. Ini hanya beberapa pilihan yang mungkin untuk mengambil prototaip ini lebih jauh.

Sarung tangan ini boleh dibuat dengan bahan biasa sebagai cara mudah untuk memperluas deria anda dan membuat maklum balas yang dapat dirasakan dan difahami oleh pengguna.

Langkah 7: Kod untuk Berbilang Butang Dengan Output Getaran Unik

mutliple_buttons_to_vibmotor.ino

/ * Kod Diadaptasi dari SparkFun https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide * /
#sertakan// Perpustakaan Pemandu Motor SparkFun Haptic
#sertakan// Perpustakaan I2C
SFE_HMD_DRV2605L HMD; // Buat objek pemacu motor haptik
int button_middle = 7;
int button_index = 5; // pilih pin input untuk butang tekan
int button_ring = 9;
int button_pinky = 3;
kekosongan ()
{
HMD.begin ();
Serial.begin (9600);
HMD. Mode (0); // Mod input pencetus dalaman - Mesti menggunakan fungsi GO () untuk mencetuskan main balik.
HMD. MotorSelect (0x36); // Motor ERM, Brek 4x, Gegaran gelung sederhana, keuntungan EMF belakang 1.365x
Perpustakaan HMD. (2); // 1-5 & 7 untuk motor ERM, 6 untuk motor LRA
}
kekosongan ()
{
HMD.go (); // mulakan motor getaran
/ * Periksa butang mana yang ditekan dan keluarkan bentuk gelombang 0-122 * /
jika (digitalRead (button_middle) == TINGGI) {
Serial.println ("Butang ditekan.");
HMD. Waveform (0, 112);}
elseif (digitalRead (button_index) == TINGGI) {
HMD. Waveform (0, 20);
}
elseif (digitalRead (butang_ring) == TINGGI) {
HMD. Waveform (0, 80);
}
elseif (digitalRead (button_pinky) == TINGGI) {
HMD. Waveform (0, 100);
}
/ * Sekiranya tiada butang ditekan, hentikan * /
lain {
HMD.stop ();
}
}

lihat rawmutliple_buttons_to_vibmotor.ino dihoskan dengan ❤ oleh GitHub

Disyorkan: