Kazalo:
- Korak: Komponente, potrebne za nastavitev gumba za vibracijo motorja
- 2. korak: Sheme za nastavitev gumba za vibracijo motorja
- 3. korak: Nastavitev gumba na nastavitev vibracijskega motorja
- 4. korak: Koda
- 5. korak: Videoposnetek gumba za nastavitev vibracijskega motorja
- Korak 6: Prototip rokavic, ki jih je mogoče razširiti
- 7. korak: Koda za več gumbov z edinstvenim izhodom vibracij
Video: Uporaba razširljivega gumba z povratnimi informacijami o vibracijah: 7 korakov (s slikami)
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:04
V tej vadnici vam bomo najprej pokazali, kako uporabljati Arduino Uno za nadzor vibracijskega motorja prek razširjenega gumba. Večina vadnic o potisnih gumbih vključuje gumb na fizični ploščici, medtem ko je bil v tej vadnici gumb spremenjen tako, da je namesto tega prek mostičnih kablov povezan z mizo. Ta gumb vam omogoča nadzor moči in vzorca vibracij motorja. Nato bomo pokazali možen prototip nosljive tehnologije, ki uporablja to nastavitev. Ta nosljiva rokavica je z raztegljivimi konicami prstov z gumbi, pritrjenimi na koncu, programirana tako, da uporabniku daje edinstvene povratne informacije o vibracijah glede na pritisnjen gumb.
Korak: Komponente, potrebne za nastavitev gumba za vibracijo motorja
- Arduino Uno
- Ogledna plošča
- Vibracijski motor na kovanec
- Gumb Grove
- Moške žice za moške (x10)
- Mostična žica 4 Pin
- Gonilnik haptičnega motorja
- Robni priključek moški-ženski
- Spajkalnik
2. korak: Sheme za nastavitev gumba za vibracijo motorja
Prejšnji diagram je bil ustvarjen s Fritzing.org.
3. korak: Nastavitev gumba na nastavitev vibracijskega motorja
1. korak: Spojite robni priključek na gonilnik motorja za vibracije. Spajate žice kovancev vibratorja v sponke gonilnika vibracijskega motorja.
Korak: Priključite 4 -polni mostični kabel na odklop gumba.
3. korak: Z eno od mostičnih žic priključite zatič GRD na Arduinu v vrsto na plošči.
4. korak: Z drugo mostično žico priključite nožico Volt 3.3 na Arduinu v drugo vrstico na plošči.
5. korak: Zdaj bomo gonilnik vibracijskega motorja povezali z Arduinom. S tretjo mostično žico priključite zatič GND na gonilniku motorja za vibracije v isto vrstico na plošči kot GRD zatič iz Arduina. Enako storite z drugo žico za VCC (volt) na gonilniku motorja za vibracije, do voltne vrstice na plošči.
Korak 6: Uporabite še eno žico za priključitev zatiča SDA na gonilniku vibracijskega motorja na zatič SDA neposredno na Arduinu. Ponovite isto z nožicami SCL na obeh. Druga možnost je, da sledite podobnemu pristopu v koraku 5 in povežete zatiče SDA in SCL na Arduinu z lastnimi vrsticami na plošči prek mostičnih žic. Nato potegnite žico iz vrstice, kjer je na matični plošči priključen zatič SDA, za zatič SDA na gonilniku motorja. Enako naredite za vrstico SCL na plošči do zatiča SCL na gonilniku motorja.
7. korak: Zdaj bomo zaključili s povezavo gumba z gonilnikom motorja za vibracije in Arduinom. Z drugo mostično žico priključite GRD iz 4 -polne mostične žice, povezane z odmikom gumba, v isto vrstico kot druge žice GRD na plošči. Enako ponovite z voltom (VCC).
Korak 8: Končni zapis iz SIG -a pri prekinitvi gumba povežite z nožico na Arduinu (za namene naše kode smo uporabili pin 7).
9. korak: Priključite Arduino in naložite kodo ter opazujte njeno delovanje!
4. korak: Koda
Gumb-Vibracijski motor.c
/ * Koda prilagojena s https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide?_ga=2.227031901.1514248658.1513372975-1149214600.1512613196 */ |
#vključi |
#vključi |
SFE_HMD_DRV2605L HMD; // Ustvari objekt gonilnika haptičnega motorja |
gumb int = 7; // izberite vhodni pin 7 za gumb |
int button_val = 0; // spremenljivka za branje statusa pin |
voidsetup () |
{ |
/ * Inicializirajte objekt gonilnika haptičnega motorja */ |
HMD.begin (); |
Serial.begin (9600); |
HMD. način (0); // Notranji način vnosa sprožilca - Za predvajanje morate uporabiti funkcijo GO (). |
HMD. MotorSelect (0x36); // ERM motor, 4 -kratno zaviranje, srednja zanka, 1,365 -kratna povratna vrednost EMF |
Knjižnica HMD (2); // 1-5 in 7 za motorje ERM, 6 za motorje LRA |
} |
voidloop () |
{ |
/ * Zaženite vibracijski motor */ |
HMD.go (); |
button_val = digitalno branje (gumb); |
if (button_val == HIGH) { |
/* Ta izhod za zapis tega gumba je pritisnjen, uporabite za odpravljanje napak*/ |
Serial.println ("Gumb pritisnjen."); |
/ * Knjižnica valovnih oblik ima 0-122 različnih vrst valov */ |
HMD. Waveform (0, 69);} |
drugače { |
/ * Če gumba ne pritisnete, ustavite vibracijski motor */ |
HMD.stop (); |
} |
} |
oglejte si rawButton-Vibration-Motor.c, ki ga gosti ❤ GitHub
5. korak: Videoposnetek gumba za nastavitev vibracijskega motorja
Korak 6: Prototip rokavic, ki jih je mogoče razširiti
Ena od možnih aplikacij gumba na vibracijskem motorju je zgornja rokavica. Za poceni "konice prstov" smo spremenili poceni dostopne materiale, kot so brizge. Gumbe nasadov smo pritrdili na konec spremenjenih injekcijskih brizg z velcro, izrezali luknje na konicah prstov rokavice in vsako brizgo postavili skozi luknje. 4 -polne mostične žice gumbov so napete skozi brizge in so dovolj dolge, da jih lahko raztegnete do celotne dolžine. Arduino in plošča sta s pomočjo ježka pritrjena na vrh rokavice, kar omogoča enostavno povezavo žic gumbov skozi majhno režo na dnu vsake konice prsta. Voznik motorja je pritrjen na spodnjo stran rokavice z odprtino, da se vibracijski motor prilepi na notranjo stran rokavice. Ko ima uporabnik rokavico, vibracijski motor sedi na spodnji strani zapestja uporabnika. Ko se uporabnik dotakne površine in pritisne enega od gumbov, se skozi motor poda edinstvena povratna vibracija.
Miselni proces za takšno rokavico bi bil omogočiti, da se nekdo, ki jo nosi, "dotakne" stvari, ki so izven dosega njihovih običajnih prstov, in prejeti povratne informacije, da se dotikajo teh površin. Povratne informacije o vibracijah se spreminjajo glede na to, kateri prst se dotika površine, tako da lahko uporabnik na podlagi vzorca vibracij pove, kateri prst se dotika površine.
Obstaja veliko načinov za nadaljnji razvoj prototipa, na primer povečanje prstov ali spreminjanje povratnih informacij glede na vrsto površine, ki se je dotika. V idealnem primeru bi s 3D tiskanjem ustvarili iztegljive prste za boljše možnosti teleskopiranja. Namesto gumbov bi lahko uporabili temperaturni senzor, ki omogoča povratne informacije o tem, kako vroča je površina, ki se je uporabnik dotika, ali senzor vlage za podobne namene. Lahko bi izvedli način, kako zaznati, kako daleč je bil »prst« iztegnjen in uporabniku omogočil, da ve, kako daleč je predmet, ki se ga dotika. To je le nekaj možnih možnosti za nadaljnji razvoj tega prototipa.
Ta rokavica je lahko izdelana iz običajnih materialov kot enostaven način za razširitev čutov in ustvarjanje povratnih informacij, ki jih uporabnik čuti in razume.
7. korak: Koda za več gumbov z edinstvenim izhodom vibracij
mutliple_buttons_to_vibmotor.ino
/ * Koda prilagojena s strani SparkFun https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide */ |
#vključi |
#vključi |
SFE_HMD_DRV2605L HMD; // Ustvari objekt gonilnika haptičnega motorja |
int button_middle = 7; |
int button_index = 5; // izberite vhodni pin za gumb |
int button_ring = 9; |
int button_pinky = 3; |
voidsetup () |
{ |
HMD.begin (); |
Serial.begin (9600); |
HMD. način (0); // Notranji način vnosa sprožilca - Za predvajanje morate uporabiti funkcijo GO (). |
HMD. MotorSelect (0x36); // motor ERM, 4 -kratno zaviranje, srednja zanka, 1,365 -kratni povratni dobiček EMF |
Knjižnica HMD (2); // 1-5 in 7 za motorje ERM, 6 za motorje LRA |
} |
voidloop () |
{ |
HMD.go (); // zaženemo vibracijski motor |
/ * Preverite, kateri gumb je pritisnjen in oddajte valovno obliko 0-122 */ |
if (digitalRead (button_middle) == HIGH) { |
Serial.println ("Gumb pritisnjen."); |
HMD. Waveform (0, 112);} |
elseif (digitalRead (button_index) == HIGH) { |
HMD. Valovna oblika (0, 20); |
} |
elseif (digitalRead (button_ring) == HIGH) { |
HMD. Valovna oblika (0, 80); |
} |
elseif (digitalRead (button_pinky) == HIGH) { |
HMD. Valovna oblika (0, 100); |
} |
/ * Če ne pritisnete nobenega gumba, ustavite */ |
drugače { |
HMD.stop (); |
} |
} |
oglejte si rawmutliple_buttons_to_vibmotor.ino z ❤ pri GitHubu
Priporočena:
Odpirač garažnih vrat s povratnimi informacijami, ki uporabljajo Esp8266 kot spletni strežnik .: 6 korakov
Odpirač garažnih vrat s povratnimi informacijami z uporabo Esp8266 kot spletnega strežnika. Pozdravljeni, pokazal vam bom, kako narediti preprost način za odpiranje garažnih vrat.-ESP8266 je kodiran kot spletni strežnik, vrata so lahko odprta povsod po svetu- povratne informacije, boste vedeli, ali so vrata odprta ali zaprta v realnem času-preprosto, samo ena bližnjica do
Pošiljanje podatkov o brezžičnih vibracijah in temperaturi v Googlove liste z uporabo Node-RED: 37 korakov
Pošiljanje podatkov o brezžičnih vibracijah in temperaturi v Googlove liste z uporabo Node-RED: Predstavljamo NCD-jev industrijski brezžični senzor vibracij in temperature IoT Long Range IoT, ki se ponaša z uporabo brezžične mrežne strukture do 2 milj. Ta naprava vključuje natančen 16-bitni senzor vibracij in temperature, ki
WalabotEye - Sledilnik objektov s povratnimi povratnimi informacijami: 11 korakov
WalabotEye - Sledilnik objektov s haptičnimi povratnimi informacijami: Za slabovidnost uporabite to za boljše razumevanje sveta okoli vas
Uporaba gumba za vklop in izklop Led with CloudX M633: 3 koraki
Uporaba gumba za VKLOP/IZKLOP Led z CloudX M633: < img src = " https: //www.instructables.com/files/deriv/FLC/57B2…"/> Ali ste vedeli, da lahko z uporabo CloudX M633 vklopite LED, ko pritisnete gumb? V tem projektu vam bom pokazal, kako lahko uporabite gumb za vklop in izklop LED. wh
Enostaven zaslon ergometra na osnovi Arduina z različnimi povratnimi informacijami: 7 korakov (s slikami)
Enostaven zaslon ergometra na osnovi Arduina z različnimi povratnimi informacijami: Kardio vadba je dolgočasna, še posebej pri vadbi v zaprtih prostorih. Več obstoječih projektov to poskuša ublažiti tako, da naredi kul stvari, na primer povezovanje ergometra z igralno konzolo ali celo simulacijo prave vožnje s kolesom v VR. Razburljivo kot to