Sadržaj:
- Korak 1: Komponente potrebne za postavljanje motora na gumb za vibraciju
- Korak 2: Sheme za postavljanje motora na gumb za vibraciju
- Korak 3: Postavljanje gumba na vibracijski motor
- Korak 4: Kôd
- Korak 5: Videozapis postavljanja gumba za vibracijski motor
- Korak 6: Prototip rukavica koje se mogu produžiti
- Korak 7: Kôd za više gumba s jedinstvenim izlazom vibracije
Video: Primjena proširivog gumba s povratnom vibracijom: 7 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:34
U ovom ćemo vam vodiču prvo pokazati kako koristiti Arduino Uno za upravljanje motorom vibracija putem produženog gumba. Većina vodiča o gumbima za uključivanje uključuje gumb na fizičkoj ploči, dok je u ovom vodiču gumb izmijenjen tako da se umjesto njega spoji na matičnu ploču putem kratkospojnih kabela. Ovaj gumb omogućit će vam kontrolu snage i vibracija motora. Nakon toga pokazat ćemo mogući prototip nosive tehnologije koja koristi ovu postavku. Ova nosive rukavice su rukavice s produživim vrhovima prstiju s gumbima pričvršćenim na kraju, programirane za davanje jedinstvene vibracijske povratne informacije nositelju na temelju specifičnog gumba pritisnutog.
Korak 1: Komponente potrebne za postavljanje motora na gumb za vibraciju
- Arduino Uno
- Oglasna ploča
- Vibracijski motor vibracijskog novčića
- Dugme Grove
- Žice kratkospojnika muški na muški (x10)
- Kratkospojna žica 4 pin
- Vozač haptičkog motora
- Rubni priključak muško-žensko
- Lemilica
Korak 2: Sheme za postavljanje motora na gumb za vibraciju
Prethodni dijagram izrađen je s Fritzing.org.
Korak 3: Postavljanje gumba na vibracijski motor
Korak 1: Lemite rubni priključak na upravljački program motora s vibracijama. Lemiti žice novčića vibratora u stezaljke pogona motora vibracije.
Korak 2: Spojite 4 -polni kabel kratkospojnika na prekidač gumba.
Korak 3: Pomoću jedne od kratkospojnih žica spojite GRD iglu na Arduinu u red na ploči.
Korak 4: Pomoću druge kratkospojne žice spojite iglu Volt 3.3 na Arduinu u drugi red na ploči.
Korak 5: Sada ćemo spojiti upravljački program motora s vibracijama na Arduino. Pomoću treće kratkospojne žice spojite GND pin na upravljačkom programu motora s vibracijama u isti red na ploči s GRD iglom iz Arduina. Učinite isto s drugom žicom za VCC (volt) na pogonu motora vibracije, do reda voltova na ploči.
Korak 6: Upotrijebite još jednu žicu za povezivanje SDA pina na upravljačkom programu motora s vibracijama sa SDA pinom izravno na Arduinu. Opet, učinite isto sa SCL pinovima na obje strane. Alternativno, slijedite sličan pristup koraku 5 i spojite SDA i SCL pinove na Arduinu s vlastitim redovima na matičnoj ploči putem kratkospojnih žica. Zatim povežite žicu iz reda gdje je SDA pin spojen na matičnoj ploči sa SDA iglom na upravljačkom programu motora. Učinite isto za SCL red na ploči s SCL iglom na upravljačkom programu motora.
Korak 7: Sada ćemo završiti povezivanjem gumba s upravljačkim programom motora za vibracije i Arduinom. Upotrijebite drugu kratkospojnu žicu za spajanje GRD -a s 4 -polne žice kratkospojnika spojene na prekidač gumba u isti red kao i ostale žice GRD -a na ploči. Učinite isto s voltom još jednom (VCC).
Korak 8: Spojite posljednji zapis od SIG -a na prekidaču gumba s pinom na Arduinu (za potrebe našeg koda koristili smo pin 7).
Korak 9: Uključite Arduino i prenesite kôd te gledajte kako radi!
Korak 4: Kôd
Gumb-Vibracijski motor.c
/ * Kôd prilagođen s https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide?_ga=2.227031901.1514248658.1513372975-1149214600.1512613196 */ |
#uključi |
#uključi |
SFE_HMD_DRV2605L HMD; // Stvaranje objekta upravljačkog programa haptičkog motora |
int gumb = 7; // odaberite ulazni pin 7 za tipku |
int button_val = 0; // varijabla za čitanje statusa pina |
voidsetup () |
{ |
/ * Pokreni objekt pogona haptičkog motora */ |
HMD.begin (); |
Serial.begin (9600); |
HMD.način rada (0); // Unos internog okidača - Za pokretanje reprodukcije morate koristiti funkciju GO (). |
HMD. MotorSelect (0x36); // ERM motor, 4x kočenje, pojačanje srednje petlje, 1,365x povratak EMF pojačanja |
HMD. Knjižnica (2); // 1-5 i 7 za ERM motore, 6 za LRA motore |
} |
voidloop () |
{ |
/ * Pokrenite motor za vibracije */ |
HMD.go (); |
button_val = digitalRead (gumb); |
if (button_val == HIGH) { |
/* Ovaj izlaz za bilježenje da je gumb pritisnut, upotrijebite za otklanjanje pogrešaka*/ |
Serial.println ("Gumb pritisnut."); |
/ * Knjižnica valnih oblika ima 0-122 različite vrste valova */ |
HMD. Talasni oblik (0, 69);} |
drugo{ |
/ * Ako gumb ne pritisnete, zaustavite motor za vibracije */ |
HMD.stop (); |
} |
} |
pogledajte rawButton-Vibration-Motor.c hostirano sa ❤ od strane GitHub-a
Korak 5: Videozapis postavljanja gumba za vibracijski motor
Korak 6: Prototip rukavica koje se mogu produžiti
Jedna od mogućih primjena gumba na vibracijski motor je gornja rukavica. Modificirali smo jeftine pristupačne materijale, poput šprica, kako bismo napravili "vrhove prstiju" koji se mogu produžiti. Gumbe utora smo pričvrstili na kraj modificiranih štrcaljki čičkom, izrezali rupice na vrhovima prstiju rukavice i svaku štrcaljku stavili kroz rupice. 4 -pinske kratkospojne žice gumba provučene su kroz štrcaljke i dovoljno su dugačke da ih možete izvući do pune duljine. Arduino i ploča za pričvršćivanje pričvršćeni su čičkom na vrh rukavice, što omogućuje jednostavno povezivanje žica gumba kroz mali prorez na dnu svakog vrha prsta. Vozač motora pričvršćen je na donju stranu rukavice otvorom, kako bi zalijepio motor za vibracije na unutrašnjost rukavice. Kad nosilac nosi rukavicu, vibracijski motor sjedi s donje strane zgloba. Kada korisnik dodirne površinu i pritisne jedan od gumba, kroz motor se daje jedinstvena povratna vibracija.
Proces razmišljanja iza takve rukavice bio bi dopustiti nekome tko je nosi da "dodirne" stvari izvan dosega njihovih uobičajenih vrhova prstiju i primi povratnu informaciju da dodiruje te površine. Povratne informacije o vibracijama mijenjaju se ovisno o tome koji prst dodiruje površinu, tako da je korisniku moguće reći koji prst dodiruje površinu na temelju uzorka vibracija.
Postoji mnogo načina da se prototip poboljša, poput povećavanja prstiju ili mijenjanja povratnih informacija ovisno o vrsti površine koju se dodiruje. U idealnom slučaju, rastezljivi prsti bili bi stvoreni putem 3D ispisa, radi boljih mogućnosti teleskopa. Umjesto gumba mogao bi se koristiti temperaturni senzor koji omogućuje povratnu informaciju koliko je vruća površina koju korisnik dodiruje ili senzor vlage za slične svrhe. Mogao bi se primijeniti način da se osjeti koliko je "prst" produžen, kako bi se korisniku omogućilo da zna koliko je udaljen objekt koji dodiruje. Ovo je samo nekoliko mogućih mogućnosti za daljnji razvoj ovog prototipa.
Ova rukavica može biti izrađena od uobičajenih materijala kao jednostavan način za proširenje vaših osjetila i stvaranje povratnih informacija koje korisnik može osjetiti i razumjeti.
Korak 7: Kôd za više gumba s jedinstvenim izlazom vibracije
mutliple_buttons_to_vibmotor.ino
/ * Kôd prilagođen sa SparkFuna https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide */ |
#uključi |
#uključi |
SFE_HMD_DRV2605L HMD; // Stvaranje objekta upravljačkog programa haptičkog motora |
int gumb_srednja = 7; |
int button_index = 5; // odabir ulaznog pina za tipku |
int button_ring = 9; |
int button_pinky = 3; |
voidsetup () |
{ |
HMD.begin (); |
Serial.begin (9600); |
HMD.način rada (0); // Unos internog okidača - Za pokretanje reprodukcije morate koristiti funkciju GO (). |
HMD. MotorSelect (0x36); // ERM motor, 4x kočenje, pojačanje srednje petlje, 1,365x povratak EMF pojačanja |
HMD. Knjižnica (2); // 1-5 i 7 za ERM motore, 6 za LRA motore |
} |
voidloop () |
{ |
HMD.go (); // pokretanje vibracijskog motora |
/ * Provjerite koje je dugme pritisnuto i izlažite valni oblik 0-122 */ |
if (digitalRead (button_middle) == HIGH) { |
Serial.println ("Gumb pritisnut."); |
HMD. Talasni oblik (0, 112);} |
elseif (digitalRead (button_index) == VISOKO) { |
HMD. Talasni oblik (0, 20); |
} |
elseif (digitalRead (button_ring) == HIGH) { |
HMD. Talasni oblik (0, 80); |
} |
elseif (digitalRead (button_pinky) == HIGH) { |
HMD. Talasni oblik (0, 100); |
} |
/ * Ako se ne pritisne nijedan gumb, zaustavite */ |
drugo{ |
HMD.stop (); |
} |
} |
pogledajte rawmutliple_buttons_to_vibmotor.ino hosted with ❤ by GitHub
Preporučeni:
Otvarač garažnih vrata s povratnom informacijom pomoću Esp8266 kao web poslužitelja .: 6 koraka
Otvarač garažnih vrata s povratnim informacijama pomoću Esp8266 kao web poslužitelja. Bok, pokazat ću vam kako napraviti jednostavan način za otvaranje garažnih vrata.-ESP8266 je kodiran kao web poslužitelj, vrata se mogu otvoriti svugdje u svijetu- povratne informacije, znat ćete jesu li vrata otvorena ili zatvorena u stvarnom vremenu-Jednostavno, samo jedan prečac za
Primjena vođenja bodova Petanque / Jeu-de-Boules: 7 koraka
Aplikacija za čuvanje bodova Petanque / Jeu-de-Boules: Ovo je aplikacija za čuvanje bodova u Petanqueu (ponekad se naziva i Jeu de Boules) za Android. Ova se aplikacija može koristiti onakva kakva jest i potpuno je funkcionalna. Ili se može koristiti u kombinaciji s prikazom Petanque Matrix [zasebna instrukcija
Hakiranje gumba vrata jubilarne linije londonskog podzemlja: 12 koraka (sa slikama)
Hakiranje gumba za vrata londonske podzemne jubilejske linije: Londonski transportni muzej prodaje raskinute gumbe na vratima Jubilee linije (dostupna su i lijeva i desna strana). Ako razmišljate o izvođenju projekta za koji je potrebno gumb i neka vrsta indikatora, bili biste
Primjena MCP-23008 pomoću relejnog sučelja (I2C) :: 6 koraka
Primjena MCP-23008 pomoću relejnog sučelja (I2C) :: HelloGood Pozdrav .. !! Ja (Somanshu Choudhary) u ime tehnoloških pothvata Dcubea idem kontrolirati releje putem I2C protokola koristeći Arduino nano i MCP23008
WalabotEye - Tracker Object Tracker sa haptičkom povratnom spregom: 11 koraka
WalabotEye - Tracker Object Tracker sa haptičkom povratnom spregom: Za osobe s slabim vidom, koristite ovo za bolje razumijevanje svijeta oko sebe