Turinys:

Vibrotaktinis jutimo pakeitimo ir padidinimo įtaisas (SSAD): 4 žingsniai
Vibrotaktinis jutimo pakeitimo ir padidinimo įtaisas (SSAD): 4 žingsniai

Video: Vibrotaktinis jutimo pakeitimo ir padidinimo įtaisas (SSAD): 4 žingsniai

Video: Vibrotaktinis jutimo pakeitimo ir padidinimo įtaisas (SSAD): 4 žingsniai
Video: Research Updates: Long-Term Outcomes in POTS and Vagus Nerve Stimulation in POTS 2024, Liepa
Anonim
Vibrotaktinis jutimo pakeitimo ir padidinimo įtaisas (SSAD)
Vibrotaktinis jutimo pakeitimo ir padidinimo įtaisas (SSAD)
Vibrotaktinis jutimo pakeitimo ir padidinimo įtaisas (SSAD)
Vibrotaktinis jutimo pakeitimo ir padidinimo įtaisas (SSAD)

Šiuo projektu siekiama palengvinti tyrimus jutimų pakeitimo ir padidinimo srityje. Savo magistrantūros disertacijoje turėjau galimybę ištirti įvairius vibrotaktilių SSAD prototipų kūrimo būdus. Kadangi jutiminis pakeitimas ir papildymas yra tema, kuri susijusi ne tik su kompiuterių mokslininkais, bet ir su kitų sričių, pvz., Kognityvinio mokslo, tyrėjais, žingsnis po žingsnio instrukcija turėtų leisti ne elektronikos ir informatikos ekspertams surinkti šį prototipą mokslinių tyrimų tikslais.

Aš neketinu reklamuoti tik vienos rūšies prekės ženklo/produkto. Šio projekto neparėmė jokia įmonė. Medžiaga, kurią naudojau, buvo pasirinkta dėl techninių specifikacijų ir patogumo (greitis/pristatymo kaina, prieinamumas ir kt.). Visiems produktams, kurie paminėti šioje instrukcijoje, yra vienodai tinkamų alternatyvų.

Dabartiniame „Instructable“yra žingsnis po žingsnio instrukcijos, kaip sukurti pagrindinį SSAD prototipą su iki 4 variklių ir analoginiais jutikliais.

Be šios „Instructable“, sukūriau tris plėtinius: Pirma, paskelbiau instrukcijas, kaip naudoti daugiau nei keturis variklius su šiuo SSAD prototipu (https://www.instructables.com/id/Using-More-Than-4…). Antra, sukūriau pavyzdį ir pavyzdį, kaip padaryti, kad šis prototipas būtų nešiojamas (https://www.instructables.com/id/Making-the-SSAD-W…) ir kaip uždengti ERM variklius be kapsulės besisukančios masės (https:/ /www.instructables.com/id/Cover-Rotating…). Be to, taip pat paskelbtas pavyzdys, kaip į prototipą integruoti kitus nei analoginius jutiklius (šiuo atveju artumo jutiklius) (https://www.instructables.com/id/Inciding-a-Proxi…).

Kas yra „jutiminis pakeitimas ir padidinimas“?

Naudojant jutiminį pakeitimą, vieno jutimo būdo (pvz., Regėjimo) surinkta informacija gali būti suvokiama kitu pojūčiu (pvz., Garsu). Tai perspektyvi neinvazinė technika, padedanti žmonėms įveikti jutimo praradimą ar sutrikimą.

Jei jutimo dirgiklis, kuris yra išverstas, paprastai nesuvokiamas žmonėms (pvz., UV šviesa), šis metodas vadinamas jutimo padidinimu.

Kokių įgūdžių reikia norint sukurti šį prototipą?

Iš esmės, norint sekti toliau pateiktas instrukcijas, nereikia jokių pažangių programavimo įgūdžių. Tačiau, jei esate lydmetalio pradedantysis, suplanuokite šiek tiek daugiau laiko, kad susipažintumėte su šia technika. Jei niekada anksčiau neprogramavote, gali prireikti pagalbos iš daugiau programavimo patirties turinčio žmogaus.

Ar reikia kokių nors mašinų ar įrankių, kurie yra brangūs arba nėra lengvai prieinami?

Išskyrus lituoklį, norint sukurti šį prototipą, kurio negalima lengvai nusipirkti internetu ar kitoje buitinėje parduotuvėje, nereikia jokių mašinų ar įrankių. Šis SSAD sukurtas taip, kad būtų galima greitai sukurti prototipus, o tai reiškia, kad jis turėtų būti greitai atkuriamas ir leisti nebrangiai ištirti idėjas.

Prekės

Pagrindiniai komponentai (apie 65 £ už 4 variklius, išskyrus litavimo įrangą)

  • „Arduino Uno“(pvz., Https://store.arduino.cc/arduino-uno-rev3, 20 £)
  • „Adafruit Motorshield v2.3“(pvz., Https://www.adafruit.com/product/1438, 20 svarų sterlingų) ir pakavimo antgaliai vyrams (paprastai įtraukiami perkant variklio skydą)
  • Cilindriniai ERM varikliai (pvz., Https://www.adafruit.com/product/1438, 5, 50 £/variklis)
  • Lituoklis ir litavimo viela
  • Laidai

Neprivaloma (žr. Plėtinius)

Jei perkamas ERM variklis su neuždengta besisukančia mase:

  • Vinilo vamzdis
  • Plona minkšta lenta
  • 3D spausdintuvas (skirtas „Arduino“korpusui)

Jei norite naudoti daugiau nei 4 variklius (kitą kartą daugiau nei 8):

  • „Adafruit Motorshield v2.3“ir vyrų krovimo antraštės
  • Moteriškos krovimo antraštės (pvz.,
  • „Arduino Mega“daugiau nei 6 varikliams (pvz.,

1 žingsnis: litavimas

Litavimas
Litavimas

Lituokite kaiščius prie variklio skydo

„Adafruit“siūlo labai išsamią pamoką, kaip lituoti antraštes prie variklio skydo (https://learn.adafruit.com/adafruit-motor-shield-v…):

  1. Pirmiausia įdėkite kaupimo antraštes į „Arduino Uno“kaiščius,
  2. Tada uždėkite skydą ant viršaus, kad trumpoji kaiščių pusė išsikištų.
  3. Po to visus kaiščius prilituokite prie skydo ir įsitikinkite, kad lydmetalis teka aplink kaištį ir sudaro ugnikalnio formą (žr. a/a/9/523b1189…).

Jei esate litavimo pradedantysis, padėkite sau daugiau pamokų, tokių kaip

Lituokite ilgesnius laidus prie variklio

Kadangi dauguma variklių yra be arba labai trumpi ir ploni laidai, prasminga juos prailginti lituojant į ilgesnius ir tvirtesnius laidus. Štai kaip galite tai padaryti:

  1. Nuimkite plastiką aplink laidų galą ir padėkite juos taip, kad jie liestųsi tarpusavyje išilgai atvirų laidų, kaip parodyta paveikslėlyje.
  2. Lituokite juos kartu paliesdami abiejų laidų sriegius ir leiskite lydmetaliui tekėti per juos.

2 žingsnis: laidų prijungimas

Laidai
Laidai
  1. Padėkite variklio skydą ant „Arduino“.
  2. Įsukite variklius į variklio skydą.
  3. Prijunkite analoginius jutiklius prie „Arduino“(paveikslėlyje tai daroma naudojant šviesos jutiklius, tačiau ta pati grandinė atrodo vienoda kitiems analoginiams jutikliams).

3 žingsnis: kodavimas

Kodavimas
Kodavimas
Kodavimas
Kodavimas
Kodavimas
Kodavimas
Kodavimas
Kodavimas

1. Atsisiųskite

Atsisiųskite zip aplanką (SSAD_analogueInputs.zip), pridėtą žemiau. Išpakuokite.

Atsisiųskite „Arduino IDE“(https://www.arduino.cc/en/main/software).

Atidarykite „Arduino“failą (SSAD_analogueInputs.ino), esantį neišpakuotame aplanke su „Arduino IDE“.

2. Įdiekite bibliotekas

Norėdami paleisti pateiktą kodą, turite įdiegti kai kurias bibliotekas. Taigi, jei „Arduino“failas, pridėtas šio straipsnio pabaigoje, yra atidarytas „Arduino IDE“viduje, atlikite šiuos veiksmus:

  1. Spustelėkite: Įrankiai → Tvarkyti bibliotekas …
  2. Ieškos lauke „Filtruoti“ieškokite „Adafruit Motor Shield V2 Library“
  3. Įdiekite jį spustelėdami mygtuką Įdiegti

Atsisiuntę šias bibliotekas, dabar turėtų veikti #include teiginiai pateiktuose koduose. Patikrinkite tai spustelėdami mygtuką „Patvirtinti“(pažymėkite kairėje viršuje). Jūs žinote, kad visos bibliotekos veikia, jei programos apačioje gausite pranešimą „Kompiliacija baigta“. Priešingu atveju pasirodys raudona juosta ir gausite pranešimą apie tai, kas nutiko.

3. Pakeiskite kodą

Pakeiskite kodą pagal savo naudojimo atvejį, vadovaudamiesi toliau pateiktomis instrukcijomis:

Iniciatyviniai varikliai ir jų jutimo išėjimai

Visų pirma, deklaruokite, kuriuos kaiščius naudoja varikliai, ir kokiame diapazone jie veikia. Pavyzdžiui, variklis, prijungtas prie M4 ir veikiantis 25 (175) (greičio) diapazone, deklaruojamas taip (po pagrindiniu komentaru):

Variklio variklis1 = variklis (4, 25, 175);

Dirbant su mažais vibraciniais varikliais, kurie varomi iki 3 V diapazone, variklio skydą reikia naudoti atsargiai, nes jis skirtas varikliams, veikiantiems nuo 4,5 V iki 13,5 V nuolatinės srovės. Kad nepažeistumėte 3 V variklių, aš programiškai apribojau ekrano voltų išėjimą iki 3 V (tiksliai 2,95 V). Aš tai padariau, išmatuodamas, kiek maksimalus 255 greitis yra voltais, ir multimetru išmatuodamas, kad tai yra 4,3 V. Todėl aš niekada neleidau varikliams didesnio greičio nei 175, o tai yra apie 3 V.

Kiekvienas variklis bus prijungtas prie vieno „SensoryOutput“.

„One SensoryOutput“sudaro vienas ar keli jutimo dirgikliai. Pavyzdžiui, variklis gali vibruoti pagal vieną jutiklį arba pagal kelių skirtingai išdėstytų jutiklių vidurkį.

Todėl pirmiausia kiekvienam varikliui reikia deklaruoti vieną „SensoryOutput“. Skaičiai skliausteliuose yra minimali ir maksimali vertė, kurią jutiklis (grupė) gali suvokti. Analoginiams jutikliams tai dažniausiai 0 ir 1023:

SensoryOutput output1 = SensoryOutput (0, 1023);

Ciklo () funkcijoje kiekvienas variklis priskiriamas vienai išėjimo vertei. Čia rašote kiekvienam varikliui parašykite šį teiginį, o vietoj „output1“, bet kokia „SensoryOutput“vertė turėtų būti prijungta prie jo. Nepamirškite pakeisti visų „output1“pavadinimų šioje eilutėje, jei naudojate kitą pavadinimą.

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

Jei norite, galite suteikti kelis variklius (pvz., 1 variklį ir 2 variklį) tą pačią „SensoryOutput“(pvz., 1 išėjimą).

Be to, vienam varikliui galite pateikti kelių jutiklių vertes (žr. Kitą skyrių).

Jutiklių apibrėžimas

Funkcijoje setup () reikia nurodyti, kurie jutikliai priklausys variklio vibracijai („SensoryOutput“). Štai pavyzdys, kaip jūs apibrėžiate, kad jutiklis, prijungtas prie „Arduino Pin A0“, turėtų būti paverstas vibracijomis su varikliu1 ir atitinkamai išėjimu1:

output1.include (A0);

Jei per vieną variklio vibraciją reikia sujungti kelis jutimo išėjimus, prie išvesties galite tiesiog pridėti kitą analoginį įvesties kaištį:

output1.include (A1);

Priešingu atveju tęskite kitą išvestį:

output2.include (A1);

Kelių jutiklių derinimas

Kaip minėta aukščiau, į vieną variklį galima nukreipti kelis jutiklių įėjimus (pvz., Iš A0, A1 ir A2). Mano pateiktas kodas apskaičiuoja visų įtrauktų jutiklių nuskaitytų verčių vidurkį. Taigi, jei to pakanka jūsų naudojimui ir jūs tiesiog norite tiesiogiai susieti, pavyzdžiui, žemą jutiminį įėjimą į mažą vibraciją, baigsite ir jums nereikės galvoti apie šiuos dalykus:

Tačiau, jei turite kitų idėjų, ką norite daryti su vienu ar keliais neapdorotais jutimo įėjimais, galite pakeisti „SensoryOutput“klasės funkcijos int getValue () pakeitimus:

int getValue () {

finalOutput = 0; // TODO daryk viską, ką nori, naudodamas juslines vertes // čia sudaromas vidurkis, jei sujungiamos kelios reikšmės (int i = 0; i <curArrayLength; i ++) {finalOutput+= analogRead (valueArray ); } return finalOutput / curArrayLength; }

4. Įkelkite kodą į savo „Arduino“prototipą

Prijunkite „Arduino“prototipą (nuo 2 veiksmo) prie kompiuterio.

Spustelėkite Įrankiai → Prievadas → Pasirinkite prievadą, kuriame skliausteliuose parašyta „Arduino“/„Genuino Uno“

Spustelėkite Įrankiai → Lenta → Arduino/Genuino Uno

Dabar varikliai turėtų veikti pagal analoginių jutiklių įvestis. Jei norite, galite atjungti „Arduino“nuo kompiuterio ir prijungti prie kito maitinimo šaltinio, pvz., 9 V baterijos.

4 žingsnis: galimi plėtiniai

Galimi pratęsimai
Galimi pratęsimai
Galimi pratęsimai
Galimi pratęsimai
Galimi pratęsimai
Galimi pratęsimai

Jūsų ką tik sukurtas prototipas leidžia naudoti tik analoginius įėjimus ir gali valdyti iki keturių variklių. Be to, jis dar nėra dėvimas. Jei norite išplėsti šias funkcijas, peržiūrėkite šias instrukcijas:

  • Dengiančios besisukančias ERM variklių mases:
  • Padaryti SSAD nešiojamą:
  • Daugiau nei 4 variklių naudojimas-kelių variklių skydų krovimas:
  • Naudojant ultragarsinį artumo jutiklį kaip SSAD įvestį:

Rekomenduojamas: