Sadržaj:
- Korak 1: Komponente potrebne za postavljanje motora na dugme za vibraciju
- Korak 2: Sheme za postavljanje motora s gumbom na vibraciju
- Korak 3: Postavljanje dugmeta na vibracijski motor
- Korak 4: Kôd
- Korak 5: Video zapis gumba za podešavanje vibracijskog motora
- Korak 6: Prototip rukavica koje se mogu produžiti
- Korak 7: Kôd za više tipki s jedinstvenim izlazom vibracije
Video: Primjena proširivog dugmeta s povratnom vibracijom: 7 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:06
U ovom vodiču prvo ćemo vam pokazati kako koristiti Arduino Uno za upravljanje motorom vibracija putem produženog gumba. Većina vodiča o gumbima uključuje gumb na fizičkoj ploči, dok je u ovom vodiču gumb izmijenjen tako da se umjesto toga poveže s matičnom pločom pomoću kratkospojnih kabela. Ovo dugme će vam omogućiti kontrolu snage i vibracije 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 korisniku na temelju specifičnog gumba pritisnutog.
Korak 1: Komponente potrebne za postavljanje motora na dugme za vibraciju
- Arduino Uno
- Breadboard
- Motor za vibracije sa vibratorom novčića
- Grove Button
- Žice kratkospojnika muški na muški (x10)
- Žica kratkospojnika 4 Pin
- Vozač haptičkog motora
- Rubni konektor muško-ženski
- Lemilica
Korak 2: Sheme za postavljanje motora s gumbom na vibraciju
Prethodni dijagram je kreiran sa Fritzing.org.
Korak 3: Postavljanje dugmeta na vibracijski motor
Korak 1: Lemite rubni konektor na pokretač motora vibracije. Lemiti žice novčića vibratora u stezaljke pogona motora za vibracije.
Korak 2: Spojite 4 -pinski kratkospojnik na prekidač dugmeta.
Korak 3: Pomoću jedne od kratkospojnika povežite GRD iglu na Arduinu u red na matičnoj ploči.
Korak 4: Pomoću druge kratkospojne žice spojite iglu Volt 3.3 na Arduinu u drugi red na matičnoj 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 matičnoj ploči kao i GRD pin iz Arduina. Učinite isto s drugom žicom za VCC (volt) na pogonu motora vibracije, do reda volta 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 oba. 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 vodite ž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 matičnoj ploči sa 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 sa 4 -pinske kratkospojne žice spojene na prekidač dugmeta u isti red kao i ostale GRD žice na ploči. Učinite isto s voltom još jednom (VCC).
Korak 8: Spojite posljednje pisanje iz SIG -a na prekidaču dugmeta s pinom na Arduinu (za potrebe našeg koda koristili smo pin 7).
Korak 9: Uključite Arduino i prenesite kôd i gledajte kako radi!
Korak 4: Kôd
Button-Vibration-Motor.c
/ * Kôd prilagođen sa https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide?_ga=2.227031901.1514248658.1513372975-1149214600.1512613196 */ |
#include |
#include |
SFE_HMD_DRV2605L HMD; // Kreiranje objekta upravljačkog programa haptičkog motora |
int dugme = 7; // odaberite ulazni pin 7 za tipku |
int button_val = 0; // varijabla za čitanje statusa pina |
voidsetup () |
{ |
/ * Pokretanje objekta haptičkog pogonskog motora */ |
HMD.begin (); |
Serial.begin (9600); |
HMD. Mode (0); // Interni način unosa okidača - Morate koristiti funkciju GO () za pokretanje reprodukcije. |
HMD. MotorSelect (0x36); // ERM motor, 4x kočenje, pojačanje srednje petlje, 1,365x nazad EMF pojačanje |
HMD. Library (2); // 1-5 i 7 za ERM motore, 6 za LRA motore |
} |
voidloop () |
{ |
/ * Pokrenite motor za vibracije */ |
HMD.go (); |
button_val = digitalRead (dugme); |
if (button_val == HIGH) { |
/* Ovaj izlaz za zapis da je pritisnuto dugme, koristite za otklanjanje grešaka*/ |
Serial.println ("Dugme pritisnuto."); |
/ * Biblioteka talasnih oblika ima 0-122 različitih tipova talasa */ |
HMD. Waveform (0, 69);} |
else { |
/ * Ako dugme nije pritisnuto, zaustavite motor za vibracije */ |
HMD.stop (); |
} |
} |
pogledajte rawButton-Vibration-Motor.c hostirano sa ❤ od strane GitHub-a
Korak 5: Video zapis gumba za podešavanje vibracijskog motora
Korak 6: Prototip rukavica koje se mogu produžiti
Jedna od mogućih primjena gumba na motoru za vibracije je gornja rukavica. Modificirali smo jeftine pristupačne materijale, poput šprica, kako bismo napravili "vrhove prstiju" koji se mogu produžiti. Pričvrstili smo dugmad na kraju modificiranih štrcaljki pomoću čičak trake, izrezali rupe na vrhovima prstiju rukavice i svaku štrcaljku stavili kroz rupe. 4 -iglične kratkospojne žice dugmadi provučene su kroz štrcaljke i dovoljno su dugačke da ih možete izvući do pune dužine. Arduino i ploča za pričvršćivanje pričvršćeni su čičkom na vrh rukavice, što omogućava lako povezivanje žica dugmadi kroz mali prorez na dnu svakog vrha prsta. Vozač motora je pričvršćen na donju stranu rukavice otvorom, kako bi zalijepio motor za vibracije na unutrašnjost rukavice. Kad nosilac nosi rukavicu, motor za vibracije sjedi na donjoj strani zgloba. Kada korisnik dodirne površinu i pritisne jedno od dugmadi, kroz motor se daje jedinstvena povratna vibracija.
Proces razmišljanja iza takve rukavice bio bi omogućiti nekome ko 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 osnovu 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, rastegljivi prsti bi se stvorili putem 3D štampe, radi boljih mogućnosti teleskopiranja. Senzor temperature mogao bi se koristiti umjesto gumba, kako bi se omogućila povratna informacija o tome 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 opcija 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 tipki s jedinstvenim izlazom vibracije
mutliple_buttons_to_vibmotor.ino
/ * Kod prilagođen sa SparkFuna https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide */ |
#include |
#include |
SFE_HMD_DRV2605L HMD; // Kreiranje objekta pogonitelja haptičkog motora |
int button_middle = 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. Mode (0); // Interni način unosa okidača - Morate koristiti funkciju GO () za pokretanje reprodukcije. |
HMD. MotorSelect (0x36); // ERM motor, 4x kočenje, pojačanje srednje petlje, 1,365x nazad EMF pojačanje |
HMD. Library (2); // 1-5 i 7 za ERM motore, 6 za LRA motore |
} |
voidloop () |
{ |
HMD.go (); // pokretanje motora za vibracije |
/ * Provjerite koje je dugme pritisnuto i izlažite valni oblik 0-122 */ |
if (digitalRead (button_middle) == HIGH) { |
Serial.println ("Dugme pritisnuto."); |
HMD. Waveform (0, 112);} |
elseif (digitalRead (button_index) == HIGH) { |
HMD. Waveform (0, 20); |
} |
elseif (digitalRead (button_ring) == HIGH) { |
HMD. Waveform (0, 80); |
} |
elseif (digitalRead (button_pinky) == HIGH) { |
HMD. Waveform (0, 100); |
} |
/ * Ako nije pritisnuto nijedno dugme, zaustavite */ |
else { |
HMD.stop (); |
} |
} |
pogledajte rawmutliple_buttons_to_vibmotor.ino hosted with ❤ by GitHub
Preporučuje se:
Otvarač garažnih vrata sa povratnom informacijom pomoću Esp8266 kao web servera .: 6 koraka
Otvarač garažnih vrata s povratnim informacijama koristeći Esp8266 kao web server: Zdravo, pokazat ću vam kako napraviti jednostavan način za otvaranje garažnih vrata.-ESP8266 je kodiran kao web server, vrata se mogu otvoriti svugdje u svijetu- povratne informacije, znat ćete da li su vrata otvorena ili zatvorena u stvarnom vremenu-Jednostavno, samo jedna prečica do
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 aplikacija se može koristiti onakva kakva je i potpuno je funkcionalna. Ili se može koristiti u kombinaciji s ekranom Petanque Matrix [zasebna instrukcija
Primjena MCP-23008 pomoću relejnog sučelja (I2C) :: 6 koraka
Primjena MCP-23008 koristeći relejno sučelje (I2C) :: HelloGood Pozdrav .. !! Ja (Somanshu Choudhary) u ime Dcube tech ventures-a 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 sa slabim vidom, koristite ovo za bolje razumijevanje svijeta oko sebe
Jednostavan zaslon ergometra zasnovan na Arduinu s diferencijalnom povratnom spregom: 7 koraka (sa slikama)
Jednostavan zaslon ergometra zasnovan na Arduinu s diferencijalnom povratnom spregom: Kardio vježbe su dosadne, posebno kada vježbate u zatvorenom prostoru. Nekoliko postojećih projekata pokušavaju to ublažiti radeći kul stvari, poput spajanja ergometra s igraćom konzolom, ili čak simulacijom prave vožnje bicikla u VR -u. Uzbudljivo kao