INHOUDSOPGAWE:

N Toepassing van 'n uitbreidbare knoppie met vibrasie -terugvoer: 7 stappe (met foto's)
N Toepassing van 'n uitbreidbare knoppie met vibrasie -terugvoer: 7 stappe (met foto's)

Video: N Toepassing van 'n uitbreidbare knoppie met vibrasie -terugvoer: 7 stappe (met foto's)

Video: N Toepassing van 'n uitbreidbare knoppie met vibrasie -terugvoer: 7 stappe (met foto's)
Video: NZXT H700i behuizing met slimme fan- en RGB-controller - Hardware.Info TV (4K UHD) 2024, November
Anonim
'N Toepassing van 'n uitbreidbare knoppie met vibrasie -terugvoer
'N Toepassing van 'n uitbreidbare knoppie met vibrasie -terugvoer
'N Toepassing van 'n uitbreidbare knoppie met vibrasie -terugvoer
'N Toepassing van 'n uitbreidbare knoppie met vibrasie -terugvoer

In hierdie tutoriaal gaan ons u eers wys hoe u 'n Arduino Uno kan gebruik om 'n vibrasiemotor te beheer via 'n verlengde knoppie. Die meeste tutoriale oor drukknoppies behels die knoppie op die fisiese broodbord, terwyl die knoppie in hierdie tutoriaal aangepas is om eerder met springkabels aan die broodbord gekoppel te word. Met hierdie knoppie kan u die sterkte en trillingspatroon van die motor beheer. Hierna wys ons 'n moontlike prototipe van 'n draagbare tegnologie wat gebruik maak van hierdie opset. Hierdie draagbare handskoen met uittrekbare vingerpunte met knoppies aan die einde, geprogrammeer om unieke vibrasie -terugvoer aan die draer te gee op grond van die spesifieke knoppie wat gedruk word.

Stap 1: Komponente wat benodig word vir die opstel van knoppie tot trillingsmotor

Komponente benodig vir die opstel van knoppie tot trillingsmotor
Komponente benodig vir die opstel van knoppie tot trillingsmotor
  • Arduino Uno
  • Broodbord
  • Coin Vibrator vibrasie motor
  • Grove -knoppie
  • Man-tot-man trui (x10)
  • Jumper Wire 4 Pin
  • Haptiese motorbestuurder
  • Man-tot-vroulike randverbinder
  • Soldeerbout

Stap 2: Skema's vir die opstel van knoppie tot vibrasie-motor

Skema's vir die opstel van knoppie tot vibrasie-motor
Skema's vir die opstel van knoppie tot vibrasie-motor

Die voorafgaande diagram is gemaak met Fritzing.org.

Stap 3: Die opstel van die knoppie na die vibrasie-motoropstelling

Stap 1: Soldeer die randaansluiting aan die vibrasie -motorbestuurder. Soldeer die drade van die muntvibrator in die terminale van die vibrasiemotorbestuurder.

Stap 2: Sluit die 4 -pins -kabel aan op die knoppie.

Stap 3: Koppel die GRD -pen op die Arduino met een van die springdrade aan 'n ry op die broodbord.

Stap 4: Koppel die Volt 3.3 -pen op die Arduino met 'n ander jumperdraad aan 'n ander ry op die broodbord.

Stap 5: Nou koppel ons die vibrasie -motorbestuurder aan die Arduino. Koppel die GND -pen op die vibrasie -motorbestuurder met 'n derde springdraad aan dieselfde ry op die broodbord as die GRD -pen van die Arduino. Doen dieselfde met 'n ander draad vir VCC (volt) op die vibrasie motorbestuurder, na die volt ry van die broodbord.

Stap 6: Gebruik nog 'n draad om die SDA -pen op die vibrasie -motorbestuurder aan die SDA -pen direk op die Arduino te koppel. Doen weer dieselfde met die SCL -penne op albei. Alternatiewelik, volg 'n soortgelyke benadering tot stap 5 en verbind die SDA- en SCL -penne op die Arduino met hul eie rye op die broodbord via springdrade. Draai dan 'n draad uit die ry waar die SDA -pen op die broodbord gekoppel is aan die SDA -pen op die motorbestuurder. Doen dieselfde vir die SCL -ry op die broodbord met die SCL -pen op die motorbestuurder.

Stap 7: Nou sluit ons die knoppie aan op die vibrasie motorbestuurder en Arduino. Gebruik 'n ander jumperdraad om die GRD van die 4 -pins jumperdraad wat aan die knoppie gekoppel is, aan dieselfde ry as die ander GRD -drade op die broodbord te koppel. Doen weer dieselfde met volt (VCC).

Stap 8: Koppel 'n laaste skrywe van SIG op die knoppie -uitbreek aan 'n pen op die Arduino (vir die doeleindes van ons kode gebruik ons pen 7).

Stap 9: Sluit die Arduino aan en laai die kode op, en kyk hoe dit werk!

Stap 4: Die kode

Knoppie-vibrasie-motor.c

/ * Kode aangepas vanaf https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide?_ga=2.227031901.1514248658.1513372975-1149214600.1512613196 */
#insluit// SparkFun Haptic Motor Driver Library
#insluit// I2C biblioteek
SFE_HMD_DRV2605L HMD; // Skep 'n haptiese motorbestuurdervoorwerp
int knoppie = 7; // kies die invoerpen 7 vir die drukknop
int button_val = 0; // veranderlike om die penstatus te lees
voidsetup ()
{
/ * Initialiseer Haptic Motor Driver Object */
HMD.begin ();
Serial.begin (9600);
HMD. Mode (0); // Interne snellerinvoermodus - Moet die GO () -funksie gebruik om afspeel te aktiveer.
HMD. MotorSelect (0x36); // ERM -motor, 4x rem, gemiddelde lusversterking, 1,365x terug EMF -versterking
HMD. Biblioteek (2); // 1-5 & 7 vir ERM-motors, 6 vir LRA-motors
}
voidloop ()
{
/ * Begin die vibrasiemotor */
HMD.go ();
button_val = digitalRead (knoppie);
as (button_val == HOOG) {
/* Hierdie uitsette om aan te meld dat die knoppie ingedruk is, gebruik vir debugginh*/
Serial.println ("Knoppie ingedruk.");
/ * Die golfvormbiblioteek het 0-122 verskillende soorte golwe */
HMD. Golfvorm (0, 69);}
anders {
/ * As die knoppie nie ingedruk word nie, stop die vibrasiemotor */
HMD.stop ();
}
}

sien rawButton-Vibration-Motor.c aangebied deur ❤ deur GitHub

Stap 5: Video van die opstel van knoppie tot vibrasie-motor

Image
Image

Stap 6: Prototipe van handskoen uittrekbaar

Prototipe van handskoen uittrekbaar
Prototipe van handskoen uittrekbaar
Prototipe van handskoen uittrekbaar
Prototipe van handskoen uittrekbaar

Die handskoen wat hierbo getoon word, is 'n moontlike toepassing van die knoppie op die trillingsmotor. Ons het goedkoop, toeganklike materiaal soos spuite aangepas om 'vingers' uit te brei. Ons het die grove -knoppies met klittenband aan die einde van die aangepaste spuite vasgemaak, gate in die vingerpunte van 'n handskoen gesny en elke spuit deur die gate geplaas. Die knoppies se vierpen drade van die knoppies word deur die spuite gedraai en is lank genoeg sodat u die spuite tot hul volle lengte kan uitsteek. Die Arduino en die broodplank word via klittenband aan die bokant van die handskoen vasgemaak, waardeur die drade van die knoppies maklik verbind kan word deur 'n klein spleet aan die onderkant van elke vingerpunt. Die motorbestuurder word deur die opening aan die onderkant van die handskoen vasgemaak om die vibrasiemotor aan die binnekant van die handskoen vas te hou. As die draer die handskoen aanhet, sit die vibrasiemotor aan die onderkant van die pols van die draer. As die draer aan 'n oppervlak raak en een van die knoppies druk, word 'n unieke terugvoertrilling deur die motor gegee.

Die denkproses agter so 'n handskoen sou wees om iemand wat dit dra, toe te laat om dinge buite die normale vingerpunte te "raak" en terugvoer te kry dat hulle aan hierdie oppervlaktes raak. Die vibrasie -terugvoer verander na gelang van watter vinger die oppervlak raak, sodat die gebruiker kan bepaal watter vinger die oppervlak raak, gebaseer op die vibrasiepatroon.

Daar is baie maniere om die prototipe verder te neem, soos om die vingers meer uit te brei, of om die terugvoer te verander op grond van die tipe oppervlak wat aangeraak word. Ideaal gesproke word verlengbare vingers geskep deur middel van 3D -drukwerk, vir beter teleskopiese opsies. 'N Temperatuursensor kan in plaas van die knoppies gebruik word om terugvoer te gee oor hoe warm die oppervlak die gebruiker aanraak, of 'n vogsensor vir soortgelyke doeleindes. 'N Manier om te sien hoe ver die "vinger" uitgebrei is, kan geïmplementeer word, sodat die gebruiker kan weet hoe ver die voorwerp waaraan hy raak, is. Dit is slegs 'n paar moontlike opsies om hierdie prototipe verder te neem.

Hierdie handskoen kan gemaak word met algemene materiale as 'n maklike manier om u sintuie uit te brei en terugvoer te gee wat die gebruiker kan voel en verstaan.

Stap 7: Kode vir veelvuldige knoppies met unieke trillingsuitset

mutliple_buttons_to_vibmotor.ino

/ * Kode aangepas by SparkFun https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide */
#insluit// SparkFun Haptic Motor Driver Library
#insluit// I2C biblioteek
SFE_HMD_DRV2605L HMD; // Skep 'n haptiese motorbestuurdervoorwerp
int button_middle = 7;
int button_index = 5; // kies die invoerpen vir die drukknop
int button_ring = 9;
int button_pinky = 3;
voidsetup ()
{
HMD.begin ();
Serial.begin (9600);
HMD. Mode (0); // Interne snellerinvoermodus - Moet die GO () -funksie gebruik om afspeel te aktiveer.
HMD. MotorSelect (0x36); // ERM -motor, 4x rem, gemiddelde lusversterking, 1,365x terug EMF -versterking
HMD. Biblioteek (2); // 1-5 & 7 vir ERM-motors, 6 vir LRA-motors
}
voidloop ()
{
HMD.go (); // begin die vibrasiemotor
/ * Kyk watter knoppie gedruk word en lewer golfvorm 0-122 uit */
if (digitalRead (button_middle) == HOOG) {
Serial.println ("Knoppie ingedruk.");
HMD. Golfvorm (0, 112);}
elseif (digitalRead (button_index) == HOOG) {
HMD. Golfvorm (0, 20);
}
elseif (digitalRead (button_ring) == HOOG) {
HMD. Golfvorm (0, 80);
}
elseif (digitalRead (button_pinky) == HOOG) {
HMD. Golfvorm (0, 100);
}
/ * As daar geen knoppie gedruk word nie, stop dan */
anders {
HMD.stop ();
}
}

sien rawmutliple_buttons_to_vibmotor.ino aangebied deur ❤ deur GitHub

Aanbeveel: