Kazalo:

Uporaba razširljivega gumba z povratnimi informacijami o vibracijah: 7 korakov (s slikami)
Uporaba razširljivega gumba z povratnimi informacijami o vibracijah: 7 korakov (s slikami)

Video: Uporaba razširljivega gumba z povratnimi informacijami o vibracijah: 7 korakov (s slikami)

Video: Uporaba razširljivega gumba z povratnimi informacijami o vibracijah: 7 korakov (s slikami)
Video: TICWATCH PRO 5 Review: The BEST Wear OS Watch Yet?! // A Complete Guide 2024, November
Anonim
Uporaba razširljivega gumba z povratnimi informacijami o vibracijah
Uporaba razširljivega gumba z povratnimi informacijami o vibracijah
Uporaba razširljivega gumba z povratnimi informacijami o vibracijah
Uporaba razširljivega gumba z povratnimi informacijami o vibracijah

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

Komponente, potrebne za nastavitev motorja z gumbom za vibracijo
Komponente, potrebne za nastavitev motorja z gumbom za vibracijo
  • 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

Sheme za nastavitev motorja z gumbom na vibracijo
Sheme za nastavitev motorja z gumbom na vibracijo

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// Knjižnica gonilnikov haptičnih motorjev SparkFun
#vključi// Knjižnica I2C
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

Image
Image

Korak 6: Prototip rokavic, ki jih je mogoče razširiti

Prototip rokavic razširljiv
Prototip rokavic razširljiv
Prototip rokavic razširljiv
Prototip rokavic razširljiv

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// Knjižnica gonilnikov haptičnih motorjev SparkFun
#vključi// Knjižnica I2C
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: