Table des matières:

Une application d'un bouton extensible avec retour de vibration : 7 étapes (avec photos)
Une application d'un bouton extensible avec retour de vibration : 7 étapes (avec photos)

Vidéo: Une application d'un bouton extensible avec retour de vibration : 7 étapes (avec photos)

Vidéo: Une application d'un bouton extensible avec retour de vibration : 7 étapes (avec photos)
Vidéo: Impossible que tu connaisses cette astuce Samsung 2024, Novembre
Anonim
Une application d'un bouton extensible avec retour de vibration
Une application d'un bouton extensible avec retour de vibration
Une application d'un bouton extensible avec retour de vibration
Une application d'un bouton extensible avec retour de vibration

Dans ce tutoriel, nous allons d'abord vous montrer comment utiliser un Arduino Uno pour contrôler un moteur de vibration via un bouton étendu. La plupart des didacticiels sur les boutons-poussoirs impliquent le bouton de la maquette physique, alors que dans ce didacticiel, le bouton a été modifié pour être connecté à la maquette via des câbles de démarrage. Ce bouton vous permettra de contrôler la force et le modèle de vibration du moteur. Ensuite, nous montrerons un prototype possible d'une technologie portable utilisant cette configuration. Ce portable est un gant avec des doigts extensibles avec des boutons attachés à l'extrémité, programmé pour donner un retour de vibration unique au porteur en fonction du bouton spécifique poussé.

Étape 1: Composants nécessaires pour la configuration du bouton au moteur de vibration

Composants nécessaires pour la configuration du bouton au moteur de vibration
Composants nécessaires pour la configuration du bouton au moteur de vibration
  • Arduino Uno
  • Planche à pain
  • Moteur de vibration de vibrateur de pièce
  • Bouton Grove
  • Fils de raccordement mâle-mâle (x10)
  • Cavalier 4 broches
  • Pilote de moteur haptique
  • Connecteur de bord mâle-femelle
  • Fer à souder

Étape 2: Schémas pour la configuration du bouton au moteur de vibration

Schémas pour la configuration du bouton au moteur de vibration
Schémas pour la configuration du bouton au moteur de vibration

Le schéma précédent a été créé avec Fritzing.org.

Étape 3: la configuration de la configuration du bouton au moteur de vibration

Étape 1: Soudez le connecteur de bord au pilote du moteur de vibration. Soudez les fils du vibrateur de pièces dans les bornes du pilote du moteur de vibration.

Étape 2: Connectez le câble de démarrage à 4 broches au bouton épanoui.

Étape 3: À l'aide de l'un des cavaliers, connectez la broche GRD de l'Arduino à une rangée de la maquette.

Étape 4: À l'aide d'un autre fil de connexion, connectez la broche Volt 3.3 de l'Arduino à une autre rangée de la planche à pain.

Étape 5: Nous allons maintenant connecter le pilote du moteur de vibration à l'Arduino. À l'aide d'un troisième cavalier, connectez la broche GND du pilote du moteur de vibration à la même rangée sur la planche à pain que la broche GRD de l'Arduino. Faites de même avec un autre fil pour VCC (volt) sur le pilote du moteur de vibration, à la rangée de volts de la planche à pain.

Étape 6: Utilisez encore un autre fil pour connecter la broche SDA du pilote du moteur de vibration à la broche SDA directement sur l'Arduino. Encore une fois, faites de même avec les broches SCL sur les deux. Vous pouvez également suivre une approche similaire à l'étape 5 et connecter les broches SDA et SCL de l'Arduino à leurs propres rangées sur la planche à pain via des câbles de connexion. Ensuite, faites passer un fil de la rangée où la broche SDA est connectée sur la planche à pain à la broche SDA sur le pilote du moteur. Faites de même pour la rangée SCL sur la maquette jusqu'à la broche SCL sur le pilote de moteur.

Étape 7: Nous allons maintenant terminer en connectant le bouton au pilote du moteur de vibration et à Arduino. Utilisez un autre fil de connexion pour connecter le GRD du fil de connexion à 4 broches connecté à la sortie du bouton à la même rangée que les autres fils GRD sur la planche à pain. Faites de même avec volt une fois de plus (VCC).

Étape 8: Connectez une écriture finale de SIG sur le bouton breakout à une broche sur l'Arduino (pour les besoins de notre code, nous avons utilisé la broche 7).

Étape 9: Branchez l'Arduino et téléchargez le code, et regardez-le fonctionner !

Étape 4: le code

Bouton-Vibration-Moteur.c

/* Code adapté de https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide?_ga=2.227031901.1514248658.1513372975-1149214600.1512613196 */
#comprendre//Bibliothèque de pilotes de moteurs haptiques SparkFun
#comprendre//Bibliothèque I2C
SFE_HMD_DRV2605L HMD; //Créer un objet pilote de moteur haptique
touche int = 7; // choisir la broche d'entrée 7 pour le bouton poussoir
int button_val = 0; // variable pour lire l'état de la broche
void setup()
{
/* Initialiser l'objet pilote de moteur haptique */
HMD.begin();
Serial.begin(9600);
HMD. Mode(0); // Mode d'entrée de déclenchement interne -- Doit utiliser la fonction GO() pour déclencher la lecture.
HMD. MotorSelect (0x36); // Moteur ERM, freinage 4x, gain de boucle moyen, gain EMF arrière 1,365x
HMD. Bibliothèque(2); //1-5 & 7 pour les moteurs ERM, 6 pour les moteurs LRA
}
boucle vide()
{
/* Démarrer le moteur de vibration */
HMD.go();
button_val = digitalRead(bouton);
if(button_val== HAUT) {
/* Cela sort pour consigner que le bouton a été enfoncé, à utiliser pour le débogage*/
Serial.println("Bouton enfoncé.");
/* La bibliothèque de formes d'ondes a 0-122 types d'ondes différents */
HMD. Forme d'onde (0, 69);}
autre{
/* Si le bouton n'est pas enfoncé, arrêtez le moteur de vibration */
HMD.stop();
}
}

voir rawButton-Vibration-Motor.c hébergé avec ❤ par GitHub

Étape 5: vidéo de la configuration du bouton vers le moteur de vibration

Image
Image

Étape 6: Prototype de gant extensible

Prototype de Gant Extensible
Prototype de Gant Extensible
Prototype de Gant Extensible
Prototype de Gant Extensible

Une application possible du bouton au moteur de vibration est le gant illustré ci-dessus. Nous avons modifié des matériaux accessibles bon marché tels que des seringues afin de créer des « bouts de doigts » extensibles. Nous avons attaché les boutons du bosquet à l'extrémité des seringues modifiées à l'aide de velcro, découpé des trous dans le bout des doigts d'un gant et placé chaque seringue à travers les trous. Les cavaliers à 4 broches des boutons sont enfilés dans les seringues et sont suffisamment longs pour que vous puissiez étendre les seringues sur toute leur longueur. L'Arduino et la planche à pain sont fixés par velcro sur le dessus du gant, ce qui permet de connecter facilement les fils des boutons à travers une petite fente à la base de chaque bout de doigt. Le moteur d'entraînement est fixé sur le dessous du gant par l'ouverture, afin de coller le moteur de vibration à l'intérieur du gant. Lorsque le porteur porte le gant, le moteur de vibration se trouve sous le poignet du porteur. Lorsque le porteur touche une surface et appuie sur l'un des boutons, une vibration de retour unique est émise par le moteur.

Le processus de réflexion derrière un tel gant serait de permettre à une personne qui le porte de « toucher » des choses au-delà de la portée de ses doigts habituels et de recevoir des informations indiquant qu'elle touche ces surfaces. Le retour de vibration change en fonction du doigt qui touche la surface, de sorte qu'il est possible pour l'utilisateur de dire quel doigt touche la surface en fonction du modèle de vibration.

Il existe de nombreuses façons d'aller plus loin dans le prototype, par exemple en rendant les doigts plus extensibles ou en modifiant le retour d'information en fonction du type de surface touchée. Idéalement, des doigts extensibles seraient créés via l'impression 3D, pour de meilleures options de télescopage. Un capteur de température pourrait être utilisé à la place des boutons, pour permettre un retour sur la température de la surface que l'utilisateur touche, ou un capteur d'humidité à des fins similaires. Un moyen de détecter jusqu'où le "doigt" a été étendu pourrait être mis en œuvre, pour permettre à l'utilisateur de savoir à quelle distance se trouve l'objet qu'il touche. Ce ne sont là que quelques options possibles pour approfondir ce prototype.

Ce gant peut être fabriqué avec des matériaux courants comme un moyen facile d'étendre vos sens et de créer un retour que l'utilisateur peut ressentir et comprendre.

Étape 7: Code pour plusieurs boutons avec une sortie de vibration unique

mutliple_buttons_to_vibmotor.ino

/* Code adapté de SparkFun https://learn.sparkfun.com/tutorials/haptic-motor-driver-hook-up-guide */
#comprendre//Bibliothèque de pilotes de moteurs haptiques SparkFun
#comprendre//Bibliothèque I2C
SFE_HMD_DRV2605L HMD; //Créer un objet pilote de moteur haptique
int button_middle = 7;
int button_index = 5; // choisir la broche d'entrée pour le bouton poussoir
int button_ring = 9;
int button_pinky = 3;
void setup()
{
HMD.begin();
Serial.begin(9600);
HMD. Mode(0); // Mode d'entrée de déclenchement interne -- Doit utiliser la fonction GO() pour déclencher la lecture.
HMD. MotorSelect (0x36); // Moteur ERM, freinage 4x, gain de boucle moyen, gain EMF arrière 1,365x
HMD. Bibliothèque(2); //1-5 & 7 pour les moteurs ERM, 6 pour les moteurs LRA
}
boucle vide()
{
HMD.go(); // démarre le moteur de vibration
/* Vérifiez quel bouton est enfoncé et la forme d'onde de sortie 0-122 */
if(digitalRead(button_middle)== HIGH) {
Serial.println("Bouton enfoncé.");
HMD. Forme d'onde (0, 112);}
elseif(digitalRead(button_index) == HIGH){
HMD. Forme d'onde (0, 20);
}
elseif(digitalRead(button_ring) == HIGH){
HMD. Forme d'onde (0, 80);
}
elseif(digitalRead(button_pinky) == HIGH){
HMD. Forme d'onde (0, 100);
}
/* Si aucun bouton n'est enfoncé alors stop */
autre{
HMD.stop();
}
}

voir rawmutliple_buttons_to_vibmotor.ino hébergé avec ❤ par GitHub

Conseillé: