Satura rādītājs:

Vibrotaktilās sensorās aizvietošanas un palielināšanas ierīce (SSAD): 4 soļi
Vibrotaktilās sensorās aizvietošanas un palielināšanas ierīce (SSAD): 4 soļi

Video: Vibrotaktilās sensorās aizvietošanas un palielināšanas ierīce (SSAD): 4 soļi

Video: Vibrotaktilās sensorās aizvietošanas un palielināšanas ierīce (SSAD): 4 soļi
Video: Трактористы (комедия, реж. Иван Пырьев, 1939 г.) 2024, Novembris
Anonim
Vibrotaktīvo sensoro aizvietošanas un palielināšanas ierīce (SSAD)
Vibrotaktīvo sensoro aizvietošanas un palielināšanas ierīce (SSAD)
Vibrotaktīvo maņu aizvietošanas un palielināšanas ierīce (SSAD)
Vibrotaktīvo maņu aizvietošanas un palielināšanas ierīce (SSAD)

Šī projekta mērķis ir veicināt pētījumus maņu aizvietošanas un palielināšanas jomā. Man bija iespēja izpētīt dažādus veidus, kā veidot vibrotaktilos SSAD prototipus savā maģistra darbā. Tā kā maņu aizvietošana un papildināšana ir tēma, kas skar ne tikai datorzinātniekus, bet arī citu jomu, piemēram, kognitīvās zinātnes, pētniekus, pakāpeniskai instrukcijai vajadzētu ļaut elektronikas un datorzinātņu neprofesionāļiem savākt šo prototipu. pētniecības nolūkos.

Es nedomāju reklamēt tieši viena veida zīmolu/produktu. Šo projektu nesponsorēja neviens uzņēmums. Izmantotais materiāls tika izvēlēts tehnisko specifikāciju un ērtības dēļ (piegādes ātrums/izmaksas, pieejamība utt.). Visiem šajā pamācībā minētajiem produktiem ir pieejamas vienlīdz piemērotas alternatīvas.

Pašreizējā Instructable satur soli pa solim instrukcijas, kā izveidot pamata SSAD prototipu ar līdz 4 motoriem un analogiem sensoriem.

Papildus šai instrukcijai esmu izveidojis trīs paplašinājumus: Pirmkārt, es publicēju norādījumus par to, kā ar šo SSAD prototipu izmantot vairāk nekā četrus motorus (https://www.instructables.com/id/Using-More-Than-4…). Otrkārt, es izveidoju piedāvājumu un piemēru, kā padarīt šo prototipu valkājamu (https://www.instructables.com/id/Making-the-SSAD-W…) un kā pārklāt ERM motorus bez iekapsulētas rotējošas masas (https:/ /www.instructables.com/id/Covering-Rotating…). Turklāt tiek publicēts arī piemērs tam, kā prototipā integrēt citus, nevis analogus sensorus (šajā gadījumā tuvuma sensorus) (https://www.instructables.com/id/Inciding-a-Proxi…).

Kas ir "maņu aizvietošana un palielināšana"?

Izmantojot maņu aizvietošanu, informāciju, ko apkopo viena maņu metode (piemēram, redze), var uztvert ar citu sajūtu (piemēram, skaņu). Tā ir daudzsološa neinvazīva metode, kas palīdz cilvēkiem pārvarēt maņu zudumu vai traucējumus.

Ja maņu stimulu, kas tiek tulkots, cilvēki parasti neuztver (piemēram, UV gaisma), šo pieeju sauc par maņu palielināšanu.

Kādas prasmes ir nepieciešamas, lai izveidotu šo prototipu?

Būtībā nav nepieciešamas papildu programmēšanas iemaņas, lai izpildītu tālāk sniegtos norādījumus. Tomēr, ja esat iesācējs lodēšanā, plānojiet papildu laiku, lai iepazītu šo tehniku. Ja jūs nekad iepriekš neesat programmējis, var būt nepieciešama palīdzība no kāda, kam ir vairāk pieredzes programmēšanā.

Vai ir vajadzīgas dārgas vai viegli pieejamas mašīnas vai instrumenti?

Izņemot lodāmuru, šī prototipa izveidošanai nav nepieciešamas nekādas mašīnas vai instrumenti, kurus nevar viegli iegādāties tiešsaistē vai nākamajā mājsaimniecības veikalā. Šis SSAD ir paredzēts ātrai prototipēšanai, kas nozīmē, ka tam vajadzētu būt ātri reproducējamam un ļaut lēti izpētīt idejas.

Piegādes

Galvenās sastāvdaļas (aptuveni 65 £ par 4 motoriem, izņemot lodēšanas iekārtas)

  • Arduino Uno (piemēram, https://store.arduino.cc/arduino-uno-rev3, 20 £)
  • Adafruit Motorshield v2.3 (piem., Https://www.adafruit.com/product/1438, 20 £) un vīriešu kraušanas galvenes (parasti iekļautas, pērkot dzinēja vairogu)
  • Cilindriskie ERM motori (piemēram, https://www.adafruit.com/product/1438, 5, 50 £/motors)
  • Lodāmurs un lodēšanas stieple
  • Vadi

Neobligāti (skatiet paplašinājumus)

Ja tiek nopirkts ERM motors ar nesegtu rotējošu masu:

  • Vinila caurule
  • Plāns mīksts dēlis
  • 3D printeris (Arduino korpusam)

Ja vēlaties izmantot vairāk nekā 4 motorus (vairāk nekā 8 reizes citā laikā):

  • Adafruit Motorshield v2.3 un vīriešu sakraušanas galvenes
  • Sieviešu kraušanas galvenes (piemēram,
  • Arduino Mega vairāk nekā 6 motoriem (piemēram,

1. solis: lodēšana

Lodēšana
Lodēšana

Lodējiet tapas pie motora vairoga

Adafruit piedāvā ļoti visaptverošu pamācību, kā lodēt galvenes pie motora vairoga (https://learn.adafruit.com/adafruit-motor-shield-v…):

  1. Pirmkārt, ievietojiet sakraušanas galvenes Arduino Uno tapās,
  2. Pēc tam uzlieciet vairogu uz augšu tā, lai tapas īsā puse izceļas.
  3. Pēc tam pielieciet visas tapas pie vairoga un pārliecinieties, ka lodēšana plūst ap tapu un veido vulkāna formu (skatiet attēlu iepriekš, kas ir pieņemts no vietnes https://cdn.sparkfun.com/assets/c/d/ a/a/9/523b1189…).

Ja esat iesācējs lodēšanā, palīdziet sev ar vairākām apmācībām, piemēram,

Lodējiet garākus vadus pie motora

Tā kā lielākajai daļai motoru ir bez vai ļoti īsi un plāni vadi, ir lietderīgi tos pagarināt, pielodējot uz garākiem un izturīgākiem vadiem. Lūk, kā jūs to varētu izdarīt:

  1. Noņemiet plastmasu ap vadu galiem un novietojiet tos tā, lai tie saskaras viens ar otru pa atklātajiem vadiem, kā parādīts attēlā.
  2. Lodējiet tos kopā, pieskaroties abu vadu vītnēm un ļaujot lodēt pār tiem.

2. solis: elektroinstalācija

Elektroinstalācija
Elektroinstalācija
  1. Salieciet dzinēja vairogu virs Arduino.
  2. Ieskrūvējiet motorus motora nodalījumā.
  3. Pievienojiet analogos sensorus Arduino (attēlā tas tiek darīts ar gaismas sensoriem, bet tā pati shēma izskatās vienāda citiem analogiem sensoriem).

3. darbība: kodēšana

Kodēšana
Kodēšana
Kodēšana
Kodēšana
Kodēšana
Kodēšana
Kodēšana
Kodēšana

1. Lejupielādēt

Lejupielādējiet zip mapi (SSAD_analogueInputs.zip), kas pievienota zemāk. Izsaiņojiet to.

Lejupielādējiet Arduino IDE (https://www.arduino.cc/en/main/software).

Atveriet Arduino failu (SSAD_analogueInputs.ino), kas atrodas neizsaiņotās mapes iekšpusē ar Arduino IDE.

2. Instalējiet bibliotēkas

Lai palaistu norādīto kodu, jums jāinstalē dažas bibliotēkas. Tātad, ja Arduino fails, kas pievienots šī raksta beigās, ir atvērts Arduino IDE iekšpusē, rīkojieties šādi:

  1. Noklikšķiniet: Rīki → Pārvaldīt bibliotēkas …
  2. Meklēšanas laukā Filtrējiet "Adafruit Motor Shield V2 Library"
  3. Instalējiet to, noklikšķinot uz pogas Instalēt

Pēc šo bibliotēku lejupielādes tagad vajadzētu darboties #include paziņojumiem norādītajos kodos. Pārbaudiet to, noklikšķinot uz pogas "Pārbaudīt" (atzīmējiet augšējā kreisajā stūrī). Jūs zināt, ka visas bibliotēkas darbojas, ja programmas apakšā tiek parādīts ziņojums "Gatavs apkopojums". Pretējā gadījumā parādās sarkana josla, un jūs saņemsit ziņojumu par to, kas noticis nepareizi.

3. Mainiet kodu

Mainiet kodu atbilstoši savam lietošanas gadījumam, izpildot tālāk sniegtos norādījumus.

Iedarbināšanas motori un to sensorās izejas

Vispirms paziņojiet, kuras tapas izmanto motori, kā arī kādā diapazonā motori darbojas. Piemēram, motors, kas pievienots M4 un darbojas (ātruma) diapazonā no 25 līdz 175, tiek deklarēts šādi (zem GALVENĀ komentāra):

Motora motors1 = Motors (4, 25, 175);

Strādājot ar maziem vibrācijas motoriem, kuru darbības diapazons ir līdz 3 V, motora aizsargs jālieto piesardzīgi, jo tas ir paredzēts motoru darbināšanai no 4,5 V līdz 13,5 V līdzstrāvai. Lai nesabojātu 3 V motorus, es programmiski ierobežoju vairoga sprieguma jaudu līdz maksimāli 3 V (tieši 2,95 V). Es to izdarīju, izmērot, cik liels maksimālais ātrums 255 ir voltos, un ar multimetru izmērīju, ka tas ir 4,3 V. Tāpēc es nekad neatļāvu motoriem lielāku ātrumu par 175, kas ir aptuveni 3 V.

Katrs motors tiks savienots ar vienu SensoryOutput.

Viena SensoryOutput sastāv no viena vai vairākiem maņu stimuliem. Piemēram, motors var vibrēt saskaņā ar vienu sensoru vai pēc vairāku, atšķirīgi novietotu sensoru vidējās vērtības.

Tāpēc, pirmkārt, katram motoram ir jādeklarē viena SensoryOutput. Skaitļi iekavās ir minimālā un maksimālā vērtība, ko sensors (grupa) var uztvert. Analogajiem sensoriem tas lielākoties ir 0 un 1023:

SensoryOutput output1 = SensoryOutput (0, 1023);

Cilpas () funkcijā katram motoram tiek piešķirta viena izejas vērtība. Šeit jūs rakstāt rakstīt katram motoram šādu paziņojumu un "output1" vietā, neatkarīgi no tā, kāda SensoryOutput vērtība tam jāpievieno. Neaizmirstiet arī mainīt visus "output1" nosaukumus šajā rindā, ja tam izmantojat citu nosaukumu.

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

Ja vēlaties, varat piešķirt vairākiem motoriem (piemēram, motoru1 un motoru2) vienu un to pašu SensoryOutput (piem., Izeju1).

Turklāt vienam motoram varat norādīt vairāku sensoru vērtības (skatīt nākamo sadaļu).

Sensoru definēšana

Funkcijā setup () jāpaziņo, kuri sensori būs daļa no motora vibrācijas (SensoryOutput). Šeit ir piemērs tam, kā jūs definējat, ka sensors, kas ir savienots ar Arduino Pin A0, ir jāpārvērš vibrācijās ar motor1 un līdz ar to arī output1:

output1.include (A0);

Ja vienā motora vibrācijā ir jāapvieno vairākas maņu izejas, izejai1 varat vienkārši pievienot vēl vienu analogās ieejas tapu:

output1.include (A1);

Pretējā gadījumā vienkārši turpiniet ar nākamo izvadi:

output2.include (A1);

Vairāku sensoru apvienošana

Kā minēts iepriekš, vairākas sensora ieejas (piemēram, no A0, A1 un A2) var novest pie viena motora. Es sniedzu kodu, kas aprēķina vidējo vērtību, ko nolasa visi iekļautie sensori. Tātad, ja ar to pietiek jūsu lietošanas gadījumam un jūs vienkārši vēlaties tieši kartēt, piemēram, zemu sensoro ievadi zemai vibrācijai, esat pabeidzis un jums nav jādomā par sekojošo:

Tomēr, ja jums ir citas idejas par to, ko vēlaties darīt ar vienu vai vairākām neapstrādātām maņu ievadēm, varat veikt izmaiņas funkcijā int getValue () SensoryOutput klasē:

int getValue () {

finalOutput = 0; // TODO dariet visu, ko vēlaties, ar maņu vērtībām // šeit tiek veidots vidējais, ja vairākas vērtības tiek apvienotas (int i = 0; i <curArrayLength; i ++) {finalOutput+= analogRead (valueArray ); } return finalOutput / curArrayLength; }

4. Augšupielādējiet kodu savā Arduino prototipā

Pievienojiet datoram Arduino prototipu (no 2. darbības).

Noklikšķiniet uz Rīki → Ports → Atlasiet portu, kurā iekavās ir rakstīts Arduino/Genuino Uno

Noklikšķiniet uz Rīki → Padome → Arduino/Genuino Uno

Tagad motoriem jādarbojas atbilstoši analogo sensoru ieejām. Ja vēlaties, varat atvienot Arduino no datora un pievienot to citam barošanas avotam, piemēram, 9 V akumulatoram.

4. darbība. Iespējamie paplašinājumi

Iespējamie pagarinājumi
Iespējamie pagarinājumi
Iespējamie pagarinājumi
Iespējamie pagarinājumi
Iespējamie pagarinājumi
Iespējamie pagarinājumi

Jūsu tikko uzbūvētais prototips pieļauj tikai analogās ieejas un var darbināt līdz četriem motoriem. Turklāt tas vēl nav valkājams. Ja vēlaties paplašināt šīs funkcijas, skatiet tālāk sniegtos norādījumus.

  • ERM motoru rotējošo masu segšana:
  • Padarīt SSAD valkājamu:
  • Vairāk nekā 4 motoru izmantošana-vairāku motoru vairogu sakraušana:
  • Izmantojot ultraskaņas tuvuma sensoru kā SSAD ievadi:

Ieteicams: