Table des matières:

Dispositif de substitution et d'augmentation sensorielle vibrotactile (SSAD) : 4 étapes
Dispositif de substitution et d'augmentation sensorielle vibrotactile (SSAD) : 4 étapes

Vidéo: Dispositif de substitution et d'augmentation sensorielle vibrotactile (SSAD) : 4 étapes

Vidéo: Dispositif de substitution et d'augmentation sensorielle vibrotactile (SSAD) : 4 étapes
Vidéo: Sensory Augmentation Devices 2024, Juillet
Anonim
Dispositif de substitution et d'augmentation sensorielle vibrotactile (SSAD)
Dispositif de substitution et d'augmentation sensorielle vibrotactile (SSAD)
Dispositif de substitution et d'augmentation sensorielle vibrotactile (SSAD)
Dispositif de substitution et d'augmentation sensorielle vibrotactile (SSAD)

Ce projet vise à faciliter la recherche dans le domaine de la substitution et de l'augmentation sensorielle. J'ai eu la possibilité d'explorer différentes manières de construire des prototypes de SSAD vibrotactile dans le cadre de ma thèse de maîtrise. La substitution et l'augmentation sensorielles étant un sujet qui concerne non seulement les informaticiens, mais aussi les chercheurs d'autres domaines, comme les sciences cognitives, une instruction étape par étape devrait permettre aux non-experts en électronique et en informatique d'assembler ce prototype pour leur propre compte. fins de recherche.

Je n'ai pas l'intention de faire de la publicité pour exactement un type de marque/produit. Ce projet n'a été parrainé par aucune entreprise. Le matériau que j'ai utilisé a été choisi en raison de spécifications techniques et de commodité (rapidité/coût de livraison, disponibilité, etc.). Pour tous les produits mentionnés dans ce Instructable, des alternatives également appropriées sont disponibles.

L'Instructable actuel contient des instructions étape par étape sur la façon de construire un prototype SSAD de base avec jusqu'à 4 moteurs et capteurs analogiques.

En plus de cet Instructable, j'ai créé trois extensions: tout d'abord, j'ai publié des instructions sur l'utilisation de plus de quatre moteurs avec ce prototype SSAD (https://www.instructables.com/id/Using-More-Than-4…). Deuxièmement, j'ai créé un exemple de comment rendre ce prototype portable (https://www.instructables.com/id/Making-the-SSAD-W…) et comment couvrir les moteurs ERM sans masse rotative encapsulée (https:/ /www.instructables.com/id/Covering-Rotating…). En outre, un exemple d'intégration de capteurs autres qu'analogiques (dans ce cas, des capteurs de proximité) au prototype est également publié (https://www.instructables.com/id/Inclusion-a-Proxi…).

Qu'est-ce que « la substitution et l'augmentation sensorielles » ?

Avec la Substitution Sensorielle, les informations recueillies par une modalité sensorielle (par exemple la vue) peuvent être perçues à travers un autre sens (par exemple le son). C'est une technique non invasive prometteuse qui aide les gens à surmonter la perte ou la déficience sensorielle.

Si le stimulus sensoriel, qui est traduit, n'est normalement pas perceptible par les êtres humains (par exemple, la lumière UV), cette approche est appelée augmentation sensorielle.

Quelles sont les compétences nécessaires pour construire ce prototype ?

Fondamentalement, aucune compétence de programmation avancée n'est nécessaire pour suivre les instructions fournies ci-dessous. Cependant, si vous débutez en soudure, prévoyez un peu plus de temps pour vous familiariser avec cette technique. Si vous n'avez jamais programmé auparavant, l'aide d'une personne plus expérimentée en programmation peut être nécessaire.

Y a-t-il des machines ou des outils nécessaires qui sont chers ou ne sont pas facilement disponibles ?

À l'exception d'un fer à souder, aucune machine ni aucun outil n'est nécessaire pour construire ce prototype que vous ne pouvez pas facilement acheter en ligne ou dans le prochain magasin ménager. Ce SSAD est conçu pour permettre un prototypage rapide, ce qui signifie qu'il doit être rapidement reproductible et permettre une exploration d'idées peu coûteuse.

Fournitures

Composants principaux (environ 65 £ pour 4 moteurs, hors matériel de soudure)

  • Arduino Uno (par exemple https://store.arduino.cc/arduino-uno-rev3, 20 £)
  • Adafruit Motorshield v2.3 (par exemple https://www.adafruit.com/product/1438, 20 £) et en-têtes d'empilage mâles (normalement inclus lors de l'achat du motorshield)
  • Moteurs ERM cylindriques (par exemple https://www.adafruit.com/product/1438, 5, 50£ / moteur)
  • Fer à souder et fil à souder
  • Fils

Facultatif (voir Extensions)

En cas d'achat d'un moteur ERM avec masse tournante découverte:

  • Tube en vinyle
  • Planche souple mince
  • Imprimante 3D (pour boîtier Arduino)

Si vous souhaitez utiliser plus de 4 moteurs (pour plus de 8 même une autre fois):

  • Adafruit Motorshield v2.3 et embases empilables mâles
  • En-têtes d'empilage femelles (par exemple
  • Arduino Mega pour plus de 6 moteurs (par exemple

Étape 1: Souder

Soudure
Soudure

Souder les broches au capot moteur

Adafruit propose un tutoriel très complet sur la façon de souder des en-têtes à un motorshield (https://learn.adafruit.com/adafruit-motor-shield-v…):

  1. Tout d'abord, placez les en-têtes d'empilage dans les broches de l'Arduino Uno,
  2. Ensuite, placez le bouclier sur le dessus, de sorte que le côté court des broches dépasse.
  3. Après cela, soudez toutes les broches au blindage et assurez-vous que la soudure coule autour de la broche et forme une forme de volcan (voir la photo ci-dessus, qui est adoptée à partir de https://cdn.sparkfun.com/assets/c/d/ a/a/9/523b1189…).

Si vous êtes un débutant en soudure, aidez-vous avec plus de tutoriels, tels que

Souder des fils plus longs au moteur

Comme la plupart des moteurs sont livrés sans ou avec des fils très courts et fins, il est logique de les étendre en les soudant à des fils plus longs et plus robustes. Voici comment vous pourriez faire cela:

  1. Retirez le plastique autour de l'extrémité des fils et placez-les de sorte qu'ils soient en contact les uns avec les autres le long de leurs fils exposés, comme sur la photo.
  2. Soudez-les ensemble en touchant les fils des deux fils et en laissant la soudure couler dessus.

Étape 2: Câblage

Câblage
Câblage
  1. Empilez le bouclier moteur au-dessus de l'Arduino.
  2. Vissez les moteurs dans le capot moteur.
  3. Câblez des capteurs analogiques à Arduino (dans l'image, cela se fait avec des capteurs de lumière, mais le même circuit a la même apparence pour les autres capteurs analogiques).

Étape 3: Codage

Codage
Codage
Codage
Codage
Codage
Codage
Codage
Codage

1. Télécharger

Téléchargez le dossier zip (SSAD_analogueInputs.zip), joint ci-dessous. Décompressez-le.

Téléchargez l'IDE Arduino (https://www.arduino.cc/en/main/software).

Ouvrez le fichier Arduino (SSAD_analogueInputs.ino) qui se trouve dans le dossier décompressé avec l'IDE Arduino.

2. Installer les bibliothèques

Pour exécuter le code fourni, vous devez installer certaines bibliothèques. Ainsi, si le fichier Arduino, joint à la fin de cet article, est ouvert dans l'IDE Arduino, procédez comme suit:

  1. Cliquez sur: Outils → Gérer les bibliothèques…
  2. Recherchez "Adafruit Motor Shield V2 Library" dans le champ Filtrez votre recherche
  3. Installez-le en cliquant sur le bouton Installer

Après avoir téléchargé ces bibliothèques, les instructions #include dans les codes fournis devraient maintenant fonctionner. Vérifiez cela en cliquant sur le bouton « Vérifier » (Cochez en haut à gauche). Vous savez que toutes les bibliothèques fonctionnent, si vous le faites, vous obtenez le message "Compilation terminée" en bas du programme. Sinon, une barre rouge apparaît et vous recevrez un message indiquant ce qui s'est mal passé.

3. Changer le code

Modifiez le code en fonction de votre cas d'utilisation en suivant les instructions ci-dessous:

Moteurs d'initiation et leurs sorties sensorielles

Tout d'abord, déclarez quelles broches les moteurs utilisent, ainsi que dans quelle plage les moteurs fonctionnent. Par exemple, un moteur attaché à M4 et fonctionnant dans une plage (vitesse) de 25 et 175 est déclaré ainsi (sous le commentaire PRINCIPAL):

Moteur moteur1 = Moteur(4, 25, 175);

Lorsque vous travaillez avec de petits moteurs à vibration entraînés dans une plage allant jusqu'à 3 V, le capot moteur doit être utilisé avec prudence car il est conçu pour faire fonctionner des moteurs de 4,5 V CC à 13,5 V CC. Pour ne pas endommager les moteurs 3V, j'ai limité par programme la sortie Volt du blindage à un maximum de 3V (exactement 2,95V). J'ai fait cela en mesurant combien la vitesse maximale de 255 est en Volt et j'ai mesuré avec un multimètre qu'il s'agissait de 4,3V. Par conséquent, je n'ai jamais autorisé une vitesse supérieure à 175, ce qui correspond à environ 3 V, aux moteurs.

Chaque moteur sera connecté à une sortie sensorielle.

Un SensoryOutput est composé d'un ou plusieurs stimuli sensoriels. Par exemple, un moteur pourrait vibrer soit selon un seul capteur, soit selon la moyenne de plusieurs capteurs positionnés différemment.

Par conséquent, d'abord pour chaque moteur, une SensoryOutput doit être déclarée. Les nombres entre parenthèses sont les valeurs minimale et maximale de ce que le capteur (groupe) peut percevoir. Pour les capteurs analogiques, il s'agit principalement de 0 et 1023:

SensoryOutput output1 = SensoryOutput (0, 1023);

Dans la fonction loop(), chaque moteur est alors affecté à une valeur de sortie. Ici, vous écrivez pour chaque moteur l'instruction suivante et au lieu de "output1", quelle que soit la valeur SensoryOutput qui doit y être connectée. N'oubliez pas de changer également tous les noms "output1" dans cette ligne, si vous utilisez un autre nom pour cela.

motor1.drive(output1.getValue(), output1.getMin(), output1.getMax());

Si vous le souhaitez, vous pouvez attribuer à plusieurs moteurs (par exemple, moteur1 et moteur2) la même sortie sensorielle (par exemple, sortie1).

De plus, vous pouvez donner les valeurs de plusieurs capteurs à un moteur (voir la section suivante).

Définition des capteurs

Dans la fonction setup(), il faut déclarer quels capteurs feront partie de quelle vibration du moteur (SensoryOutput). Voici un exemple de la façon dont vous définissez que le capteur connecté à l'Arduino Pin A0 doit être traduit en vibrations avec motor1 et par conséquent output1:

sortie1.include(A0);

Si plusieurs sorties sensorielles doivent être combinées dans une vibration du moteur, vous pouvez simplement ajouter une autre broche d'entrée analogique à output1:

sortie1.include(A1);

Sinon, continuez simplement avec la sortie suivante:

sortie2.include(A1);

Combinaison de plusieurs capteurs

Comme mentionné ci-dessus, plusieurs entrées de capteur (par exemple de A0, A1 et A2) peuvent être dirigées vers un moteur. Le code, que je fournis, calcule la moyenne des valeurs lues par tous les capteurs inclus. Donc, si cela suffit pour votre cas d'utilisation et que vous souhaitez simplement mapper directement, par exemple, une faible entrée sensorielle à une faible vibration, vous avez terminé et n'avez pas à penser à ce qui suit:

Si vous avez cependant d'autres idées sur ce que vous voulez faire avec une ou plusieurs entrées sensorielles brutes, vous pouvez faire en fonction des changements dans la fonction int getValue() dans la classe SensoryOutput:

int getValue(){

sortie finale = 0; // TODO faire ce que vous voulez avec les valeurs sensorielles // ici la moyenne est construite, si plusieurs valeurs sont combinées pour (int i = 0; i < curArrayLength; i++) { finalOutput += analogRead(valueArray); } return finalOutput / curArrayLength; }

4. Téléchargez le code sur votre prototype Arduino

Branchez le prototype Arduino (de l'étape 2) à votre PC.

Cliquez sur Outils → Port → Sélectionnez le port, où Arduino/Genuino Uno est écrit entre parenthèses

Cliquez sur Outils → Carte → Arduino/Genuino Uno

Maintenant, les moteurs doivent fonctionner selon les entrées des capteurs analogiques. Si vous le souhaitez, vous pouvez déconnecter l'Arduino de votre PC et le brancher sur une autre source d'alimentation, comme une batterie 9V.

Étape 4: Extensions possibles

Extensions possibles
Extensions possibles
Extensions possibles
Extensions possibles
Extensions possibles
Extensions possibles

Le prototype que vous venez de construire permet exclusivement des entrées analogiques et peut piloter jusqu'à quatre moteurs. De plus, il n'est pas encore portable. Si vous souhaitez étendre ces fonctionnalités, consultez les instructions suivantes:

  • Couvrant les masses tournantes des moteurs ERM:
  • Rendre le SSAD portable:
  • Utilisation de plus de 4 moteurs - Empilage de plusieurs motorshields:
  • Utilisation d'un capteur de proximité à ultrasons comme entrée SSAD:

Conseillé: