Tartalomjegyzék:

Vibrotaktikus szenzoros helyettesítő és növelő eszköz (SSAD): 4 lépés
Vibrotaktikus szenzoros helyettesítő és növelő eszköz (SSAD): 4 lépés

Videó: Vibrotaktikus szenzoros helyettesítő és növelő eszköz (SSAD): 4 lépés

Videó: Vibrotaktikus szenzoros helyettesítő és növelő eszköz (SSAD): 4 lépés
Videó: Голубая стрела (1958) фильм 2024, November
Anonim
Vibrotaktikus szenzoros helyettesítő és növelő eszköz (SSAD)
Vibrotaktikus szenzoros helyettesítő és növelő eszköz (SSAD)
Vibrotaktikus szenzoros helyettesítő és növelő eszköz (SSAD)
Vibrotaktikus szenzoros helyettesítő és növelő eszköz (SSAD)

A projekt célja, hogy megkönnyítse a kutatást az érzékszervi helyettesítés és kiterjesztés területén. Lehetőségem nyílt arra, hogy az MSc értekezésemben felfedezzem a vibrotaktív SSAD prototípusok készítésének különböző módjait. Mivel az érzékszervi helyettesítés és bővítés olyan téma, amely nemcsak az informatikusokat, hanem más területek, például a kognitív tudomány kutatóit is érinti, a lépésről lépésre szóló utasításoknak lehetővé kell tenniük, hogy az elektronika és a számítástechnika nem szakértői összeállítsák ezt a prototípust. kutatási célok.

Nem szándékozom reklámozni pontosan egyfajta márkát/terméket. Ezt a projektet egyik cég sem támogatta. Az általam használt anyagot a műszaki előírások és a kényelem (a szállítás sebessége/költsége, elérhetőség stb.) Miatt választottam. Az ebben az utasításban említett összes termékhez ugyanolyan megfelelő alternatívák állnak rendelkezésre.

A jelenlegi Instructable lépésről lépésre tartalmazza az alapvető SSAD prototípus felépítését akár 4 motorral és analóg érzékelőkkel.

Ezen az Instructable mellett három bővítményt is készítettem: Először is közzétettem utasításokat arról, hogyan kell több mint négy motort használni ezzel az SSAD prototípussal (https://www.instructables.com/id/Using-More-Than-4…). Másodszor, elkészítettem egy példát és példát arra, hogyan lehet ezt a prototípust viselhetővé tenni (https://www.instructables.com/id/Making-the-SSAD-W…), és hogyan lehet burkolni az ERM motorokat tokozatlan forgó tömeg nélkül (https:/ /www.instructables.com/id/Fedező- forgás …). Továbbá közzéteszünk egy példát arra, hogyan lehet az analóg érzékelőktől (jelen esetben közelségérzékelőktől) eltérő prototípusba integrálni (https://www.instructables.com/id/Inciding-a-Proxi…).

Mi az "érzékszervi helyettesítés és növelés"?

Az érzékszervi helyettesítéssel az egyik érzékszervi mód (például a látás) által összegyűjtött információk egy másik érzéken (például hangon) keresztül érzékelhetők. Ez egy ígéretes, nem invazív technika, amely segít az embereknek leküzdeni az érzékszervi veszteséget vagy károsodást.

Ha a fordított érzékszervi ingert az emberek általában nem érzékelik (pl. UV -fény), akkor ezt a megközelítést érzékszervi fokozásnak nevezik.

Milyen készségekre van szükség a prototípus elkészítéséhez?

Alapvetően nincs szükség speciális programozási ismeretekre az alábbi utasítások követéséhez. Ha azonban kezdő a forrasztásban, tervezzen egy kis időt ennek a technikának a megismerésére. Abban az esetben, ha még soha nem programozott, szükség lehet a programozásban jártasabb személy segítségére.

Vannak olyan gépek vagy szerszámok, amelyek drágák vagy nem könnyen beszerezhetők?

A forrasztópáka kivételével nincs szükség gépekre vagy szerszámokra a prototípus elkészítéséhez, amelyet nem lehet könnyen megvásárolni az interneten vagy a következő háztartási üzletben. Ezt az SSAD-t úgy tervezték, hogy lehetővé tegye a gyors prototípus-készítést, ami azt jelenti, hogy gyorsan reprodukálhatónak kell lennie, és lehetővé kell tennie az ötletek olcsó feltárását.

Kellékek

Főbb alkatrészek (kb. £ 65 4 motorhoz, forrasztóberendezés nélkül)

  • Arduino Uno (pl. Https://store.arduino.cc/arduino-uno-rev3, 20 £)
  • Adafruit Motorshield v2.3 (pl. Https://www.adafruit.com/product/1438, 20 £) és férfi halmozási fejrészek (általában a motorpajzs megvásárlásakor)
  • Hengeres ERM motorok (pl. Https://www.adafruit.com/product/1438, 5, 50 £/motor)
  • Forrasztópáka és forrasztóhuzal
  • Vezetékek

Opcionális (lásd Bővítmények)

Ha fedetlen forgó tömegű ERM motort vásárol:

  • Vinil cső
  • Vékony puha tábla
  • 3D nyomtató (Arduino burkolathoz)

Ha több mint 4 motort szeretne használni (több mint 8 alkalommal):

  • Adafruit Motorshield v2.3 és férfi halmozási fejlécek
  • Női halmozási fejlécek (pl.
  • Arduino Mega több mint 6 motorhoz (pl.

1. lépés: Forrasztás

Forrasztás
Forrasztás

Forrasztja a csapokat a motorháztetőre

Az Adafruit nagyon átfogó oktatóanyagot kínál a fejlécek motorpajzshoz való forrasztásáról (https://learn.adafruit.com/adafruit-motor-shield-v…):

  1. Először tegye a veremfejeket az Arduino Uno csapjaiba,
  2. Ezután helyezze a pajzsot a tetejére úgy, hogy a csapok rövid oldala kilógjon.
  3. Ezt követően forgassa az összes csapot a pajzshoz, és győződjön meg arról, hogy a forrasztóanyag a csap körül áramlik, és vulkán alakúvá válik (lásd a fenti képet, amely a https://cdn.sparkfun.com/assets/c/d/ oldalról származik) a/a/9/523b1189…).

Ha kezdő vagy a forrasztásban, segíts magadnak több oktatóanyaggal, például

Forrasztjon hosszabb vezetékeket a motorhoz

Mivel a legtöbb motor nélkül vagy nagyon rövid és vékony huzalok nélkül érkezik, érdemes hosszabb és robusztusabb huzalokra forrasztva kiterjeszteni őket. Ezt a következőképpen teheti meg:

  1. Távolítsa el a műanyagot a vezetékek vége körül, és helyezze őket úgy, hogy érintkezzenek egymással a szabad huzalok mentén, mint a képen.
  2. Forrasztja őket össze úgy, hogy megérinti mindkét vezeték menetét, és hagyja, hogy a forrasztóanyag átfolyjon rajtuk.

2. lépés: Kábelezés

Vezeték
Vezeték
  1. Verem motorháztető az Arduino tetején.
  2. Csavarja be a motorokat a motorháztetőbe.
  3. Csatlakoztassa az analóg érzékelőket az Arduino -hoz (a képen ez fényérzékelőkkel történik, de ugyanaz az áramkör más analóg érzékelőkhöz hasonlóan néz ki).

3. lépés: Kódolás

Kódolás
Kódolás
Kódolás
Kódolás
Kódolás
Kódolás
Kódolás
Kódolás

1. Letöltés

Töltse le az alább csatolt zip mappát (SSAD_analogueInputs.zip). Csomagolja ki.

Töltse le az Arduino IDE -t (https://www.arduino.cc/en/main/software).

Nyissa meg az Arduino fájlt (SSAD_analogueInputs.ino), amely a kicsomagolt mappában található az Arduino IDE használatával.

2. Telepítse a Könyvtárakat

A megadott kód futtatásához telepítenie kell néhány könyvtárat. Tehát, ha a cikk végén csatolt Arduino fájl nyitva van az Arduino IDE belsejében, tegye a következőket:

  1. Kattintson: Eszközök → Könyvtárak kezelése…
  2. Keresse meg az "Adafruit Motor Shield V2 Library" szót a Keresési szűrő mezőben
  3. Telepítse a Telepítés gombra kattintva

A könyvtárak letöltése után most a megadott kódokban szereplő #include utasításoknak működniük kell. Ellenőrizze ezt az "Ellenőrzés" gombra kattintva (jelölje be a bal felső sarokban). Tudja, hogy minden könyvtár működik, ha a program alján megjelenik a "Kész fordítás" üzenet. Ellenkező esetben megjelenik egy piros sáv, és üzenetet kap arról, hogy mi történt.

3. Változtassa meg a kódot

Módosítsa a kódot a használati esetnek megfelelően az alábbi utasítások követésével:

A motorok és azok érzékelő kimenetei

Először is nyilatkozzon arról, hogy a motorok milyen csapokat használnak, valamint milyen tartományban működnek a motorok. Például az M4 -hez csatlakoztatott, 25 és 175 (sebesség) tartományban működő motort így deklarálják (a FŐ megjegyzés alatt):

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

Ha 3 V -ig terjedő tartományban hajtott kis rezgésű motorokkal dolgozik, akkor a motorháztetőt óvatosan kell használni, mivel 4,5–13,5 V egyenáramú motorokhoz való. Annak érdekében, hogy ne károsítsam a 3 V -os motorokat, programszerűen korlátoztam az árnyékolás Volt kimenetét maximum 3 V -ra (pontosan 2,95 V). Ezt úgy csináltam, hogy megmértem, hogy mennyi a 255 -ös maximális sebesség Voltban, és multiméterrel mértem, hogy ez 4,3 V. Ezért soha nem engedtem 175 -nél nagyobb sebességet, ami körülbelül 3 V, a motorokhoz.

Minden motor egy SensoryOutput kimenettel lesz összekötve.

Az egyik érzékelő kimenet egy vagy több érzékszervi ingerből áll. Például egy motor rezeghet egyetlen érzékelő vagy több, különböző helyzetű érzékelő átlaga szerint.

Ezért először minden motorhoz egy SensoryOutput -ot kell deklarálni. A zárójelben lévő számok az érzékelő (csoport) által észlelhető minimális és maximális érték. Az analóg érzékelőknél ez többnyire 0 és 1023:

SensoryOutput output1 = SensoryOutput kimenet (0, 1023);

A loop () függvényben minden motor egy kimeneti értékhez van rendelve. Itt azt írja, hogy írja minden motorhoz a következő utasítást, és a "output1" helyett, bármilyen SensoryOutput értéket kell hozzá csatlakoztatni. Ne felejtse el megváltoztatni az összes "output1" nevet ebben a sorban, ha másik nevet használ hozzá.

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

Ha szeretné, több motort (pl. Motor1 és motor2) is megadhat ugyanazon SensoryOutput (pl. Kimenet1).

Ezenkívül több érzékelő értékét is megadhatja egy motorhoz (lásd a következő részt).

Az érzékelők meghatározása

A setup () függvényben ki kell jelenteni, hogy melyik érzékelő melyik motor rezgésének része (SensoryOutput). Íme egy példa arra, hogyan határozza meg, hogy az Arduino Pin A0 -hoz csatlakoztatott érzékelőt rezgéssé kell alakítani a motor1 -el, és ennek következtében a kimenettel1:

output1.include (A0);

Ha több érzékszervi kimenetet kell kombinálni egy motor rezgésén belül, akkor egyszerűen hozzáadhat egy másik analóg bemeneti tűt a kimenethez1:

output1.include (A1);

Ellenkező esetben folytassa a következő kimenettel:

output2.include (A1);

Több érzékelő kombinálása

Amint fentebb említettük, több érzékelő bemenet (pl. A0, A1 és A2) egy motorhoz vezethető. A megadott kód az összes mellékelt érzékelő által leolvasott értékek átlagának kiszámítását jelenti. Tehát, ha ez elegendő az Ön esetéhez, és egyszerűen közvetlenül hozzá akar rendelni például egy alacsony érzékszervi bemenetet egy alacsony rezgéshez, akkor kész, és nem kell gondolnia a következőkre:

Ha azonban más elképzelései vannak arról, hogy mit szeretne tenni egy vagy több nyers szenzoros bemenettel, akkor a SensoryOutput osztályban az int getValue () függvény változásainak megfelelően teheti meg:

int getValue () {

finalOutput = 0; // TODO tegyen bármit az érzékszervi értékekkel // itt az átlag jön létre, ha több értéket kombinálunk a következőre (int i = 0; i <curArrayLength; i ++) {finalOutput+= analogRead (valueArray ); } return finalOutput / curArrayLength; }

4. Töltse fel a kódot az Arduino prototípusához

Csatlakoztassa az Arduino prototípust (a 2. lépéstől kezdve) a számítógéphez.

Kattintson az Eszközök → Port → Válassza ki a portot, ahol az Arduino/Genuino Uno zárójelben van írva

Kattintson az Eszközök → Tábla → Arduino/Genuino Uno parancsra

Most a motoroknak az analóg érzékelők bemenete szerint kell működniük. Ha szeretné, leválaszthatja az Arduino -t a számítógépről, és csatlakoztathatja egy másik áramforráshoz, például egy 9 V -os akkumulátorhoz.

4. lépés: Lehetséges kiterjesztések

Lehetséges kiterjesztések
Lehetséges kiterjesztések
Lehetséges kiterjesztések
Lehetséges kiterjesztések
Lehetséges kiterjesztések
Lehetséges kiterjesztések

A most épített prototípus kizárólag analóg bemeneteket tesz lehetővé, és akár négy motort is meghajthat. Ezenkívül még nem hordható. Ha bővíteni szeretné ezeket a funkciókat, tekintse meg az alábbi utasításokat:

  • Az ERM-motorok forgó tömegeinek lefedése:
  • Az SSAD viselése:
  • Több mint 4 motor használata-Több motorpajzs egymásra rakása:
  • Ultrahangos közelségérzékelő használata SSAD bemenetként:

Ajánlott: