Sisukord:
- Samm: nuppude vibratsioonimootori seadistamiseks vajalikud komponendid
- 2. samm: nuppude vibratsioonimootori seadistamise skeemid
- 3. samm: nupu seadistamine vibratsioonimootori seadistamiseks
- 4. samm: kood
- 5. samm: video vibratsioonimootori seadistamisest
- 6. samm: kinnaste pikendatav prototüüp
- Samm: kordumatu vibratsiooniväljundiga mitme nupu kood
Video: Pikendatava nupu rakendus koos vibratsiooni tagasisidega: 7 sammu (piltidega)
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:47
Selles õpetuses näitame teile kõigepealt, kuidas kasutada Arduino Unot vibratsioonimootori juhtimiseks laiendatud nupu kaudu. Enamik nuppude õpetusi hõlmab füüsilisel leivaplaadil olevat nuppu, samas kui selles õpetuses on nuppu muudetud nii, et see oleks ühendatud leivaplaadiga hüppajakaablite kaudu. See nupp võimaldab teil kontrollida mootori tugevust ja vibratsiooni. Pärast seda näitame seda seadistust kasutava kantava tehnoloogia võimalikku prototüüpi. See kantav on sõrmeotstega pikendatavate sõrmeotstega kinnas, mille otsa on kinnitatud nupud, mis on programmeeritud andma kandjale unikaalset vibratsiooni tagasisidet vastavalt konkreetsele vajutatud nupule.
Samm: nuppude vibratsioonimootori seadistamiseks vajalikud komponendid
- Arduino Uno
- Leivalaud
- Mündivibraatori vibratsioonimootor
- Grove Button
- Meeste-meeste džemprijuhtmed (x10)
- Jumper Traat 4 Pin
- Haptic mootorijuht
- Meeste-naiste servaühendus
- Jootekolb
2. samm: nuppude vibratsioonimootori seadistamise skeemid
Eelnev diagramm loodi saidiga Fritzing.org.
3. samm: nupu seadistamine vibratsioonimootori seadistamiseks
Samm: jootke servapistik vibratsioonimootori draiveri külge. Jootke mündivibraatori juhtmed vibratsioonimootori juhi klemmidesse.
Samm 2: Ühendage 4 -kontaktiline hüppajakaabel nuppudega.
Samm: ühendage ühe hüppaja juhtmega Arduino GRD tihvt leivaplaadil oleva reaga.
Samm: ühendage teise hüppajajuhtme abil Arduino Volt 3.3 tihvt leivalaua teise reaga.
Samm: nüüd ühendame vibratsioonimootori draiveri Arduinoga. Ühendage kolmanda hüppajajuhtme abil vibratsioonimootori draiveri GND tihvt samale leivalaua reale kui Arduino GRD -tihvt. Tehke sama vibratsioonimootori draiveri VCC (volt) teise juhtmega leivaplaadi voltide reale.
Samm: kasutage veel ühte traati, et ühendada vibratsioonimootori draiveri SDA -tihvt otse Arduino SDA -tihvtiga. Jällegi tehke sama mõlema SCL -tihvtidega. Teise võimalusena järgige sarnast lähenemisviisi 5. sammule ja ühendage Arduino SDA- ja SCL -tihvtid hüppajajuhtmete kaudu leivalaua oma ridadega. Seejärel tõmmake traat reast, kus SDA tihvt on ühendatud leivaplaadil, mootori juhi SDA -tihvtiga. Tehke sama leivaplaadi SCL -rea puhul mootori juhi SCL -tihvtiga.
Samm 7: Nüüd lõpetame, ühendades nupu vibratsioonimootori draiveri ja Arduinoga. Kasutage mõnda muud hüppajajuhet, et ühendada GRD 4 -kontaktilise hüppaja juhtmest, mis on ühendatud nuppude katkestusega, samale reale kui teised GRD juhtmed leivaplaadil. Tehke sama uuesti voltidega (VCC).
Samm 8: Ühendage SIG -i lõplik kirjutus nupu väljalülitamisel Arduino tihvtiga (meie koodi jaoks kasutasime tihvti 7).
Samm: ühendage Arduino ja laadige kood üles ning vaadake, kuidas see töötab!
4. samm: kood
Nupp-vibratsioonimootor.c
/ * Kood kohandatud saidilt https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide?_ga=2.227031901.1514248658.1513372975-1149214600.1512613196 */ |
#kaasake |
#kaasake |
SFE_HMD_DRV2605L HMD; // Loo haptilise mootorijuhi objekt |
int nupp = 7; // valige sisestusnõel 7 nupu jaoks |
int nupp_val = 0; // muutuja pin -oleku lugemiseks |
voidsetup () |
{ |
/ * Initsialiseeri Haptic Motor Driver Object */ |
HMD.begin (); |
Seriaalne algus (9600); |
HMD -režiim (0); // Sisemise päästiku sisestusrežiim - Taasesituse käivitamiseks tuleb kasutada funktsiooni GO (). |
HMD. MotorSelect (0x36); // ERM -mootor, 4x pidurdamine, keskmise silmuse võimendus, 1,365x tagasi EMF -võimendus |
HMD. Raamatukogu (2); // 1-5 ja 7 ERM mootorite jaoks, 6 LRA mootorite jaoks |
} |
tühjus () |
{ |
/ * Käivitage vibratsioonimootor */ |
HMD.go (); |
button_val = digitalRead (nupp); |
if (button_val == HIGH) { |
/* See väljastab selle nupu vajutamise registreerimiseks, kasutage silumiseks*/ |
Serial.println ("Nupule vajutatud."); |
/ * Lainekuju raamatukogus on 0-122 erinevat tüüpi laineid */ |
HMD. Lainekuju (0, 69);} |
muu { |
/ * Kui nuppu ei vajutata, siis peatage vibratsioonimootor */ |
HMD.stop (); |
} |
} |
vaata rawButton-Vibration-Motor.c, mille hostiks on GitHub ❤
5. samm: video vibratsioonimootori seadistamisest
6. samm: kinnaste pikendatav prototüüp
Üks võimalik nupp vibratsioonimootorile on ülaltoodud kinnas. Oleme muutnud odavaid ligipääsetavaid materjale, näiteks süstlaid, et teha sirutatavaid sõrmeotsi. Kinnitasime salu nupud muudetud süstalde otsa takjakinnitusega, lõikasime kinda sõrmeotstesse augud ja panime iga süstla aukudest läbi. Nuppude 4 -kontaktilised hüppajajuhtmed on läbi süstlate keermestatud ja piisavalt pikad, et saaksite süstlaid täispikkuses välja tõmmata. Arduino ja leivaplaat on kinnitatud takjapaelaga kinda ülaosale, mis võimaldab nuppude juhtmeid hõlpsasti ühendada iga sõrmeotsa aluse väikese pilu kaudu. Mootorijuht on kinnitatud avause abil kinda alumise külje külge, et kleepida vibratsioonimootor kinnase siseküljele. Kui kandjal on kindad käes, istub vibratsioonimootor kandja randme allosas. Kui kandja puudutab pinda ja vajutab ühte nuppu, antakse mootori kaudu ainulaadne tagasisidevibratsioon.
Sellise kinda taga olev mõtteprotsess oleks võimaldada kellelgi, kes seda kannab, "puudutada" asju, mis jäävad nende tavaliste sõrmeotste ulatusest kaugemale, ja saada tagasisidet, et nad puudutavad neid pindu. Vibratsiooni tagasiside muutub sõltuvalt sellest, milline sõrm puudutab pinda, nii et kasutajal on vibratsioonimustri põhjal võimalik öelda, milline sõrm puudutab pinda.
Prototüübi edasiarendamiseks on palju võimalusi, näiteks sõrmede pikendamine või tagasiside muutmine vastavalt puudutatava pinna tüübile. Ideaalis luuakse pikendatavad sõrmed 3D -printimise abil, et saada paremaid teleskoopimisvõimalusi. Nuppude asemel võib kasutada temperatuuriandurit, mis annab tagasisidet selle kohta, kui kuum pind kasutaja puudutab, või niiskuseandurit sarnastel eesmärkidel. Võiks rakendada viisi, kuidas tajuda, kui kaugele sõrme on sirutatud, et kasutaja saaks teada, kui kaugel objekt, mida nad puudutavad, asub. Need on vaid mõned võimalikud võimalused selle prototüübi edasiarendamiseks.
Seda kinnast saab valmistada tavalistest materjalidest, et hõlbustada oma meeli laiendamist ja luua tagasisidet, mida kasutaja saab tunda ja mõista.
Samm: kordumatu vibratsiooniväljundiga mitme nupu kood
mutliple_buttons_to_vibmotor.ino
/ * Kood kohandatud SparkFunist https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide */ |
#kaasake |
#kaasake |
SFE_HMD_DRV2605L HMD; // Loo haptilise mootorijuhi objekt |
int nupu_keskmine = 7; |
int nupu_indeks = 5; // valige nuppude sisendnõel |
int nupu_ring = 9; |
int nupp_roosa = 3; |
voidsetup () |
{ |
HMD.begin (); |
Seriaalne algus (9600); |
HMD -režiim (0); // Sisemise päästiku sisestusrežiim - taasesituse käivitamiseks tuleb kasutada funktsiooni GO (). |
HMD. MotorSelect (0x36); // ERM -mootor, 4x pidurdamine, keskmise silmuse võimendus, 1,365x tagasi EMF -võimendus |
HMD. Raamatukogu (2); // 1-5 ja 7 ERM mootorite jaoks, 6 LRA mootorite jaoks |
} |
tühjus () |
{ |
HMD.go (); // käivitage vibratsioonimootor |
/ * Kontrollige, millist nuppu vajutatakse, ja väljundi lainekuju 0-122 */ |
if (digitalRead (button_middle) == HIGH) { |
Serial.println ("Nuppu vajutatud."); |
HMD. Lainekuju (0, 112);} |
elseif (digitalRead (button_index) == HIGH) { |
HMD. Lainekuju (0, 20); |
} |
elseif (digitalRead (button_ring) == HIGH) { |
HMD. Lainekuju (0, 80); |
} |
elseif (digitalRead (button_pinky) == HIGH) { |
HMD. Lainekuju (0, 100); |
} |
/ * Kui ühtegi nuppu ei vajutata, siis peatu */ |
muu { |
HMD.stop (); |
} |
} |
vaata rawmutliple_buttons_to_vibmotor.ino, mille hostiks on GitHub ❤
Soovitan:
PaniK nupu prototüüp (español): 5 sammu (koos piltidega)
PaniK -nupu prototüüp (Español): Bot ó n de p á nico que al ser presionado env í a un mensaje personalizado a trav é s de la cuenta de twitter del usuario; este se encuentra desarrollado mediante el uso del Arduino UNO y una aplicaci ó n m ó vil
Temperatuuri, vihmavee ja vibratsiooni andurite kasutamine Arduino raudteede kaitsmiseks: 8 sammu (koos piltidega)
Temperatuuri-, vihmavee- ja vibratsiooniandurite kasutamine raudteede kaitsmiseks Arduino's: tänapäeva ühiskonnas tähendab rongireisijate arvu suurenemine seda, et raudtee-ettevõtted peavad nõudlusega sammu pidamiseks tegema rohkem võrkude optimeerimiseks. Selles projektis näitame väikeses mahus, kuidas temperatuuri, vihmavee ja vibratsiooni andurid
Lihtne Arduino-põhine ergomeetri ekraan koos diferentsiaalse tagasisidega: 7 sammu (piltidega)
Lihtne Arduino-põhine ergomeetri ekraan koos diferentseeritud tagasisidega: kardiotreening on igav, eriti siseruumides treenides. Mitmed olemasolevad projektid püüavad seda leevendada, tehes lahedaid asju, näiteks ühendades ergomeetri mängukonsooliga või isegi simuleerides VR -is tõelist jalgrattasõitu. Põnev kui need
Hallake oma mikro: bitti Arduino IDE nupu ja muu GPIO abil: 3 sammu (koos piltidega)
Master Your Micro: bit Arduino IDE abil-nupp ja muu GPIO: Meie eelmises ajaveebis Master Your Micro: bit with Arduino IDE - - Light LED oleme rääkinud, kuidas installida micro: bit raamatukogu Arduino IDE-sse ja kuidas LED -i juhtimiseks mikro: bitil Arduino IDE -ga. Selles artiklis me ütleme teile, h
Kiire tule nupu lisamine hiirele 555 taimeriga: 5 sammu (koos piltidega)
Kiire tule nupu lisamine hiirele 555 taimeriga: Kas teie sõrm väsib videomänge mängides kergesti? Kas olete kunagi soovinud, et saaksite n00bs kiiremini kui valguse kiirus, ilma et peaksite kunagi higistama? See juhend pakub teile juhiseid