Mundarija:

Vibratsiyali teskari aloqa bilan kengaytiriladigan tugmani qo'llash: 7 qadam (rasmlar bilan)
Vibratsiyali teskari aloqa bilan kengaytiriladigan tugmani qo'llash: 7 qadam (rasmlar bilan)

Video: Vibratsiyali teskari aloqa bilan kengaytiriladigan tugmani qo'llash: 7 qadam (rasmlar bilan)

Video: Vibratsiyali teskari aloqa bilan kengaytiriladigan tugmani qo'llash: 7 qadam (rasmlar bilan)
Video: YANGI KUYOV QAYNISINING XOTINI BILAN JIN..Y ALOQA QILDI VA OXIRI... 2024, Iyul
Anonim
Vibratsiyali teskari aloqa bilan kengaytiriladigan tugmani qo'llash
Vibratsiyali teskari aloqa bilan kengaytiriladigan tugmani qo'llash
Vibratsiyali teskari aloqa bilan kengaytiriladigan tugmani qo'llash
Vibratsiyali teskari aloqa bilan kengaytiriladigan tugmani qo'llash

Ushbu qo'llanmada biz birinchi navbatda Arduino Uno -dan tebranish dvigatelini kengaytirilgan tugma yordamida boshqarishni ko'rsatamiz. Bosish tugmachalari bo'yicha qo'llanmalarning ko'pchiligi jismoniy panelning tugmachasini o'z ichiga oladi, shu bilan birga, bu qo'llanmada tugma non paneliga o'tish kabellari orqali ulanish uchun o'zgartirilgan. Ushbu tugma dvigatelning kuchi va tebranish modelini boshqarishga imkon beradi. Shundan so'ng, biz ushbu moslamadan foydalanadigan taqiladigan texnologiyaning mumkin bo'lgan prototipini ko'rsatamiz. Bu taqiladigan qo'l uchi - tugmachalari biriktirilgan, barmoq uchi cho'zilgan qo'lqop bo'lib, u bosilgan maxsus tugma asosida foydalanuvchiga o'ziga xos tebranish teskari aloqa beradi.

1-qadam: Vibratsiyali dvigatelni sozlash tugmasi uchun zarur bo'lgan komponentlar

Vibratsiyali dvigatelni sozlash tugmasi uchun zarur bo'lgan komponentlar
Vibratsiyali dvigatelni sozlash tugmasi uchun zarur bo'lgan komponentlar
  • Arduino Uno
  • Non paneli
  • Tanga vibratorli tebranish dvigateli
  • Grove tugmasi
  • Erkak-Erkak o'tish simlari (x10)
  • Jumper simli 4 pinli
  • Haptik dvigatel uchun haydovchi
  • Erkak-ayol chekka ulagichi
  • Lehimlash temir

2-qadam: Vibratsiyali dvigatelni sozlash tugmasi sxemasi

Vibratsiyali dvigatelni sozlash tugmasi sxemasi
Vibratsiyali dvigatelni sozlash tugmasi sxemasi

Oldingi diagramma Fritzing.org yordamida tuzilgan.

3-qadam: Vibratsiyali dvigatelni sozlash tugmachasini sozlash

1 -qadam: chekka ulagichini tebranish dvigateliga lehimlang. Tanga vibratorining simlarini tebranish dvigatelining terminallariga lehimlang.

2 -qadam: 4 pinli o'tish kabelini tugma uzilishiga ulang.

3 -qadam: o'tish simlaridan birini ishlatib, Arduino -dagi GRD pinini non panelidagi qatorga ulang.

4 -qadam: Boshqa o'tish simidan foydalanib, Arduino -dagi Volt 3.3 pinini non panelidagi boshqa qatorga ulang.

5 -qadam: Endi biz tebranish dvigatelini Arduino -ga ulaymiz. Uchinchi o'tish simidan foydalanib, tebranish dvigatelidagi GND pinini Arduino -dan GRD -pin bilan bir xil satrga ulang. Vibratsiyali dvigatel drayveridagi VCC (volt) uchun boshqa sim bilan ham xuddi shunday qiling.

6 -qadam: tebranish dvigatelidagi SDA pinini to'g'ridan -to'g'ri Arduino -dagi SDA piniga ulash uchun boshqa simdan foydalaning. Shunga qaramay, ikkalasidagi SCL pinlari bilan ham xuddi shunday qiling. Shu bilan bir qatorda, 5 -qadamga o'xshash yondashuvni bajaring va Arduino -dagi SDA va SCL pinlarini jumper simlari orqali non panelidagi o'z qatorlariga ulang. Keyin SDA pimi non panelida dvigatel drayveridagi SDA piniga ulangan qatordan sim o'tkazing. Dvigatel haydovchisidagi SCL pinigacha, non panelidagi SCL qatori uchun ham xuddi shunday qiling.

7 -qadam: Endi biz tugmani tebranish dvigateli va Arduino -ga ulash orqali tugatamiz. Tugma uzilishiga ulangan 4 pinli o'tish simidan GRDni non panelidagi boshqa GRD simlari bilan bir qatorga ulash uchun boshqa o'tish simidan foydalaning. Xuddi shu narsani volt bilan takrorlang (VCC).

8 -qadam: SIG tugmachasining tugmachasidagi yakuniy yozuvni Arduino piniga ulang (bizning kodimiz uchun biz 7 -pindan foydalanganmiz).

9 -qadam: Arduino -ni ulang va kodni yuklang va uning ishlashini ko'ring!

4 -qadam: Kod

Tugma-tebranish-motor.c

/ * Https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide?_ga=2.227031901.1514248658.1513372975-1149214600.1512613196 dan moslashtirilgan kod */
#qo'shing// SparkFun Haptic Motor Driver kutubxonasi
#qo'shing// I2C kutubxonasi
SFE_HMD_DRV2605L HMD; // Dvigatelli haydovchi obyektini yarating
int tugmasi = 7; // tugmachasi uchun kirish pin 7 ni tanlang
int tugma_val = 0; // pin holatini o'qish uchun o'zgaruvchi
voidsetup ()
{
/ * Haptik dvigatel drayverini ishga tushirish */
HMD.begin ();
Serial.begin (9600);
HMD. Mod (0); // Ichki ishga tushirish rejimi - ijro etish uchun GO () funktsiyasidan foydalanish kerak.
HMD. MotorSelect (0x36); // ERM dvigateli, 4x tormozlash, O'rta pastadir, 1.365x EMF ortish
HMD.kutubxonasi (2); // ERM dvigatellari uchun 1-5 va 7, LRA dvigatellari uchun 6
}
voidloop ()
{
/ * Vibratsiyali dvigatelni ishga tushirish */
HMD.go ();
button_val = digitalRead (tugma);
agar (button_val == HIGH) {
/* Bu tugma bosilganligini qayd qilish uchun chiqadi, debugginh uchun foydalaning*/
Serial.println ("Tugma bosildi.");
/ * To'lqin shakli kutubxonasida 0-122 xil to'lqinlar mavjud */
HMD. Waveform (0, 69);}
boshqa {
/ * Agar tugma bosilmasa, tebranish motorini to'xtating */
HMD.stop ();
}
}

GitHub tomonidan ❤ bilan uyushtirilgan rawButton-Vibration-Motor.c-ni ko'ring

5-qadam: Vibratsiyali dvigatelni sozlash tugmasi haqida video

Image
Image

6 -qadam: Kengaytiriladigan qo'lqop prototipi

Kengaytiriladigan qo'lqop prototipi
Kengaytiriladigan qo'lqop prototipi
Kengaytiriladigan qo'lqop prototipi
Kengaytiriladigan qo'lqop prototipi

Vibratsiyali dvigatelda tugmani qo'llashning mumkin bo'lgan usuli bu qo'lqop. Uzaytiriladigan "barmoq uchlari" ni yaratish uchun biz shprits kabi arzon materiallarni o'zgartirdik. Biz grove tugmalarini velkro yordamida modifikatsiyalangan shpritslarning oxiriga biriktirdik, qo'lqopning barmoq uchlarida teshiklarni kesib, har bir shpritsni teshiklar orasiga joylashtirdik. Tugmalarning 4 pinli o'tish simlari shprits orqali o'tkaziladi va etarlicha uzun bo'lib, siz shpritslarni to'liq uzunligiga cho'zishingiz mumkin. Arduino va non taxtasi qo'lqopning yuqori qismiga velcro orqali biriktirilgan, bu esa tugmachalarning simlarini har bir barmoq uchining kichik teshigi orqali osongina ulash imkonini beradi. Dvigatel drayveri tebranish dvigatelini qo'lqopning ichki qismiga yopishtirish uchun qo'lqopning pastki qismiga teshik bilan biriktiriladi. Qachonki qo'lqop kiyilsa, tebranish dvigateli bilagining pastki qismida joylashgan. Foydalanuvchi sirtga tegib, tugmalardan birini bosganda, vosita orqali o'ziga xos teskari tebranish beriladi.

Bunday qo'lqopni o'ylash jarayoni, uni kiygan odamga oddiy barmoq uchidan tashqaridagi narsalarga "tegishiga" va bu yuzalarga tegayotgani haqidagi fikr -mulohazalarini olishiga imkon beradi. Vibratsiyali teskari aloqa qaysi barmog'i sirtga tegayotganiga qarab o'zgaradi, shuning uchun foydalanuvchi tebranish naqshiga qarab qaysi barmoq yuzasiga tegayotganini bilishi mumkin.

Prototipni oldinga siljitishning ko'p usullari bor, masalan, barmoqlarni cho'zish yoki tegib turgan sirt turiga qarab fikr almashishni o'zgartirish. Ideal holda, uzaytiriladigan barmoqlar yaxshiroq teleskop variantlari uchun 3D bosib chiqarish orqali yaratiladi. Tugmalar o'rniga harorat sensori ishlatilishi mumkin, bu foydalanuvchi tegib turgan sirt qanchalik issiq bo'lishi yoki shunga o'xshash maqsadlar uchun namlik sensori. "Barmoq" qanchalik uzoqqa cho'zilganligini sezish usuli, foydalanuvchiga ular tegayotgan ob'ekt qanchalik uzoqda ekanligini bilish imkonini beradi. Bu prototipni oldinga surishning bir nechta mumkin bo'lgan variantlari.

Bu qo'lqop oddiy materiallardan tayyorlanishi mumkin, bu sizning his -tuyg'ularingizni kengaytirish va foydalanuvchi sezadigan va tushunadigan fikr -mulohazalar yaratishning oson yo'li.

7 -qadam: Noyob tebranishli bir nechta tugmachalarning kodi

mutliple_buttons_to_vibmotor.ino

/ * SparkFun-dan olingan kod https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide */
#qo'shing// SparkFun Haptic Motor Driver kutubxonasi
#qo'shing// I2C kutubxonasi
SFE_HMD_DRV2605L HMD; // Dvigatelli haydovchi obyektini yarating
int tugmasi_midd = 7;
int tugmachasi = 5; // tugma uchun kirish pinini tanlang
int tugmasi_ring = 9;
int tugmasi_pinky = 3;
voidsetup ()
{
HMD.begin ();
Serial.begin (9600);
HMD. Mod (0); // Ichki ishga tushirish rejimi - ijro etish uchun GO () funktsiyasidan foydalanish kerak.
HMD. MotorSelect (0x36); // ERM dvigateli, 4x tormozlash, O'rta pastadir, 1.365x EMF ortish
HMD.kutubxonasi (2); // ERM dvigatellari uchun 1-5 va 7, LRA dvigatellari uchun 6
}
voidloop ()
{
HMD.go (); // tebranish motorini ishga tushiring
/ * Qaysi tugma bosilganligini tekshiring va to'lqin shakli 0-122 */
agar (digitalRead (button_middle) == HIGH) {
Serial.println ("Tugma bosildi.");
HMD. Waveform (0, 112);}
elseif (digitalRead (button_index) == YUQORI) {
HMD. Waveform (0, 20);
}
elseif (digitalRead (button_ring) == HIGH) {
HMD. Waveform (0, 80);
}
elseif (digitalRead (button_pinky) == YUQORI) {
HMD. Waveform (0, 100);
}
/ * Agar tugma bosilmasa, to'xtating */
boshqa {
HMD.stop ();
}
}

rawmutliple_buttons_to_vibmotor.ino ni GitHub ❤ tomonidan joylashtirilganini ko'rish.

Tavsiya: