Taula de continguts:

Aplicació d'un botó extensible amb comentaris de vibracions: 7 passos (amb imatges)
Aplicació d'un botó extensible amb comentaris de vibracions: 7 passos (amb imatges)

Vídeo: Aplicació d'un botó extensible amb comentaris de vibracions: 7 passos (amb imatges)

Vídeo: Aplicació d'un botó extensible amb comentaris de vibracions: 7 passos (amb imatges)
Vídeo: VENTOY Multiboot BIOS y UEFI [DualBoot] | TODO en 1 Solo USB | Windows, Linux y Mas❗️ 2024, Juliol
Anonim
Una aplicació d’un botó extensible amb comentaris de vibracions
Una aplicació d’un botó extensible amb comentaris de vibracions
Una aplicació d’un botó extensible amb comentaris de vibracions
Una aplicació d’un botó extensible amb comentaris de vibracions

En aquest tutorial, primer us mostrarem com utilitzar un Arduino Uno per controlar un motor de vibració mitjançant un botó ampliat. La majoria dels tutorials sobre els botons automàtics impliquen el botó de la taula de proves física, mentre que en aquest tutorial, el botó s'ha modificat per connectar-se a la taula de treball mitjançant cables jumper. Aquest botó us permetrà controlar la força i el patró de vibracions del motor. Després d'això, mostrarem un possible prototipus de tecnologia portàtil que faci ús d'aquesta configuració. Aquest dispositiu portàtil és un guant amb puntes dels dits extensibles amb botons connectats a l’extrem, programat per donar una retroalimentació de vibracions única a l’usuari en funció del botó específic premut.

Pas 1: components necessaris per a la configuració del motor de botó per a la vibració

Components necessaris per a la configuració del motor de botó a vibració
Components necessaris per a la configuració del motor de botó a vibració
  • Arduino Uno
  • Taula de pa
  • Motor de vibració de vibrador de moneda
  • Botó Grove
  • Filferros de pont masculí a masculí (x10)
  • Jumper Wire de 4 pins
  • Controlador de motor haptic
  • Connector de vora mascle a femella
  • Soldador

Pas 2: Esquemes per a la configuració del motor del botó a la vibració

Esquemes de configuració del motor de botó a vibració
Esquemes de configuració del motor de botó a vibració

El diagrama anterior es va crear amb Fritzing.org.

Pas 3: Configuració del botó de configuració del motor de vibració

Pas 1: soldeu el connector de vora al controlador del motor de vibració. Soldeu els cables del vibrador de monedes als terminals del controlador del motor de vibració.

Pas 2: connecteu el cable de pont de 4 pins a la sortida del botó.

Pas 3: utilitzant un dels cables de pont, connecteu el pin GRD de l'Arduino a una fila de la placa.

Pas 4: fent servir un altre cable de pont, connecteu el pin Volt 3.3 de l'Arduino a una fila diferent de la placa.

Pas 5: ara connectarem el controlador del motor de vibració a l'Arduino. Utilitzant un tercer cable de pont, connecteu el pin GND al controlador del motor de vibració a la mateixa fila de la placa de control que el pin GRD de l’Arduino. Feu el mateix amb un altre cable per a VCC (volt) al controlador del motor de vibració, a la fila de volts de la placa.

Pas 6: utilitzeu un altre cable per connectar el pin SDA del controlador del motor de vibració al pin SDA directament a l'Arduino. De nou, feu el mateix amb els pins SCL de tots dos. Com a alternativa, seguiu un enfocament similar al pas 5 i connecteu els pins SDA i SCL de l’Arduino a les seves pròpies files de la taula mitjançant cables de pont. A continuació, executeu un cable des de la fila on es connecta el pin SDA a la placa de connexió amb el pin SDA del controlador del motor. Feu el mateix per a la fila SCL de la placa de connexions i al pin SCL del controlador del motor.

Pas 7: ara acabarem connectant el botó al controlador del motor de vibració i a Arduino. Utilitzeu un altre cable de pont per connectar el GRD des del cable de pont de 4 pins connectat a la sortida del botó a la mateixa fila que els altres cables de GRD de la placa. Feu el mateix amb el voltatge una vegada més (VCC).

Pas 8: connecteu una escriptura final des de SIG a la sortida del botó a un pin de l'Arduino (a efectes del nostre codi, hem utilitzat el pin 7).

Pas 9: connecteu l'Arduino i pengeu el codi i observeu-lo com funciona.

Pas 4: el codi

Botó-Vibració-Motor.c

/ * Codi adaptat de https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide?_ga=2.227031901.1514248658.1513372975-1149214600.1512613196 * /
#incloure// Biblioteca de controladors de motors Haptic SparkFun
#incloure// Biblioteca I2C
SFE_HMD_DRV2605L HMD; // Creeu un objecte de controlador de motor
botó int = 7; // trieu el pin d'entrada 7 per al polsador
int button_val = 0; // variable per llegir l'estat del pin
voidsetup ()
{
/ * Inicialitzar l’objecte del controlador de motor hàptic * /
HMD.begin ();
Serial.begin (9600);
HMD. Mode (0); // Mode d’inici d’activació interna: ha d’utilitzar la funció GO () per activar la reproducció.
HMD. MotorSelect (0x36); // Motor ERM, 4x frenada, guany de bucle mitjà, guany de 1.365x EMF posterior
Biblioteca HMD. (2); // 1-5 i 7 per a motors ERM, 6 per a motors LRA
}
voidloop ()
{
/ * Arrencar el motor de vibració * /
HMD.go ();
button_val = digitalRead (botó);
if (button_val == HIGH) {
/ * Això dóna sortida per registrar el botó que s'ha premut, utilitzeu-lo per a la depuració * /
Serial.println ("Botó premut");
/ * La biblioteca de formes d'ona té 0-122 tipus d'ones diferents * /
HMD. Waform (0, 69);}
més {
/ * Si no es prem el botó, atureu el motor de vibració * /
HMD.stop ();
}
}

veure rawButton-Vibration-Motor.c allotjat amb ❤ per GitHub

Pas 5: Vídeo del botó per configurar el motor de vibració

Image
Image

Pas 6: Prototip de guant extensible

Prototip de guant extensible
Prototip de guant extensible
Prototip de guant extensible
Prototip de guant extensible

Una possible aplicació del botó al motor de vibració és el guant que es mostra més amunt. Hem modificat materials accessibles i econòmics, com ara xeringues, per tal de fer "puntes dels dits" extensibles. Vam fixar els botons de l'arbreda al final de les xeringues modificades amb velcro, vam tallar forats a la punta dels dits d'un guant i vam col·locar cada xeringa pels forats. Els cables de pont de 4 passadors dels botons s’enfilen a través de les xeringues i són prou llargs perquè pugueu estendre les xeringues fins a la seva longitud completa. L’Arduino i la taula de fixació s’uneixen mitjançant velcro a la part superior del guant, cosa que permet connectar fàcilment els cables dels botons a través d’una petita escletxa a la base de cada punta dels dits. El conductor del motor està fixat a la part inferior del guant per l'obertura, per tal d'enganxar el motor de vibració a l'interior del guant. Quan l’usuari té el guant posat, el motor de vibració s’assenta a la part inferior del canell de l’usuari. Quan l'usuari toca una superfície i prem un dels botons, es produeix una vibració de retroalimentació única a través del motor.

El procés de pensament darrere d'aquest guant seria permetre a algú que el portés "tocar" coses més enllà de la gamma dels seus dits habituals, i rebre informació que tocava aquestes superfícies. La retroalimentació de la vibració canvia en funció del dit que toqui la superfície, de manera que l'usuari pot saber quin dit està tocant la superfície en funció del patró de vibració.

Hi ha moltes maneres de portar el prototip més enllà, com fer els dits més extensibles o fer que el canvi de retroalimentació es faci en funció del tipus de superfície que es toqui. L’ideal seria crear dits extensibles mitjançant la impressió 3D per obtenir millors opcions de telescopi. Es podria utilitzar un sensor de temperatura en lloc dels botons, per permetre la retroalimentació de la calor de la superfície que toca l’usuari o un sensor d’humitat per a propòsits similars. Es podria implementar una manera de percebre fins a quin punt s'ha ampliat el "dit", per permetre a l'usuari saber a quina distància es troba l'objecte que toca. Aquestes són només algunes opcions possibles per portar aquest prototip més enllà.

Aquest guant es pot fabricar amb materials comuns com una forma senzilla d’ampliar els sentits i crear comentaris que l’usuari pugui sentir i entendre.

Pas 7: Codi de diversos botons amb sortida de vibració única

mutliple_buttons_to_vibmotor.ino

/ * Codi adaptat de SparkFun https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide * /
#incloure// Biblioteca de controladors de motors Haptic SparkFun
#incloure// Biblioteca I2C
SFE_HMD_DRV2605L HMD; // Creeu un objecte de controlador de motor hàptic
int button_middle = 7;
int button_index = 5; // trieu el pin d'entrada per al polsador
int button_ring = 9;
int button_pinky = 3;
voidsetup ()
{
HMD.begin ();
Serial.begin (9600);
HMD. Mode (0); // Mode d'entrada de disparador intern: ha d'utilitzar la funció GO () per activar la reproducció.
HMD. MotorSelect (0x36); // Motor ERM, 4x frenada, guany de bucle mitjà, guany de 1.365x EMF posterior
Biblioteca HMD. (2); // 1-5 i 7 per a motors ERM, 6 per a motors LRA
}
voidloop ()
{
HMD.go (); // engegueu el motor de vibració
/ * Comproveu quin botó es prem i forma d'ona de sortida 0-122 * /
if (digitalRead (button_middle) == HIGH) {
Serial.println ("Botó premut");
HMD. Waveform (0, 112);}
elseif (digitalRead (button_index) == HIGH) {
HMD. Waform (0, 20);
}
elseif (digitalRead (button_ring) == HIGH) {
HMD. Waform (0, 80);
}
elseif (digitalRead (button_pinky) == HIGH) {
HMD. Waform (0, 100);
}
/ * Si no es prem cap botó, atureu * /
més {
HMD.stop ();
}
}

visualitza rawmutliple_buttons_to_vibmotor.ino allotjat amb ❤ per GitHub

Recomanat: