Taula de continguts:

Dispositiu de substitució i augment sensorial vibrotàctil (SSAD): 4 passos
Dispositiu de substitució i augment sensorial vibrotàctil (SSAD): 4 passos

Vídeo: Dispositiu de substitució i augment sensorial vibrotàctil (SSAD): 4 passos

Vídeo: Dispositiu de substitució i augment sensorial vibrotàctil (SSAD): 4 passos
Vídeo: прививка дерева двойным лезвием // budding 2024, Desembre
Anonim
Dispositiu de substitució i augment sensorial vibrotàctil (SSAD)
Dispositiu de substitució i augment sensorial vibrotàctil (SSAD)
Dispositiu de substitució i augment sensorial vibrotàctil (SSAD)
Dispositiu de substitució i augment sensorial vibrotàctil (SSAD)

Aquest projecte té com a objectiu facilitar la investigació en l’àmbit de la substitució sensorial i l’augment. Vaig tenir la possibilitat d’explorar diferents maneres de construir prototips vibrotàctils SSAD dins de la meva tesi doctoral. Com que la substitució sensorial i l’augment és un tema que no només concerneix als informàtics, sinó també a investigadors d’altres camps, com ara les ciències cognitives, una instrucció pas a pas hauria de permetre als no experts en electrònica i informàtica muntar aquest prototip pel seu compte. finalitats de recerca.

No tinc intenció de publicitar exactament un tipus de marca / producte. Aquest projecte no va ser patrocinat per cap empresa. El material, que he utilitzat, s’ha escollit a causa de les especificacions tècniques i la comoditat (rapidesa / cost de lliurament, disponibilitat, etc.). Per a tots els productes que s’esmenten en aquesta instrucció, hi ha alternatives igualment adequades.

L'instructible actual conté instruccions pas a pas de com construir un prototip bàsic SSAD amb fins a 4 motors i sensors analògics.

A més d’aquest Instructable, he creat tres extensions: en primer lloc, he publicat instruccions sobre com utilitzar més de quatre motors amb aquest prototip SSAD (https://www.instructables.com/id/Using-More-Than-4…). En segon lloc, vaig crear un subministrament i un exemple de com fer aquest prototip usable (https://www.instructables.com/id/Making-the-SSAD-W…) i com cobrir motors ERM sense massa rotativa encapsulada (https: / /www.instructables.com/id/Covering-Rotating…). A més, també es publica un exemple de com integrar al prototip sensors que no siguin analògics (en aquest cas, sensors de proximitat) (https://www.instructables.com/id/Including-a-Proxi…).

Què és la "substitució sensorial i augment"?

Amb la substitució sensorial, la informació recollida per una modalitat sensorial (per exemple, la vista) es pot percebre mitjançant un altre sentit (per exemple, el so). És una tècnica no invasiva prometedora que ajuda les persones a superar la pèrdua o deteriorament sensorial.

Si l’estímul sensorial, que es tradueix, normalment no és perceptible pels éssers humans (per exemple, llum UV), aquest enfocament s’anomena augment sensorial.

Quines habilitats es necessiten per construir aquest prototip?

Bàsicament, no es necessiten habilitats avançades de programació per seguir les instruccions que es proporcionen a continuació. Tot i això, si sou principiants en soldadura, planifiqueu un temps addicional per conèixer aquesta tècnica. En cas que mai no hàgiu programat abans, pot ser necessària ajuda d'algú amb més experiència en programació.

Hi ha màquines o eines necessàries que siguin costoses o que no estiguin disponibles fàcilment?

Excepte un soldador, no es requereixen màquines ni eines per construir aquest prototip que no pugueu comprar fàcilment en línia ni a la propera botiga domèstica. Aquest SSAD està dissenyat per permetre un prototipat ràpid, el que significa que hauria de ser ràpidament reproduïble i permetre una exploració econòmica d’idees.

Subministraments

Components principals (aproximadament 65 £ per a 4 motors, excepte els equips de soldadura)

  • Arduino Uno (per exemple, https://store.arduino.cc/arduino-uno-rev3, 20 £)
  • Adafruit Motorshield v2.3 (per exemple, https://www.adafruit.com/product/1438, 20 £) i capçaleres d'apilament masculí (normalment s'inclouen en comprar el motor)
  • Motors ERM cilíndrics (per exemple, https://www.adafruit.com/product/1438, 5, 50 £ / motor)
  • Soldador i filferro
  • Filferros

Opcional (vegeu Extensions)

Si es compra un motor ERM amb massa rotativa descoberta:

  • Tub de vinil
  • Tauler tou prim
  • Impressora 3D (per a carcassa Arduino)

Si voleu utilitzar més de 4 motors (per més de 8 iguals una altra vegada):

  • Adafruit Motorshield v2.3 i capçaleres d'apilament masculí
  • Capçaleres d'apilament femení (per exemple,
  • Arduino Mega per a més de 6 motors (per exemple,

Pas 1: soldar

Soldadura
Soldadura

Soldeu els passadors al paravent

Adafruit ofereix un tutorial molt complet sobre com soldar capçaleres a un motorescut (https://learn.adafruit.com/adafruit-motor-shield-v…):

  1. En primer lloc, poseu les capçaleres d'apilament als passadors de l'Arduino Uno,
  2. A continuació, col·loqueu l’escut a la part superior, de manera que quedi el costat curt dels passadors.
  3. Després d'això, soldeu tots els pins a l'escut i assegureu-vos que la soldadura flueix al voltant del pin i formi una forma de volcà (vegeu la imatge superior, que s'adopta a https://cdn.sparkfun.com/assets/c/d/ a / a / 9 / 523b1189 …).

Si sou un principiant de soldadura, ajudeu-vos amb més tutorials, com ara

Soldar cables més llargs al motor

Com que la majoria dels motors vénen sense cables prims o molt curts, té sentit ampliar-los soldant-los a cables més llargs i robustos. A continuació s’explica com podeu fer-ho:

  1. Traieu el plàstic al voltant dels extrems dels cables i col·loqueu-los de manera que estiguin en contacte entre ells al llarg dels cables exposats, com a la imatge.
  2. Soldeu-los junt tocant els fils de tots dos cables i deixant que la soldadura flueixi sobre ells.

Pas 2: cablejat

Cablejat
Cablejat
  1. Apilament del motor sobre l'Arduino.
  2. Enrosqueu els motors al paravent.
  3. Connecteu els sensors analògics a Arduino (a la imatge es fa amb sensors de llum, però el mateix circuit té el mateix aspecte per a altres sensors analògics).

Pas 3: Codificació

Codificació
Codificació
Codificació
Codificació
Codificació
Codificació
Codificació
Codificació

1. Descarregar

Baixeu la carpeta zip (SSAD_analogueInputs.zip), adjunta a continuació. Descomprimiu-lo.

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

Obriu el fitxer Arduino (SSAD_analogueInputs.ino) que es troba dins de la carpeta descomprimida amb l’IDE Arduino.

2. Instal·leu biblioteques

Per executar el codi proporcionat, heu d’instal·lar algunes biblioteques. Per tant, si el fitxer Arduino, que s’adjunta al final d’aquest article, està obert dins de l’IDE Arduino, feu el següent:

  1. Feu clic a: Eines → Gestiona les biblioteques …
  2. Cerqueu "Biblioteca Adafruit Motor Shield V2" al camp Filtra la cerca
  3. Instal·leu-lo fent clic al botó Instal·la

Després de descarregar aquestes biblioteques, ara haurien de funcionar les sentències #include als codis proporcionats. Comproveu-ho fent clic al botó "Verifica" (marqueu a la part superior esquerra). Ja sabeu que totes les biblioteques funcionen, si apareix el missatge "Fet compilant" a la part inferior del programa. En cas contrari, apareixerà una barra vermella i rebrà un missatge del que ha fallat.

3. Canvieu el codi

Canvieu el codi segons el vostre cas d’ús seguint les instruccions següents:

Inici de motors i les seves sortides sensorials

Primer de tot, declareu quins pins utilitzen els motors, així com en quin rang funcionen els motors. Per exemple, un motor connectat a M4 i que funciona en un interval (de velocitat) de 25 i 175 es declara així (sota el comentari PRINCIPAL):

Motor motor1 = Motor (4, 25, 175);

Quan es treballa amb motors de vibració petits que s’accionen en un rang de fins a 3V, s’ha d’utilitzar el motor amb precaució, ja que està dissenyat per fer funcionar motors de 4.5VDC a 13.5VDC. Per no danyar els motors de 3V, he limitat la programació de la sortida de voltatge de la pantalla a un màxim de 3V (exactament 2,95V). Ho vaig fer mesurant la velocitat màxima de 255 en volts i mesurant amb un multímetre que és de 4,3V. Per tant, mai he permès als motors una velocitat superior a 175, que és d’uns 3V.

Cada motor es connectarà amb una sortida sensorial.

Una sortida sensorial es compon d’un o diversos estímuls sensorials. Per exemple, un motor pot vibrar segons un sensor únic o bé segons la mitjana de múltiples sensors situats de manera diferent.

Per tant, en primer lloc per a cada motor, s’ha de declarar una sortida sensorial. Els números dins dels claudàtors són el valor mínim i màxim del que el sensor (grup) pot percebre. Per als sensors analògics, la majoria són 0 i 1023:

Sortida SensorialOutput1 = Sortida Sensorial (0, 1023);

A la funció loop (), cada motor s'assigna a un valor de sortida. Aquí escriviu per a cada motor la següent sentència i, en lloc de "sortida1", qualsevol valor SensoryOutput que hi estigui connectat. No us oblideu de canviar també tots els noms "output1" d'aquesta línia, si en feu servir un altre.

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

Si voleu, podeu donar a diversos motors (per exemple, motor1 i motor2) la mateixa sortida sensorial (per exemple, sortida1).

A més, podeu assignar els valors de múltiples sensors a un motor (vegeu la secció següent).

Definició dels sensors

A la funció setup () s’ha de declarar quins sensors formaran part de la vibració del motor (SensoryOutput). A continuació, es mostra un exemple de com es defineix que el sensor connectat a l’Arduino Pin A0 s’ha de traduir en vibracions amb motor1 i, en conseqüència, en sortida1:

output1.include (A0);

Si s’ha de combinar diverses sortides sensorials dins d’una vibració del motor, només cal afegir un altre pin d’entrada analògic a la sortida 1:

output1.include (A1);

En cas contrari, continueu amb la següent sortida:

output2.include (A1);

Combinació de múltiples sensors

Com s’ha esmentat anteriorment, es poden conduir múltiples entrades de sensors (per exemple, des d’A0, A1 i A2) a un motor. Proporciono el codi que calcula la mitjana dels valors que llegeixen tots els sensors inclosos. Per tant, si això és suficient per al vostre cas d’ús i simplement voleu cartografiar directament, per exemple, una entrada sensorial baixa a una vibració baixa, heu acabat i no heu de pensar en el següent:

Tanmateix, si teniu altres idees del que voleu fer amb una o diverses entrades sensorials en brut, podeu fer segons els canvis de la funció int getValue () a la classe SensoryOutput:

int getValue () {

finalOutput = 0; // TODO feu el que vulgueu amb valors sensorials // aquí es construeix la mitjana, si es combinen diversos valors per a (int i = 0; i <curArrayLength; i ++) {finalOutput + = analogRead (valueArray ); } return finalOutput / curArrayLength; }

4. Pengeu el codi al vostre prototip Arduino

Connecteu el prototip Arduino (des del pas 2) al vostre PC.

Feu clic a Eines → Port → Seleccioneu el port, on Arduino / Genuino Uno està escrit entre claudàtors

Feu clic a Eines → Tauler → Arduino / Genuino Uno

Ara, els motors haurien de funcionar segons les entrades dels sensors analògics. Si voleu, podeu desconnectar l'Arduino del vostre PC i connectar-lo a una altra font d'alimentació, com ara una bateria de 9 V.

Pas 4: possibles extensions

Possibles extensions
Possibles extensions
Possibles extensions
Possibles extensions
Possibles extensions
Possibles extensions

El prototip que acabeu de construir permet l'entrada exclusivament analògica i pot conduir fins a quatre motors. A més, encara no es pot utilitzar. Si voleu ampliar aquestes funcions, consulteu les instruccions següents:

  • Cobertura de masses rotatives de motors ERM:
  • Com es pot usar el SSAD:
  • Ús de més de 4 motors: apilament de diversos motorshields:
  • Utilització d’un sensor de proximitat per ultrasons com a entrada SSAD:

Recomanat: