Përmbajtje:

Pajisja e Zëvendësimit dhe Shtimit Ndjesor Vibrotaktil (SSAD): 4 Hapa
Pajisja e Zëvendësimit dhe Shtimit Ndjesor Vibrotaktil (SSAD): 4 Hapa

Video: Pajisja e Zëvendësimit dhe Shtimit Ndjesor Vibrotaktil (SSAD): 4 Hapa

Video: Pajisja e Zëvendësimit dhe Shtimit Ndjesor Vibrotaktil (SSAD): 4 Hapa
Video: Matematikë 9 - Zgjidhja e ekuacioneve të fuqisë së parë 2024, Korrik
Anonim
Pajisja e Zëvendësimit dhe Shtimit Ndjesor Vibrotaktil (SSAD)
Pajisja e Zëvendësimit dhe Shtimit Ndjesor Vibrotaktil (SSAD)
Pajisja Ndërrimi dhe Shtimi Ndjesor Vibrotaktil (SSAD)
Pajisja Ndërrimi dhe Shtimi Ndjesor Vibrotaktil (SSAD)

Ky projekt synon të lehtësojë kërkimin në fushën e Zëvendësimit Ndjesor dhe Shtimit. Kam pasur mundësinë të eksploroj mënyra të ndryshme të ndërtimit të prototipeve vibrotaktile SSAD brenda disertacionit tim MSc. Meqenëse Zëvendësimi dhe Shtimi Ndijor është një temë që shqetëson jo vetëm shkencëtarët e kompjuterit, por edhe studiuesit nga fusha të tjera, si shkenca njohëse, një udhëzim hap pas hapi duhet t'u mundësojë jo-ekspertëve në elektronikë dhe shkenca kompjuterike të mbledhin këtë prototip për veten e tyre. qëllime kërkimore.

Unë nuk kam ndërmend të bëj reklamë për saktësisht një lloj marke/produkti. Ky projekt nuk u sponsorizua nga asnjë kompani. Materiali, që kam përdorur, është zgjedhur për shkak të specifikimeve teknike dhe komoditetit (shpejtësia/kostoja e dorëzimit, disponueshmëria, etj.). Për të gjitha produktet që përmenden në këtë Udhëzues, janë në dispozicion alternativa po aq të përshtatshme.

Instructable aktual përmban udhëzime hap pas hapi se si të ndërtoni një prototip bazë SSAD me deri në 4 motorë dhe sensorë analoge.

Si shtesë e këtij Udhëzuesi kam krijuar tre shtesa: Së pari, kam botuar udhëzime se si të përdoren më shumë se katër motorë me këtë prototip SSAD (https://www.instructables.com/id/Using-More-Than-4…). Së dyti, unë krijova një shembull dhe shembull se si ta bëjmë këtë prototip të veshshëm (https://www.instructables.com/id/Making-the-SSAD-W…) dhe si të mbuloj motorët ERM pa masë rrotulluese të kapsuluar (https:/ /www.instructables.com/id/Covering-Rotating…). Më tej, një shembull se si të integrohen të tjerë përveç sensorëve analogë (në këtë rast një sensorë afërsie) me prototipin është publikuar gjithashtu (https://www.instructables.com/id/Including-a-Proxi…).

Çfarë është "Zëvendësimi dhe Shtimi Ndijor"?

Me Zëvendësimin Ndijor informacioni i mbledhur nga një modalitet ndijor (p.sh. shikimi) mund të perceptohet përmes një shqisë tjetër (p.sh. zërit). Shtë një teknikë premtuese jo-invazive që ndihmon njerëzit të kapërcejnë humbjen ose dëmtimin shqisor.

Nëse stimuli ndijor, që përkthehet, normalisht nuk është i perceptueshëm nga qeniet njerëzore (p.sh. drita ultraviolet), kjo qasje quhet Rritje Ndjesore.

Cilat aftësi nevojiten për të ndërtuar këtë prototip?

Në thelb, nuk nevojiten aftësi të përparuara programimi për të ndjekur udhëzimet, të dhëna më poshtë. Sidoqoftë, nëse jeni fillestar në saldim, planifikoni pak kohë shtesë për t'u njohur me këtë teknikë. Në rast se nuk keni programuar kurrë më parë, mund të kërkohet ndihmë nga dikush më me përvojë në programim.

A ka ndonjë makinë apo vegël të nevojshme që janë të shtrenjta ose nuk janë të disponueshme lehtë?

Përveç një hekuri saldimi, asnjë makinë apo vegël nuk janë të nevojshme për ndërtimin e këtij prototipi që nuk mund ta blini lehtë në internet ose në dyqanin tjetër shtëpiak. Ky SSAD është krijuar për të lejuar prototipimin e shpejtë, që do të thotë se duhet të riprodhohet shpejt dhe të lejojë një eksplorim të lirë të ideve.

Furnizimet

Komponentët kryesorë (rreth 65 për 4 motorë, pa përfshirë pajisjet e bashkimit)

  • Arduino Uno (p.sh. https://store.arduino.cc/arduino-uno-rev3, 20 £)
  • Adafruit Motorshield v2.3 (p.sh. https://www.adafruit.com/product/1438, 20 £) dhe tituj meshkuj të grumbullimit (normalisht të përfshira kur blini motorshield)
  • Motorët cilindrikë ERM (p.sh. https://www.adafruit.com/product/1438, 5, 50 £/motor)
  • Hekur bashkues dhe tela bashkimi
  • Telat

Opsionale (shiko Shtesat)

Nëse blihet motori ERM me masë rrotulluese të pambuluar:

  • Tub vinyl
  • Pllakë e hollë e butë
  • Printer 3D (për shtresën Arduino)

Nëse dëshironi të përdorni më shumë se 4 motorë (për më shumë se 8 të njëjtën kohë tjetër):

  • Adafruit Motorshield v2.3 dhe titujt meshkuj të grumbullimit
  • Titujt e grumbullimit të femrave (p.sh.
  • Arduino Mega për më shumë se 6 motorë (p.sh.

Hapi 1: Saldimi

Bashkim
Bashkim

Lidhni kunjat në motor motor

Adafruit ofron një tutorial shumë të plotë se si të lidhni titujt në një motor (https://learn.adafruit.com/adafruit-motor-shield-v…):

  1. Së pari, vendosni titujt e grumbullimit në kunjat në Arduino Uno,
  2. Pastaj, vendoseni mburojën në krye, në mënyrë që ana e shkurtër e kunjave të dalë jashtë.
  3. Pas kësaj, lidhni të gjitha kunjat në mburojë dhe sigurohuni që lidhja të rrjedhë rreth kunjit dhe të formojë një formë vullkani (shiko foton më lart, e cila është miratuar nga https://cdn.sparkfun.com/assets/c/d/ a/a/9/523b1189…).

Nëse jeni fillestar në saldim, ndihmoni veten me më shumë mësime, të tilla si

Lidhni tela më të gjatë në motor

Meqenëse shumica e motorëve vijnë pa tela ose shumë të shkurtër dhe të hollë, ka kuptim t'i zgjasim ato duke i bashkuar me tela më të gjatë dhe më të fortë. Ja se si mund ta bëni këtë:

  1. Hiqeni plastikën rreth fundit të telave dhe vendosini në mënyrë që ata të jenë në kontakt me njëri -tjetrin përgjatë telave të tyre të ekspozuar, si në foto.
  2. Lidhini ato së bashku duke prekur fijet e të dy telave dhe duke lënë lidhësin të rrjedhë mbi to.

Hapi 2: Instalimet elektrike

Instalime elektrike
Instalime elektrike
  1. Stack motorshield në majë të Arduino.
  2. Vidhosni motorët në mburojën e motorit.
  3. Sensorë analogë me tela me Arduino (në imazh kjo bëhet me sensorë të dritës, por i njëjti qark duket i njëjtë për sensorët e tjerë analogë).

Hapi 3: Kodimi

Kodimi
Kodimi
Kodimi
Kodimi
Kodimi
Kodimi
Kodimi
Kodimi

1. Shkarkoni

Shkarkoni dosjen zip (SSAD_analogueInputs.zip), bashkangjitur më poshtë. Zbërtheni atë.

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

Hapni skedarin Arduino (SSAD_analogueInputs.ino) që është brenda dosjes së pazbukuruar me Arduino IDE.

2. Instaloni Bibliotekat

Për të ekzekutuar kodin e dhënë, duhet të instaloni disa biblioteka. Pra, nëse skedari Arduino, i bashkangjitur në fund të këtij artikulli, është i hapur brenda IDE Arduino, bëni sa më poshtë:

  1. Kliko: Mjetet → Menaxhoni bibliotekat…
  2. Shikoni për "Bibliotekën Adafruit Motor Shield V2" në Filtro fushën tuaj të kërkimit
  3. Instaloni atë duke klikuar butonin Install

Pas shkarkimit të atyre bibliotekave, tani deklaratat #përfshijnë në kodet e ofruara duhet të funksionojnë. Kontrolloni këtë duke klikuar në butonin "Verifiko" (shënoni në pjesën e sipërme të majtë). Ju e dini që të gjitha bibliotekat funksionojnë, nëse merrni mesazhin "Done compiling" në fund të programit. Përndryshe, shfaqet një shirit i kuq dhe do të merrni një mesazh për atë që shkoi keq.

3. Ndryshoni Kodin

Ndryshoni kodin sipas rastit tuaj të përdorimit duke ndjekur udhëzimet më poshtë:

Inicimi i motorëve dhe daljet e tyre shqisore

Para së gjithash, deklaroni se cilat kunja përdorin motorët, si dhe në cilën gamë funksionojnë motorët. Për shembull, një motor që është ngjitur në M4 dhe punon në një interval (shpejtësie) prej 25 dhe 175 deklarohet kështu (nën komentin KRYESOR):

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

Kur punoni me motorë me dridhje të vogla që drejtohen në një interval deri në 3V, mburoja e motorit duhet të përdoret me kujdes pasi është bërë për drejtimin e motorëve në 4.5VDC deri në 13.5VDC. Për të mos dëmtuar motorët 3V, unë e kufizova në mënyrë programore daljen e Volt -it të mburojës në maksimum 3V (saktësisht 2.95V). Unë e bëra atë duke matur sa shpejtësia maksimale prej 255 është në Volt dhe e matur me një multimetër që kjo është 4.3V. Prandaj, kurrë nuk i kam lejuar motorëve një shpejtësi më të madhe se 175, që është rreth 3V.

Çdo motor do të lidhet me një SensoryOutput.

Një SensoryOutput është i përbërë nga një ose shumë stimuj shqisorë. Për shembull, një motor ose mund të dridhet sipas një sensori të vetëm, ose sipas mesatares së sensorëve të shumtë, të pozicionuar ndryshe.

Prandaj, së pari për secilin motor, duhet të deklarohet një SensoryOutput. Numrat brenda kllapave janë vlera minimale dhe maksimale e asaj që sensori (grupi) mund të perceptojë. Për sensorët analoge kjo është kryesisht 0 dhe 1023:

SensoryOutput output1 = SensoryOutput (0, 1023);

Në funksionin e lakut () secilit motor i caktohet një vlerë dalëse. Këtu ju shkruani shkruani për secilin motor pohimin e mëposhtëm dhe në vend të "output1", çfarëdo vlere SensoryOutput duhet të lidhet me të. Mos harroni të ndryshoni gjithashtu të gjithë emrat "output1" në këtë rresht, nëse përdorni një emër tjetër për të.

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

Nëse dëshironi, mund t'i jepni motorëve të shumtë (p.sh. motor1 dhe motor2) të njëjtin SensoryOutput (p.sh. dalja 1).

Më tej, ju mund t'i jepni vlerat e sensorëve të shumtë një motori (shiko pjesën tjetër).

Përcaktimi i sensorëve

Në funksionin setup () duhet të deklarohet se cilët sensorë do të jenë pjesë e cilit dridhje motorike (SensoryOutput). Këtu është një shembull se si përcaktoni që sensori që është i lidhur me Arduino Pin A0 duhet të përkthehet në dridhje me motor1 dhe rrjedhimisht dalje1:

output1.përfshi (A0);

Nëse daljet e shumta shqisore duhet të kombinohen brenda një dridhje motorike, thjesht mund të shtoni një kunjë tjetër hyrëse analoge në dalje1:

output1.përfshi (A1);

Përndryshe, thjesht vazhdoni me daljen tjetër:

output2.përfshi (A1);

Kombinimi i Sensorëve të Shumëfishtë

Siç u përmend më lart, hyrjet e shumta të sensorit (p.sh. nga A0, A1 dhe A2) mund të çohen në një motor. Kodi, unë ofroj, është duke llogaritur mesataren e vlerave që lexohen nga të gjithë sensorët e përfshirë. Pra, nëse kjo është e mjaftueshme për rastin tuaj të përdorimit dhe thjesht dëshironi të hartoni drejtpërdrejt, për shembull, një hyrje të ulët shqisore në një dridhje të ulët, ju keni mbaruar dhe nuk keni pse të mendoni për sa vijon:

Nëse, megjithatë, keni ide të tjera për atë që dëshironi të bëni me një ose shumë hyrje të para shqisore, mund të bëni sipas ndryshimeve në funksionin int getValue () në klasën SensoryOutput:

int getValue () {

dalja përfundimtare = 0; // TODO bëni çfarë të doni me vlerat shqisore // këtu ndërtohet mesatarja, nëse vlera të shumta kombinohen për (int i = 0; i <curArrayLength; i ++) {finalOutput+= analogRead (valueArray ); } return finalOutput / curArrayLength; }

4. Ngarko kodin në Prototipin tuaj Arduino

Lidhni Prototipin Arduino (nga Hapi 2) në kompjuterin tuaj.

Klikoni Veglat → Port → Zgjidhni Portin, ku Arduino/Genuino Uno është shkruar në kllapa

Klikoni Veglat → Bordi → Arduino/Genuino Uno

Tani, motorët duhet të funksionojnë sipas hyrjeve të sensorëve analoge. Nëse dëshironi, mund ta shkëputni Arduino nga kompjuteri juaj dhe ta lidhni atë me një burim tjetër energjie, si një bateri 9V.

Hapi 4: Zgjatjet e mundshme

Zgjatjet e mundshme
Zgjatjet e mundshme
Zgjatjet e mundshme
Zgjatjet e mundshme
Zgjatjet e mundshme
Zgjatjet e mundshme

Prototipi që sapo keni ndërtuar lejon hyrje ekskluzivisht analoge dhe mund të drejtojë deri në katër motorë. Për më tepër, nuk është ende e veshshme. Nëse doni t'i zgjeroni ato veçori, hidhini një sy udhëzimeve të mëposhtme:

  • Mbulimi i masave rrotulluese të ERM Motors:
  • Duke e bërë SSAD të veshshme:
  • Përdorimi i më shumë se 4 Motors-Stivimi i motorëve të shumtë:
  • Përdorimi i një sensori të afërsisë tejzanor si hyrje SSAD:

Recommended: