Talaan ng mga Nilalaman:
- Hakbang 1: Kinakailangan ang Mga Bahagi para sa Button sa Vibration Motor Set-Up
- Hakbang 2: Mga Skematika para sa Button sa Vibration Motor Set-Up
- Hakbang 3: Ang Pag-set-Up ng Button sa Vibration Motor Set-Up
- Hakbang 4: Ang Code
- Hakbang 5: Video ng Button sa Vibration Motor Set-Up
- Hakbang 6: Napapalawak ang Prototype ng Glove
- Hakbang 7: Code para sa Maramihang Mga Pindutan Na May Natatanging Output ng Panginginig ng Boses
Video: Isang Application ng isang Extendable Button Na May Vibration Feedback: 7 Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:12
Sa tutorial na ito, ipapakita muna namin sa iyo kung paano gumamit ng isang Arduino Uno upang makontrol ang isang panginginig na motor sa pamamagitan ng isang pinalawig na pindutan. Karamihan sa mga tutorial sa mga pindutan ng push ay nagsasangkot ng pindutan sa pisikal na breadboard, samantalang sa tutorial na ito, ang pindutan ay binago upang maiugnay sa breadboard sa pamamagitan ng mga jumper cables sa halip. Papayagan ka ng pindutan na ito na kontrolin ang lakas at pattern ng panginginig ng motor. Kasunod nito, ipapakita namin ang isang posibleng prototype ng isang naisusuot na teknolohiya na gumagamit ng set-up na ito. Ang naisusuot na ito ay isang guwantes na may napahabang mga kamay na may mga pindutan na nakakabit sa dulo, na-program upang magbigay ng natatanging puna ng panginginig ng boses sa nagsusuot batay sa tinukoy na pindutan na naitulak.
Hakbang 1: Kinakailangan ang Mga Bahagi para sa Button sa Vibration Motor Set-Up
- Arduino Uno
- Breadboard
- Coin Vibrator Vibration Motor
- Button ng Grove
- Mga Jumper Wire na Lalaki-hanggang-Lalaki (x10)
- Jumper Wire 4 Pin
- Haptic Motor Driver
- Connector ng Lalake-sa-Babae na Edge
- Panghinang
Hakbang 2: Mga Skematika para sa Button sa Vibration Motor Set-Up
Ang naunang diagram ay nilikha sa Fritzing.org.
Hakbang 3: Ang Pag-set-Up ng Button sa Vibration Motor Set-Up
Hakbang 1: Ihihinang ang konektor ng gilid sa driver ng panginginig ng boses. Paghinang ng mga wire ng coin vibrator sa mga terminal ng driver ng motor na panginginig.
Hakbang 2: Ikonekta ang 4 pin jumper cable sa breakout ng pindutan.
Hakbang 3: Gamit ang isa sa mga wire ng jumper, ikonekta ang GRD pin sa Arduino sa isang hilera sa breadboard.
Hakbang 4: Gamit ang isa pang wire ng jumper, ikonekta ang Volt 3.3 pin sa Arduino sa ibang hilera sa breadboard.
Hakbang 5: Ngayon ay ikonekta namin ang driver ng panginginig na motor sa Arduino. Gamit ang isang pangatlong wire ng jumper, ikonekta ang GND pin sa panginginig ng motor driver sa parehong hilera sa breadboard bilang GRD pin mula sa Arduino. Gawin ang pareho sa isa pang kawad para sa VCC (volt) sa driver ng motor na panginginig, sa volt row ng breadboard.
Hakbang 6: Gumamit pa ng ibang kawad upang ikonekta ang SDA pin sa panginginig ng motor driver sa SDA pin nang direkta sa Arduino. Muli, gawin ang pareho sa mga pin ng SCL sa pareho. Bilang kahalili, sundin ang isang katulad na diskarte sa hakbang 5 at ikonekta ang mga pin ng SDA at SCL sa Arduino sa kanilang sariling mga hilera sa breadboard sa pamamagitan ng mga jumper wires. Pagkatapos ay magpatakbo ng isang kawad mula sa hilera kung saan ang SDA pin ay konektado sa breadboard sa SDA pin sa driver ng motor. Gawin ang pareho para sa hilera ng SCL sa breadboard sa pin ng SCL sa driver ng motor.
Hakbang 7: Ngayon ay tatapusin namin sa pamamagitan ng pagkonekta sa pindutan sa panginginig ng motor driver at Arduino. Gumamit ng isa pang jumper wire upang ikonekta ang GRD mula sa 4 pin jumper wire na konektado sa pindutan ng breakout sa parehong hilera tulad ng iba pang mga GRD na wires sa breadboard. Gawin ang pareho sa volt muli (VCC).
Hakbang 8: Ikonekta ang isang pangwakas na pagsulat mula sa SIG sa breakout ng pindutan sa isang pin sa Arduino (para sa mga layunin ng aming code, ginamit namin ang pin 7).
Hakbang 9: I-plug ang Arduino at i-upload ang code, at panoorin itong gumana!
Hakbang 4: Ang Code
Button-Vibration-Motor.c
/ * Inangkop ang code mula sa https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide?_ga=2.227031901.1514248658.1513372975-1149214600.1512613196 * / |
# isama |
# isama |
SFE_HMD_DRV2605L HMD; // Lumikha ng object ng driver ng haptic motor |
int button = 7; // piliin ang input pin 7 para sa pushbutton |
int button_val = 0; // variable para sa pagbabasa ng katayuang pin |
voidsetup () |
{ |
/ * Pasimulan ang Haptic Motor Driver Object * / |
HMD.begin (); |
Serial.begin (9600); |
HMD. Mode (0); // Panloob na mode ng pag-input ng pag-trigger - Dapat gamitin ang pagpapaandar na GO () upang ma-trigger ang pag-playback. |
HMD. MotorSelect (0x36); // ERM motor, 4x Braking, Medium loop gain, 1.365x back EMF gain |
HMD. Library (2); // 1-5 & 7 para sa ERM motors, 6 para sa LRA motors |
} |
voidloop () |
{ |
/ * Simulan ang panginginig na motor * / |
HMD.go (); |
button_val = digitalRead (button); |
kung (button_val == TAAS) { |
/ * Ang mga output na ito upang i-log ang pindutang iyon ay na-press, gamitin para sa debugginh * / |
Serial.println ("Pinindot ang pindutan."); |
/ * Ang library ng waveform ay mayroong 0-122 iba't ibang mga uri ng alon * / |
HMD. Waveform (0, 69);} |
iba pa { |
/ * Kung ang pindutan ay hindi hunhon pagkatapos itigil ang panginginig ng boses motor * / |
Tumigil sa (); |
} |
} |
tingnan ang raw Button-Vibration-Motor.c na naka-host sa ❤ ng GitHub
Hakbang 5: Video ng Button sa Vibration Motor Set-Up
Hakbang 6: Napapalawak ang Prototype ng Glove
Ang isang posibleng aplikasyon ng pindutan sa panginginig ng boses motor ay ang guwantes na ipinakita sa itaas. Binago namin ang murang mga naa-access na materyales tulad ng mga hiringgilya upang makagawa ng napalawak na "mga kamay." Ikinabit namin ang mga pindutan ng grove sa dulo ng binagong mga hiringgilya gamit ang velcro, pinutol ang mga butas sa mga daliri ng isang guwantes at inilagay ang bawat hiringgilya sa mga butas. Ang 4 pin jumper wires ng mga pindutan ay sinulid sa pamamagitan ng mga hiringgilya at sapat na ang haba na maaari mong pahabain ang mga syringes sa kanilang buong haba. Ang Arduino at breadboard ay nakakabit sa pamamagitan ng velcro sa tuktok ng guwantes, na nagpapahintulot sa mga wire ng mga pindutan na madaling konektado sa pamamagitan ng isang maliit na slit sa base ng bawat daliri. Ang driver ng motor ay nakakabit sa ilalim ng guwantes sa pamamagitan ng pagbubukas, upang idikit ang panginginig na motor sa loob ng guwantes. Kapag ang tagapagsuot ay may guwantes, ang panginginig na motor ay nakaupo sa ilalim ng pulso ng nagsusuot. Kapag hinawakan ng nagsusuot ang isang ibabaw at pinapahina ang isa sa mga pindutan, isang natatanging panginginig ng puna ang ibinibigay sa pamamagitan ng motor.
Ang proseso ng pag-iisip sa likod ng gayong guwantes ay upang payagan ang sinumang may suot nito na "hawakan" ang mga bagay na lampas sa saklaw ng kanilang regular na mga kamay, at makatanggap ng puna na hinahawakan nila ang mga ibabaw na ito. Ang feedback ng panginginig ng boses ay nagbabago depende sa kung aling daliri ang dumampi sa ibabaw, upang posible na masabi ng gumagamit kung aling daliri ang humihipo sa ibabaw batay sa pattern ng panginginig.
Mayroong maraming mga paraan upang madala ang prototype, tulad ng paggawa ng mas mahaba ang mga daliri, o paggawa ng feedback na nagbago batay sa uri ng ibabaw na hinawakan. Sa isip, ang napahahabang mga daliri ay malilikha sa pamamagitan ng pag-print sa 3D, para sa mas mahusay na mga pagpipilian sa teleskopyo. Maaaring gamitin ang isang sensor ng temperatura bilang kapalit ng mga pindutan, upang payagan ang puna sa kung gaano kainit ang ibabaw na hinahawakan ng gumagamit, o isang sensor ng kahalumigmigan para sa mga katulad na layunin. Ang isang paraan upang maunawaan kung hanggang saan ang "daliri" ay pinalawig ay maaaring ipatupad, upang payagan ang gumagamit na malaman kung gaano kalayo ang bagay na kanilang hinahawakan. Ito ay ilan lamang sa mga posibleng pagpipilian para sa karagdagang pagkuha ng prototype na ito.
Ang guwantes na ito ay maaaring gawin ng mga karaniwang materyales bilang isang madaling paraan upang mapalawak ang iyong pandama at lumikha ng feedback na maaaring madama at maunawaan ng gumagamit.
Hakbang 7: Code para sa Maramihang Mga Pindutan Na May Natatanging Output ng Panginginig ng Boses
mutliple_buttons_to_vibmotor.ino
/ * Code Adapted from SparkFun https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide * / |
# isama |
# isama |
SFE_HMD_DRV2605L HMD; // Lumikha ng object ng driver ng haptic motor |
int button_middle = 7; |
int button_index = 5; // piliin ang input pin para sa pushbutton |
int button_ring = 9; |
int button_pinky = 3; |
voidsetup () |
{ |
HMD.begin (); |
Serial.begin (9600); |
HMD. Mode (0); // Panloob na mode ng pag-input ng pag-trigger - Dapat gamitin ang pagpapaandar na GO () upang ma-trigger ang pag-playback. |
HMD. MotorSelect (0x36); // ERM motor, 4x Braking, Medium loop gain, 1.365x back EMF gain |
HMD. Library (2); // 1-5 & 7 para sa ERM motors, 6 para sa LRA motors |
} |
voidloop () |
{ |
HMD.go (); // simulan ang panginginig na motor |
/ * Suriin kung aling pindutan ang itinulak at output waveform 0-122 * / |
kung (digitalRead (button_middle) == TAAS) { |
Serial.println ("Pinindot ang pindutan."); |
HMD. Waveform (0, 112);} |
elseif (digitalRead (button_index) == TAAS) { |
HMD. Waveform (0, 20); |
} |
kung hindi man (digitalRead (button_ring) == TAAS) { |
HMD. Waveform (0, 80); |
} |
kung hindi man (digitalRead (button_pinky) == TAAS) { |
HMD. Waveform (0, 100); |
} |
/ * Kung walang pindutan na itinulak pagkatapos ay itigil * / |
iba pa { |
Tumigil sa (); |
} |
} |
tingnan ang rawmutliple_buttons_to_vibmotor.ino na naka-host sa ❤ ng GitHub
Inirerekumendang:
4 Mga Larong Button Gamit ang Isang Analog Input: 6 Mga Hakbang (na may Mga Larawan)
4 Mga Larong Button Gamit ang Isang Analog Input: Ang itinuturo na ito ay nakatuon sa paggamit ng isang linya ng pag-input ng analog para sa maraming mga pindutan na maaaring makita na independiyente sa bawat isa. At upang mai-highlight ang paggamit ng mga isinasamang pindutan na ito ay ang software upang maglaro ng apat na magkakaibang mga 4-Button na laro. Lahat ng mga laro (8 sa t
Pagbuo ng isang DIY Arduino sa isang PCB at Ilang Mga Tip para sa Mga Nagsisimula: 17 Mga Hakbang (na may Mga Larawan)
Pagbuo ng isang DIY Arduino sa isang PCB at Ilang Mga Tip para sa Mga Nagsisimula: Ito ay sinadya bilang isang gabay sa sinumang paghihinang ng kanilang sariling Arduino mula sa isang kit, na maaaring mabili mula sa A2D Electronics. Naglalaman ito ng maraming mga tip at trick upang matagumpay itong mabuo. Malalaman mo rin ang tungkol sa kung ano ang lahat ng iba't ibang mga sangkap
Simpleng Arduino-based Ergometer Display Na May Pagkakaiba ng Feedback: 7 Mga Hakbang (na may Mga Larawan)
Simpleng Arduino-based Ergometer Display Na May Pagkakaiba ng Feedback: Ang pag-eehersisyo sa cardio ay nakakainip, lalo na, kapag nag-eehersisyo sa loob ng bahay. Sinubukan ng maraming mga umiiral na proyekto na mapagaan ito sa pamamagitan ng paggawa ng mga cool na bagay tulad ng pagkabit sa ergometer sa isang game console, o kahit na gayahin ang isang tunay na pagsakay sa bisikleta sa VR. Nakakatuwa bilang thes
Extendable Handheld Gimbal para sa GoPro / SJ4000 / Xiaomi Yi / iLook: 9 Hakbang (na may Mga Larawan)
Pinalawak na Handheld Gimbal para sa GoPro / SJ4000 / Xiaomi Yi / iLook: Gagabayan ka ng tutorial na ito kung paano mag-hack ng isang selfie stick at isang 2D Gimbal upang makagawa ng isang napapalawak na handhand gimbal na maaaring mai-mount ang mga camera tulad ng GoPro SJ4000 / 5000/6000 Xiaomi Yi Walkera iLook. Ang Gimbal ay isang mekanismo ng pagpapapanatag na kung saan
Awtomatikong Pagkontrol ng RPM ng Engine na Gumagamit ng Sistema ng Feedback Mula sa isang IR Batay sa Tachometer: 5 Mga Hakbang (na may Mga Larawan)
Awtomatikong Pagkontrol ng RPM ng Engine Paggamit ng Sistema ng Feedback Mula sa isang IR Batay sa Tachometer: Palaging may pangangailangan para sa pag-automate ng isang proseso, maging isang simple / napakalaking proseso. Nakuha ko ang ideya na gawin ang proyektong ito mula sa isang simpleng hamon na naharap ko habang hinahanap mga pamamaraan sa pagdidilig / patubig ng aming maliit na piraso ng lupa. Ang problema ng walang kasalukuyang linya ng supply