Obsah:

Vibrotaktilné senzorické substitučné a augmentačné zariadenie (SSAD): 4 kroky
Vibrotaktilné senzorické substitučné a augmentačné zariadenie (SSAD): 4 kroky

Video: Vibrotaktilné senzorické substitučné a augmentačné zariadenie (SSAD): 4 kroky

Video: Vibrotaktilné senzorické substitučné a augmentačné zariadenie (SSAD): 4 kroky
Video: ДОБАВЬТЕ ЭТО В ГРУНТ ПЕРЕД ПОСЕВОМ СЕМЯН. Результат будет потрясающий! 2024, November
Anonim
Vibrotaktilné senzorické substitučné a augmentačné zariadenie (SSAD)
Vibrotaktilné senzorické substitučné a augmentačné zariadenie (SSAD)
Vibrotaktilné senzorické substitučné a augmentačné zariadenie (SSAD)
Vibrotaktilné senzorické substitučné a augmentačné zariadenie (SSAD)

Tento projekt si kladie za cieľ uľahčiť výskum v oblasti senzorickej substitúcie a augmentácie. V rámci svojej diplomovej práce som mal možnosť preskúmať rôzne spôsoby budovania vibrotaktilných prototypov SSAD. Keďže senzorická náhrada a augmentácia je témou, ktorá sa netýka len počítačových vedcov, ale aj výskumníkov z iných oblastí, ako je kognitívna veda, podrobné pokyny by mali neodborníkom v oblasti elektroniky a informatiky umožniť zostaviť tento prototyp za vlastný. výskumné účely.

Nemám v úmysle robiť reklamu presne na jeden druh značky/produktu. Tento projekt nebol sponzorovaný žiadnou spoločnosťou. Materiál, ktorý som použil, bol vybraný z dôvodu technických špecifikácií a pohodlia (rýchlosť/náklady na dodanie, dostupnosť atď.). Pre všetky výrobky, ktoré sú uvedené v tomto návode, sú k dispozícii rovnako vhodné alternatívy.

Aktuálny Instructable obsahuje podrobné pokyny, ako vytvoriť základný prototyp SSAD až so 4 motormi a analógovými snímačmi.

Okrem tohto Instructable som vytvoril tri rozšírenia: Po prvé, publikoval som návod, ako používať viac ako štyri motory s týmto prototypom SSAD (https://www.instructables.com/id/Using-More-Than-4…). Za druhé, vytvoril som poskytnutie a príklad, ako zabezpečiť, aby bol tento prototyp nositeľný (https://www.instructables.com/id/Making-the-SSAD-W…) a ako pokryť motory ERM bez zapuzdrenej rotujúcej hmoty (https:/ /www.instructables.com/id/Covering-Rotating…). Ďalej je zverejnený aj príklad toho, ako do prototypu integrovať iné ako analógové snímače (v tomto prípade snímače priblíženia) (https://www.instructables.com/id/Inclusion-a-Proxi…).

Čo je to „zmyslová substitúcia a augmentácia“?

Pri zmyslovej substitúcii možno informácie získané jednou zmyslovou modalitou (napr. Zrakom) vnímať iným zmyslom (napr. Zvukom). Je to sľubná neinvazívna technika, ktorá pomáha ľuďom prekonať stratu alebo zhoršenie zmyslov.

Ak senzorický podnet, ktorý je v preklade, bežne ľudia nevnímajú (napríklad ultrafialové svetlo), tento prístup sa nazýva senzorická augmentácia.

Aké schopnosti sú potrebné na zostavenie tohto prototypu?

Na dodržanie nižšie uvedených pokynov v zásade nie sú potrebné pokročilé znalosti programovania. Ak ste však v spájkovaní začiatočníkom, naplánujte si nejaký čas navyše na zoznámenie sa s touto technikou. V prípade, že ste nikdy predtým neprogramovali, môže byť potrebná pomoc niekoho skúsenejšieho v programovaní.

Existujú nejaké potrebné stroje alebo nástroje, ktoré sú drahé alebo nie sú ľahko dostupné?

Okrem spájkovačky nie sú na stavbu tohto prototypu potrebné žiadne stroje ani nástroje, ktoré sa nedajú ľahko kúpiť online alebo v ďalšom obchode s domácnosťami. Tento SSAD je navrhnutý tak, aby umožňoval rýchle prototypovanie, čo znamená, že by mal byť rýchlo reprodukovateľný a umožňovať lacné skúmanie myšlienok.

Zásoby

Hlavné komponenty (asi 65 £ za 4 motory, bez spájkovacieho zariadenia)

  • Arduino Uno (napr. Https://store.arduino.cc/arduino-uno-rev3, 20 £)
  • Adafruit Motorshield v2.3 (napr. Https://www.adafruit.com/product/1438, 20 £) a samčie stohovacie hlavičky (bežne súčasťou balenia motorového štítu)
  • Valcové motory ERM (napr. Https://www.adafruit.com/product/1438, 5, 50 £/motor)
  • Spájkovačka a spájkovací drôt
  • Drôty

Voliteľné (pozri rozšírenia)

Ak si kúpite motor ERM s nekrytou rotujúcou hmotou:

  • Vinylová trubica
  • Tenká mäkká doska
  • 3D tlačiareň (pre puzdro Arduino)

Ak chcete použiť viac ako 4 motory (viac ako 8 rovnakých inokedy):

  • Adafruit Motorshield v2.3 a samčie stohovacie hlavičky
  • Ženské stohovacie hlavičky (napr.
  • Arduino Mega pre viac ako 6 motorov (napr.

Krok 1: Spájkovanie

Spájkovanie
Spájkovanie

Pripájajte kolíky k štítu motora

Adafruit ponúka veľmi komplexný návod, ako spájkovať hlavičky s motorovým štítom (https://learn.adafruit.com/adafruit-motor-shield-v…):

  1. Najprv vložte stohovacie hlavičky do kolíkov na Arduino Uno,
  2. Potom umiestnite štít na vrch tak, aby krátka strana kolíkov trčala.
  3. Potom spájkujte všetky kolíky na štít a uistite sa, že spájka preteká okolo kolíka a vytvára tvar sopky (pozri obrázok vyššie, ktorý je prevzatý z https://cdn.sparkfun.com/assets/c/d/ a/a/9/523b1189 …).

Ak ste v spájkovaní začiatočník, pomôžte si ďalšími návodmi, ako napríklad

Spájkujte dlhšie vodiče k motoru

Pretože väčšina motorov je dodávaná bez alebo veľmi krátkych a tenkých vodičov, má zmysel rozšíriť ich spájkovaním na dlhšie a robustnejšie vodiče. Takto to môžete urobiť:

  1. Odstráňte plast z konca drôtov a umiestnite ich tak, aby sa navzájom dotýkali pozdĺž svojich odhalených drôtov, ako na obrázku.
  2. Spájajte ich dohromady tak, že sa dotknete závitov oboch drôtov a necháte spájku pretekať.

Krok 2: Zapojenie

Elektrické vedenie
Elektrické vedenie
  1. Skladajte motorový štít na vrchole Arduina.
  2. Zaskrutkujte motory do krytu motora.
  3. Pripojte analógové snímače k Arduinu (na obrázku sa to deje so svetelnými senzormi, ale rovnaký obvod vyzerá rovnako pre ostatné analógové snímače).

Krok 3: Kódovanie

Kódovanie
Kódovanie
Kódovanie
Kódovanie
Kódovanie
Kódovanie
Kódovanie
Kódovanie

1. Stiahnuť

Stiahnite si priečinok zip (SSAD_analogueInputs.zip), ktorý je pripojený nižšie. Rozbaľte ho.

Stiahnite si Arduino IDE (https://www.arduino.cc/en/main/software).

Otvorte súbor Arduino (SSAD_analogueInputs.ino), ktorý sa nachádza v rozbalenom priečinku, pomocou Arduino IDE.

2. Nainštalujte knižnice

Na spustenie poskytnutého kódu je potrebné nainštalovať niektoré knižnice. Ak je teda súbor Arduino, ktorý je pripojený na konci tohto článku, otvorený vo vnútri Arduino IDE, postupujte takto:

  1. Kliknite na: Nástroje → Spravovať knižnice …
  2. Vo filtri vyhľadávacieho poľa vyhľadajte „Knižnica Adafruit Motor Shield V2“
  3. Nainštalujte ho kliknutím na tlačidlo Inštalovať

Po stiahnutí týchto knižníc by teraz mali fungovať príkazy #include v poskytnutých kódoch. Skontrolujte to kliknutím na tlačidlo „Overiť“(Začiarknite vľavo hore). Viete, že všetky knižnice fungujú, ak sa vám v spodnej časti programu zobrazí správa „Hotovo kompilácia“. V opačnom prípade sa zobrazí červený pruh a dostanete správu o tom, čo sa stalo.

3. Zmeňte kód

Zmeňte kód podľa prípadu použitia podľa nasledujúcich pokynov:

Spúšťacie motory a ich senzorické výstupy

Najprv deklarujte, ktoré kolíky motory používajú, a v akom rozsahu motory fungujú. Napríklad motor, ktorý je pripojený k M4 a pracuje v rozsahu (rýchlostí) 25 a 175, je takto deklarovaný (pod HLAVNOU poznámkou):

Motorový motor1 = motor (4, 25, 175);

Pri práci s malými vibračnými motormi, ktoré sú poháňané v rozsahu do 3 V, je potrebné motorový štít používať opatrne, pretože je vyrobený pre motory s napätím 4,5 V až 13,5 V. Aby som nepoškodil 3V motory, programovo som obmedzil voltový výstup štítu na maximálne 3V (presne 2,95V). Urobil som to tak, že som zmeral, koľko je maximálna rýchlosť 255 vo Voltoch, a pomocou multimetra som nameral, že to je 4,3 V. Preto som k motorom nikdy nedovolil vyššiu rýchlosť ako 175, čo sú asi 3V.

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

Jeden senzorický výstup sa skladá z jedného alebo viacerých zmyslových podnetov. Motor napríklad môže vibrovať buď podľa jedného senzora, alebo podľa priemeru viacerých senzorov s rôznym umiestnením.

Preto musí byť najskôr pre každý motor deklarovaný jeden výstup SensoryOutput. Čísla v zátvorkách sú minimálnou a maximálnou hodnotou toho, čo môže senzor (skupina) vnímať. Pre analógové snímače je to väčšinou 0 a 1023:

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

Vo funkcii loop () je potom každému motoru priradená jedna výstupná hodnota. Tu napíšete, že pre každý motor napíšete nasledujúci príkaz a namiesto „output1“by k nemu mala byť pripojená akákoľvek hodnota SensoryOutput. Nezabudnite tiež zmeniť všetky názvy "output1" v tomto riadku, ak preň použijete iný názov.

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

Ak chcete, môžete dať viacerým motorom (napr. Motor1 a motor2) rovnaký výstup SensoryOut (napr. Výstup1).

Ďalej môžete jednému motoru priradiť hodnoty viacerých senzorov (pozri nasledujúcu časť).

Definovanie senzorov

Vo funkcii setup () musí byť deklarované, ktoré senzory budú súčasťou ktorých vibrácií motora (SensoryOutput). Tu je príklad toho, ako definujete, že snímač, ktorý je pripojený k pinu Arduino A0, by mal byť preložený do vibrácií s motorom1 a následne s výstupom1:

výstup1.include (A0);

Ak by sa malo v rámci jednej vibrácie motora kombinovať viac senzorických výstupov, stačí na výstup1 pridať ďalší analógový vstupný kolík:

výstup1.include (A1);

V opačnom prípade pokračujte ďalším výstupom:

výstup2.include (A1);

Kombinácia viacerých senzorov

Ako bolo uvedené vyššie, k jednému motoru je možné priviesť viac senzorových vstupov (napr. Od A0, A1 a A2). Kód, ktorý poskytujem, vypočítava priemer hodnôt, ktoré sú prečítané všetkými zahrnutými snímačmi. Ak to teda pre váš prípad použitia stačí a chcete jednoducho priamo namapovať napríklad nízky senzorický vstup na nízke vibrácie, ste hotoví a nemusíte myslieť na nasledujúce:

Ak však máte iné nápady, čo chcete urobiť s jedným alebo viacerými surovými senzorickými vstupmi, môžete to urobiť podľa zmien vo funkcii int getValue () v triede SensoryOutput:

int getValue () {

konečný výstup = 0; // TODO rob so senzorickými hodnotami, čo chceš // tu je priemer vytvorený, ak je kombinovaných viac hodnôt pre (int i = 0; i <curArrayLength; i ++) {finalOutput+= analogRead (valueArray ); } return finalOutput / curArrayLength; }

4. Nahrajte kód do svojho prototypu Arduino

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

Kliknite na Nástroje → Port → Vyberte port, kde je v zátvorkách napísané Arduino/Genuino Uno

Kliknite na Nástroje → Doska → Arduino/Genuino Uno

Teraz by motory mali bežať podľa vstupov analógových snímačov. Ak chcete, môžete Arduino odpojiť od počítača a pripojiť ho k inému zdroju napájania, napríklad k 9V batérii.

Krok 4: Možné rozšírenia

Možné rozšírenia
Možné rozšírenia
Možné rozšírenia
Možné rozšírenia
Možné rozšírenia
Možné rozšírenia

Prototyp, ktorý ste práve vytvorili, umožňuje výlučne analógové vstupy a môže poháňať až štyri motory. Navyše ešte nie je nositeľný. Ak chcete tieto funkcie rozšíriť, prečítajte si nasledujúce pokyny:

  • Pokrývajúce rotujúce masy motorov ERM:
  • Nosenie SSAD:
  • Použitie viac ako 4 motorov-stohovanie viacerých motorových štítov:
  • Použitie ultrazvukového senzora priblíženia ako vstupu SSAD:

Odporúča: