Sadržaj:

Primjena proširivog gumba s povratnom vibracijom: 7 koraka (sa slikama)
Primjena proširivog gumba s povratnom vibracijom: 7 koraka (sa slikama)

Video: Primjena proširivog gumba s povratnom vibracijom: 7 koraka (sa slikama)

Video: Primjena proširivog gumba s povratnom vibracijom: 7 koraka (sa slikama)
Video: テレビアニメ「鬼滅の刃」遊郭編七話も神回!妓夫太郎がヤバい!【きめつのやいば】禰豆子・堕姫・宇髄天元・炭治郎 2024, Studeni
Anonim
Primjena proširivog gumba s povratnom vibracijom
Primjena proširivog gumba s povratnom vibracijom
Primjena proširivog gumba s povratnom vibracijom
Primjena proširivog gumba s povratnom vibracijom

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

Komponente potrebne za postavljanje motora na gumb za vibraciju
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

Sheme za postavljanje motora s gumbom na vibraciju
Sheme za postavljanje motora s gumbom na 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// SparkFun knjižnica upravljačkih programa haptičkih motora
#uključi// I2C knjižnica
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

Image
Image

Korak 6: Prototip rukavica koje se mogu produžiti

Prototip rukavica proširivih
Prototip rukavica proširivih
Prototip rukavica proširivih
Prototip rukavica proširivih

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// SparkFun knjižnica upravljačkih programa haptičkih motora
#uključi// I2C knjižnica
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: