Índice:

Dispositivo de substituição e aumento sensorial vibrotátil (SSAD): 4 etapas
Dispositivo de substituição e aumento sensorial vibrotátil (SSAD): 4 etapas
Anonim
Dispositivo de substituição e aumento sensorial vibrotátil (SSAD)
Dispositivo de substituição e aumento sensorial vibrotátil (SSAD)
Dispositivo de substituição e aumento sensorial vibrotátil (SSAD)
Dispositivo de substituição e aumento sensorial vibrotátil (SSAD)

Este projeto visa facilitar pesquisas na área de Substituição e Aumento Sensorial. Tive a possibilidade de explorar diferentes maneiras de construir protótipos de SSAD vibrotácteis dentro da minha dissertação de mestrado. Como a Substituição e Aumento Sensorial é um tópico que diz respeito não apenas aos cientistas da computação, mas também aos pesquisadores de outras áreas, como a ciência cognitiva, uma instrução passo a passo deve permitir que não especialistas em eletrônica e ciência da computação montem este protótipo por conta própria propósitos de pesquisa.

Não pretendo fazer propaganda de exatamente um tipo de marca / produto. Este projeto não foi patrocinado por nenhuma empresa. O material que utilizei foi escolhido devido às especificações técnicas e comodidade (rapidez / custo de entrega, disponibilidade, etc.). Para todos os produtos mencionados neste Instructable, alternativas igualmente adequadas estão disponíveis.

O Instructable atual contém instruções passo a passo de como construir um protótipo SSAD básico com até 4 motores e sensores analógicos.

Além deste Instructable, criei três extensões: Em primeiro lugar, publiquei instruções sobre como usar mais de quatro motores com este protótipo SSAD (https://www.instructables.com/id/Using-More-Than-4…). Em segundo lugar, criei um exemplo de como tornar este protótipo vestível (https://www.instructables.com/id/Making-the-SSAD-W…) e como cobrir motores ERM sem massa rotativa encapsulada (https: / /www.instructables.com/id/Covering-Rotating …). Além disso, um exemplo de como integrar outros sensores além dos analógicos (neste caso, sensores de proximidade) ao protótipo também é publicado (https://www.instructables.com/id/Including-a-Proxi…).

O que é "Substituição e aumento sensorial"?

Com a Substituição Sensorial, a informação recolhida por uma modalidade sensorial (por exemplo, visão) pode ser percebida por outro sentido (por exemplo, som). É uma técnica não invasiva promissora que ajuda as pessoas a superar a perda ou deficiência sensorial.

Se o estímulo sensorial, que é traduzido, normalmente não é perceptível por seres humanos (por exemplo, luz UV), esta abordagem é chamada de Aumento Sensorial.

Quais habilidades são necessárias para construir este protótipo?

Basicamente, nenhuma habilidade de programação avançada é necessária para seguir as instruções fornecidas abaixo. No entanto, se você é um iniciante em soldagem, planeje um tempo extra para conhecer essa técnica. Caso você nunca tenha programado antes, pode ser necessária a ajuda de alguém mais experiente em programação.

Existem máquinas ou ferramentas necessárias que são caras ou que não estão facilmente disponíveis?

Exceto um ferro de soldar, nenhuma máquina ou ferramenta é necessária para construir este protótipo que você não pode comprar facilmente online ou na próxima loja doméstica. Este SSAD foi projetado para permitir a prototipagem rápida, o que significa que deve ser rapidamente reproduzível e permitir uma exploração econômica de ideias.

Suprimentos

Componentes principais (cerca de 65 £ para 4 motores, excluindo equipamento de solda)

  • Arduino Uno (por exemplo, https://store.arduino.cc/arduino-uno-rev3, 20 £)
  • Adafruit Motorshield v2.3 (por exemplo, https://www.adafruit.com/product/1438, 20 £) e cabeçotes de empilhamento macho (normalmente incluídos na compra do motorshield)
  • Motores cilíndricos ERM (por exemplo, https://www.adafruit.com/product/1438, 5, 50 £ / motor)
  • Ferro de soldar e fio de solda
  • Fios

Opcional (veja Extensões)

Se o motor ERM com massa rotativa descoberta for comprado:

  • Tubo de vinil
  • Placa macia fina
  • Impressora 3D (para caixa Arduino)

Se você quiser usar mais de 4 motores (por mais de 8 mesmo em outra ocasião):

  • Adafruit Motorshield v2.3 e cabeçalhos de empilhamento masculinos
  • Cabeçalhos de empilhamento fêmeas (por exemplo,
  • Arduino Mega para mais de 6 motores (por exemplo,

Etapa 1: Solda

De solda
De solda

Solde os pinos no protetor do motor

Adafruit oferece um tutorial muito abrangente de como soldar cabeçalhos em um motorhield (https://learn.adafruit.com/adafruit-motor-shield-v…):

  1. Em primeiro lugar, coloque os cabeçalhos de empilhamento nos pinos do Arduino Uno,
  2. Em seguida, coloque a proteção por cima, de forma que o lado mais curto dos pinos fique para fora.
  3. Depois disso, solde todos os pinos à blindagem e certifique-se de que a solda flua ao redor do pino e tenha a forma de um vulcão (veja a foto acima, que é adotada em https://cdn.sparkfun.com/assets/c/d/ a / a / 9 / 523b1189…).

Se você é um iniciante em soldagem, ajude-se com mais tutoriais, como

Solde fios mais longos para o motor

Como a maioria dos motores vem sem ou com fios muito curtos e finos, faz sentido estendê-los soldando-os a fios mais longos e mais robustos. Veja como você pode fazer isso:

  1. Remova o plástico ao redor da extremidade dos fios e posicione-os de forma que fiquem em contato uns com os outros ao longo dos fios expostos, como na foto.
  2. Solde-os tocando nos fios de ambos os fios e deixando a solda fluir sobre eles.

Etapa 2: Fiação

Fiação
Fiação
  1. Empilhe a proteção do motor no topo do Arduino.
  2. Parafuse os motores na proteção do motor.
  3. Conecte sensores analógicos ao Arduino (na imagem, isso é feito com sensores de luz, mas o mesmo circuito parece o mesmo para outros sensores analógicos).

Etapa 3: codificação

Codificação
Codificação
Codificação
Codificação
Codificação
Codificação
Codificação
Codificação

1. Baixe

Baixe a pasta zip (SSAD_analogueInputs.zip), anexada abaixo. Descompacte-o.

Baixe o IDE Arduino (https://www.arduino.cc/en/main/software).

Abra o arquivo Arduino (SSAD_analogueInputs.ino) que está dentro da pasta descompactada com o Arduino IDE.

2. Instale as bibliotecas

Para executar o código fornecido, você precisa instalar algumas bibliotecas. Portanto, se o arquivo Arduino, que está anexado no final deste artigo, estiver aberto dentro do IDE do Arduino, faça o seguinte:

  1. Clique em: Ferramentas → Gerenciar bibliotecas…
  2. Procure por "Biblioteca Adafruit Motor Shield V2" no campo Filtrar sua pesquisa
  3. Instale-o clicando no botão Instalar

Depois de baixar essas bibliotecas, agora as instruções #include nos códigos fornecidos devem funcionar. Verifique clicando no botão "Verificar" (Marque no canto superior esquerdo). Você sabe que todas as bibliotecas funcionam, se você receber a mensagem "Compilação concluída" na parte inferior do programa. Caso contrário, uma barra vermelha aparecerá e você receberá uma mensagem informando o que deu errado.

3. Altere o código

Altere o código de acordo com seu caso de uso, seguindo as instruções abaixo:

Motores de inicialização e suas saídas sensoriais

Em primeiro lugar, declare quais pinos os motores usam, bem como em que faixa os motores funcionam. Por exemplo, um motor que está conectado a M4 e funciona em uma faixa (velocidade) de 25 e 175 é declarado assim (abaixo do comentário PRINCIPAL):

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

Ao trabalhar com pequenos motores de vibração que são acionados em uma faixa de até 3 V, o protetor do motor deve ser usado com cuidado, pois é feito para operar motores em 4,5 VCC a 13,5 VCC. Para não danificar os motores de 3 V, eu restringi programaticamente a saída de Volt da blindagem para no máximo 3 V (exatamente 2,95 V). Eu fiz isso medindo quanto é a velocidade máxima de 255 em Volt e medido com um multímetro que isso é 4,3V. Portanto, nunca permiti uma velocidade superior a 175, que é cerca de 3 V, para os motores.

Cada motor será conectado a um SensoryOutput.

Um SensoryOutput é composto de um ou mais estímulos sensoriais. Por exemplo, um motor pode vibrar de acordo com um único sensor ou de acordo com a média de vários sensores posicionados de forma diferente.

Portanto, primeiramente para cada motor, um SensoryOutput deve ser declarado. Os números entre parênteses são os valores mínimo e máximo do que o sensor (grupo) pode perceber. Para sensores analógicos, é principalmente 0 e 1023:

SensoryOutput output1 = SensoryOutput (0, 1023);

Na função loop (), cada motor é então atribuído a um valor de saída. Aqui, você escreve para cada motor a seguinte instrução e, em vez de "output1", qualquer valor de SensoryOutput deve ser conectado a ele. Não se esqueça de alterar também todos os nomes de "output1" nesta linha, se você usar outro nome para ele.

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

Se desejar, você pode fornecer a vários motores (por exemplo, motor1 e motor2) o mesmo SensoryOutput (por exemplo, output1).

Além disso, você pode fornecer os valores de vários sensores para um motor (consulte a próxima seção).

Definindo os Sensores

Na função setup () deve ser declarado quais sensores farão parte de qual vibração do motor (SensoryOutput). Aqui está um exemplo de como você define que o sensor que está conectado ao Arduino Pin A0 deve ser traduzido em vibrações com o motor1 e, consequentemente, a saída1:

output1.include (A0);

Se várias saídas sensoriais devem ser combinadas em uma vibração do motor, você pode simplesmente adicionar outro pino de entrada analógica à saída 1:

output1.include (A1);

Caso contrário, continue com a próxima saída:

output2.include (A1);

Combinando vários sensores

Como mencionado acima, várias entradas de sensor (por exemplo, de A0, A1 e A2) podem ser conduzidas a um motor. O código, eu forneço, está calculando a média dos valores que são lidos por todos os sensores incluídos. Portanto, se isso for suficiente para o seu caso de uso e você simplesmente quiser mapear diretamente, por exemplo, uma entrada sensorial baixa para uma vibração baixa, você está pronto e não precisa pensar no seguinte:

Se você, no entanto, tiver outras idéias sobre o que deseja fazer com uma ou várias entradas sensoriais brutas, pode fazer as alterações de acordo com as alterações na função int getValue () na classe SensoryOutput:

int getValue () {

finalOutput = 0; // TODO faça o que quiser com os valores sensoriais // aqui a média é construída, se vários valores forem combinados para (int i = 0; i <curArrayLength; i ++) {finalOutput + = analogRead (valueArray ); } return finalOutput / curArrayLength; }

4. Faça o upload do código para o seu protótipo Arduino

Conecte o protótipo do Arduino (da etapa 2) ao seu PC.

Clique em Ferramentas → Porta → Selecione a porta, onde Arduino / Genuino Uno está escrito entre colchetes

Clique em Ferramentas → Placa → Arduino / Genuino Uno

Agora, os motores devem funcionar de acordo com as entradas dos sensores analógicos. Se quiser, você pode desconectar o Arduino do seu PC e conectá-lo a outra fonte de alimentação, como uma bateria de 9V.

Etapa 4: possíveis extensões

Possíveis extensões
Possíveis extensões
Possíveis extensões
Possíveis extensões
Possíveis extensões
Possíveis extensões

O protótipo que você acabou de construir permite entradas exclusivamente analógicas e pode acionar até quatro motores. Além disso, ainda não pode ser usado. Se você quiser estender esses recursos, dê uma olhada nas seguintes instruções:

  • Cobrindo massas rotativas de motores ERM:
  • Tornando o SSAD vestível:
  • Usando mais de 4 motores - empilhamento de vários motorshields:
  • Usando um sensor de proximidade ultrassônico como entrada SSAD:

Recomendado: