Obsah:

Vibrotaktilní senzorické substituční a augmentační zařízení (SSAD): 4 kroky
Vibrotaktilní senzorické substituční a augmentační zařízení (SSAD): 4 kroky

Video: Vibrotaktilní senzorické substituční a augmentační zařízení (SSAD): 4 kroky

Video: Vibrotaktilní senzorické substituční a augmentační zařízení (SSAD): 4 kroky
Video: Консультант от бога Tg: cadrolikk 2024, Červenec
Anonim
Vibrotaktilní senzorické substituční a augmentační zařízení (SSAD)
Vibrotaktilní senzorické substituční a augmentační zařízení (SSAD)
Vibrotaktilní senzorické substituční a augmentační zařízení (SSAD)
Vibrotaktilní senzorické substituční a augmentační zařízení (SSAD)

Tento projekt si klade za cíl usnadnit výzkum v oblasti senzorické substituce a augmentace. V rámci své diplomové práce jsem měl možnost prozkoumat různé způsoby budování vibrotaktilních prototypů SSAD. Jelikož smyslová náhrada a augmentace je tématem, které se netýká pouze počítačových vědců, ale také výzkumných pracovníků z jiných oborů, jako je kognitivní věda, podrobné instrukce by měly umožnit neodborníkům v elektronice a informatice sestavit tento prototyp pro vlastní výzkumné účely.

Nemám v úmyslu dělat reklamu přesně na jeden druh značky/produktu. Tento projekt nebyl sponzorován žádnou společností. Materiál, který jsem použil, byl vybrán kvůli technickým specifikacím a pohodlí (rychlost/náklady na dodání, dostupnost atd.). Pro všechny produkty, které jsou uvedeny v tomto Instructable, jsou k dispozici stejně vhodné alternativy.

Aktuální Instructable obsahuje podrobné pokyny, jak vytvořit základní prototyp SSAD až se 4 motory a analogovými senzory.

Kromě tohoto Instructable jsem vytvořil tři rozšíření: Za prvé jsem publikoval návod, jak s tímto prototypem SSAD použít více než čtyři motory (https://www.instructables.com/id/Using-More-Than-4…). Za druhé jsem vytvořil nabídku a příklad, jak zajistit, aby byl tento prototyp nositelný (https://www.instructables.com/id/Making-the-SSAD-W…) a jak pokrýt motory ERM bez zapouzdřené rotující hmoty (https:/ /www.instructables.com/id/Covering-Rotating…). Dále je také zveřejněn příklad toho, jak do prototypu integrovat jiné než analogové senzory (v tomto případě senzory přiblížení) (https://www.instructables.com/id/Inclusion-a-Proxi…).

Co je to „smyslová náhrada a zesílení“?

Se smyslovou substitucí lze informace shromážděné jednou smyslovou modalitou (např. Zrakem) vnímat jiným smyslem (např. Zvukem). Je to slibná neinvazivní technika, která pomáhá lidem překonat ztrátu nebo poškození smyslových orgánů.

Pokud je senzorický podnět, který je přeložen, normálně lidskými bytostmi vnímán (např. UV světlo), tento přístup se nazývá Senzorické zesílení.

Jaké dovednosti jsou potřebné k vytvoření tohoto prototypu?

K dodržení níže uvedených pokynů nejsou v zásadě nutné žádné pokročilé programovací dovednosti. Pokud jste však v pájení začátečník, naplánujte si nějaký čas navíc, abyste se s touto technikou seznámili. V případě, že jste nikdy předtím neprogramovali, může být nutná pomoc někoho zkušenějšího v programování.

Existují nějaké potřebné stroje nebo nástroje, které jsou drahé nebo nejsou snadno dostupné?

Kromě páječky nejsou pro stavbu tohoto prototypu nutné žádné stroje ani nástroje, které nelze snadno koupit online nebo v dalším obchodě pro domácnost. Tento SSAD je navržen tak, aby umožňoval rychlé prototypování, což znamená, že by měl být rychle reprodukovatelný a umožňovat levné zkoumání myšlenek.

Zásoby

Hlavní součásti (asi 65 £ za 4 motory, bez pájecího zařízení)

  • Arduino Uno (např. Https://store.arduino.cc/arduino-uno-rev3, 20 £)
  • Adafruit Motorshield v2.3 (např. Https://www.adafruit.com/product/1438, 20 £) a stohovací záhlaví pro muže (běžně součástí při nákupu štítu)
  • Válcové motory ERM (např. Https://www.adafruit.com/product/1438, 5, 50 £/motor)
  • Páječka a pájecí drát
  • Dráty

Volitelné (viz Rozšíření)

Pokud je zakoupen motor ERM s nekrytou rotující hmotou:

  • Vinylová trubka
  • Tenká měkká deska
  • 3D tiskárna (pro pouzdro Arduino)

Pokud chcete použít více než 4 motory (více než 8 stejných jindy):

  • Adafruit Motorshield v2.3 a stohovací záhlaví pro muže
  • Ženské stohovací záhlaví (např.
  • Arduino Mega pro více než 6 motorů (např.

Krok 1: Pájení

Pájení
Pájení

Připájejte kolíky k motorovému štítu

Adafruit nabízí velmi komplexní návod, jak pájet záhlaví k motorovému štítu (https://learn.adafruit.com/adafruit-motor-shield-v…):

  1. Nejprve vložte stohovací záhlaví do kolíků na Arduino Uno,
  2. Poté umístěte štít na vrchol tak, aby vyčnívala krátká strana kolíků.
  3. Poté připájejte všechny kolíky ke štítu a ujistěte se, že pájka teče kolem kolíku a vytváří tvar sopky (viz obrázek výše, který je převzat z https://cdn.sparkfun.com/assets/c/d/ a/a/9/523b1189 …).

Pokud jste v pájení začátečník, pomozte si dalšími návody, například

Pájejte delší vodiče k motoru

Protože většina motorů přichází bez nebo velmi krátkých a tenkých vodičů, má smysl je prodloužit jejich pájením na delší a robustnější vodiče. Zde je návod, jak to udělat:

  1. Odstraňte plast kolem konce vodičů a umístěte je tak, aby byly ve vzájemném kontaktu podél jejich odkrytých vodičů, jako na obrázku.
  2. Pájejte je dohromady tak, že se dotknete závitů obou vodičů a necháte pájku protékat.

Krok 2: Zapojení

Elektrické vedení
Elektrické vedení
  1. Skládejte motorový štít na Arduino.
  2. Zašroubujte motory do motorového štítu.
  3. Připojte analogové senzory k Arduinu (na obrázku se to provádí pomocí světelných senzorů, ale stejný obvod vypadá stejně u ostatních analogových senzorů).

Krok 3: Kódování

Kódování
Kódování
Kódování
Kódování
Kódování
Kódování
Kódování
Kódování

1. Stáhnout

Stáhněte si zip složku (SSAD_analogueInputs.zip), připojenou níže. Rozbalte to.

Stáhněte si Arduino IDE (https://www.arduino.cc/en/main/software).

Otevřete soubor Arduino (SSAD_analogueInputs.ino), který je uvnitř rozbalené složky, pomocí Arduino IDE.

2. Nainstalujte si knihovny

Ke spuštění zadaného kódu je třeba nainstalovat některé knihovny. Pokud je tedy soubor Arduino, který je připojen na konci tohoto článku, otevřený uvnitř Arduino IDE, proveďte následující:

  1. Klikněte na: Nástroje → Spravovat knihovny…
  2. Ve filtru vyhledávacího pole vyhledejte „Knihovna Adafruit Motor Shield V2“
  3. Nainstalujte jej kliknutím na tlačítko Instalovat

Po stažení těchto knihoven by nyní měly fungovat příkazy #include v poskytnutých kódech. Zkontrolujte to kliknutím na tlačítko „Ověřit“(zaškrtněte vlevo nahoře). Víte, že všechny knihovny fungují, pokud se vám zobrazí zpráva „Hotovo kompilace“v dolní části programu. Jinak se zobrazí červená lišta a vy dostanete zprávu o tom, co se pokazilo.

3. Změňte kód

Změňte kód podle případu použití podle následujících pokynů:

Spouštění motorů a jejich senzorické výstupy

Nejprve deklarujte, které piny motory používají, a v jakém rozsahu motory fungují. Například motor, který je připojen k M4 a pracuje v rozsahu (otáček) 25 a 175, je takto deklarován (pod HLAVNÍ poznámkou):

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

Při práci s malými vibračními motory, které jsou poháněny v rozsahu až 3 V, je třeba používat motorový štít opatrně, protože je vyroben pro běh motorů na 4,5 V až 13,5 V DC. Abych nepoškodil 3V motory, programově jsem omezil voltový výstup stínění na maximálně 3V (přesně 2,95V). Udělal jsem to tak, že jsem změřil, jak moc je maximální rychlost 255 ve Voltech, a změřil jsem multimetrem, že toto je 4,3V. Proto jsem k motorům nikdy nedovolil vyšší rychlost než 175, což jsou asi 3V.

Každý motor bude spojen s jedním výstupem SensoryOutput.

Jeden senzorický výstup se skládá z jednoho nebo více senzorických podnětů. Motor by například mohl vibrovat buď podle jednoho jediného senzoru, nebo podle průměru více, různě umístěných senzorů.

Proto musí být nejprve pro každý motor deklarován jeden SensoryOutput. Čísla v závorkách jsou minimální a maximální hodnota toho, co může senzor (skupina) vnímat. U analogových senzorů je to většinou 0 a 1023:

Výstup SensoryOutput1 = SensoryOutput (0, 1023);

Ve funkci loop () je pak každému motoru přiřazena jedna výstupní hodnota. Zde napíšete pro každý motor následující příkaz a místo „output1“k němu bude připojena jakákoli hodnota SensoryOutput. Nezapomeňte také změnit všechny názvy „output1“v tomto řádku, pokud pro něj použijete jiný název.

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

Pokud chcete, můžete dát více motorům (např. Motor1 a motor2) stejný SensoryOutput (např. Výstup1).

Dále můžete jednomu motoru dát hodnoty více senzorů (viz následující část).

Definování senzorů

Ve funkci setup () musí být deklarováno, které senzory budou součástí vibrací motoru (SensoryOutput). Zde je příklad toho, jak definujete, že snímač, který je připojen k Arduino Pin A0, by měl být převeden na vibrace s motorem1 a následně výstupem1:

output1.include (A0);

Pokud by mělo být kombinováno více senzorických výstupů v rámci jedné vibrace motoru, můžete na výstup1 přidat další analogový vstupní pin:

output1.include (A1);

Jinak pokračujte dalším výstupem:

output2.include (A1);

Kombinace více senzorů

Jak bylo uvedeno výše, k jednomu motoru lze přivést více senzorových vstupů (např. Z A0, A1 a A2). Kód, který poskytuji, vypočítává průměr hodnot, které jsou načteny všemi zahrnutými senzory. Pokud to tedy pro váš případ použití stačí a chcete jednoduše přímo namapovat například nízký senzorický vstup na nízké vibrace, jste hotovi a nemusíte myslet na následující:

Pokud však máte jiné nápady, co chcete dělat s jedním nebo více nezpracovanými smyslovými vstupy, můžete to provést podle změn ve funkci int getValue () ve třídě SensoryOutput:

int getValue () {

finalOutput = 0; // TODO si se smyslovými hodnotami dělá, co chcete // zde je vytvořen průměr, pokud je kombinováno více hodnot pro (int i = 0; i <curArrayLength; i ++) {finalOutput+= analogRead (valueArray ); } return finalOutput / curArrayLength; }

4. Nahrajte kód do svého prototypu Arduino

Zapojte prototyp Arduino (od kroku 2) do počítače.

Klikněte na Nástroje → Port → Vyberte port, kde je v závorkách napsáno Arduino/Genuino Uno

Klikněte na Nástroje → Deska → Arduino/Genuino Uno

Nyní by motory měly běžet podle vstupů analogových snímačů. Pokud chcete, můžete Arduino odpojit od počítače a zapojit jej do jiného zdroje napájení, například 9V baterie.

Krok 4: Možná rozšíření

Možná rozšíření
Možná rozšíření
Možná rozšíření
Možná rozšíření
Možná rozšíření
Možná rozšíření

Prototyp, který jste právě postavili, umožňuje výhradně analogové vstupy a může pohánět až čtyři motory. Navíc to ještě není nositelné. Pokud chcete tyto funkce rozšířit, podívejte se na následující pokyny:

  • Pokrývající rotující masy motorů ERM:
  • Jak nosit SSAD:
  • Použití více než 4 motorů-stohování více štítů motoru:
  • Použití ultrazvukového senzoru přiblížení jako vstupu SSAD:

Doporučuje: