Orodha ya maudhui:

Uingizwaji wa hisia za Vibrotactile na Kifaa cha Kuongeza (SSAD): Hatua 4
Uingizwaji wa hisia za Vibrotactile na Kifaa cha Kuongeza (SSAD): Hatua 4

Video: Uingizwaji wa hisia za Vibrotactile na Kifaa cha Kuongeza (SSAD): Hatua 4

Video: Uingizwaji wa hisia za Vibrotactile na Kifaa cha Kuongeza (SSAD): Hatua 4
Video: Штукатурка стен - самое полное видео! Переделка хрущевки от А до Я. #5 2024, Julai
Anonim
Uingizwaji wa hisia za Vibrotactile na Kifaa cha Kuongeza (SSAD)
Uingizwaji wa hisia za Vibrotactile na Kifaa cha Kuongeza (SSAD)
Uingizwaji wa hisia za Vibrotactile na Kifaa cha Kuongeza (SSAD)
Uingizwaji wa hisia za Vibrotactile na Kifaa cha Kuongeza (SSAD)

Mradi huu unakusudia kuwezesha utafiti katika eneo la Uingizwaji wa Hisia na Kuongeza. Nilikuwa na uwezekano wa kuchunguza njia tofauti za kujenga vibrotactile SSAD prototypes ndani ya tasnifu yangu ya MSc. Kama Uingizwaji wa hisia na kuongeza ni mada ambayo haihusu wanasayansi wa kompyuta tu, bali pia watafiti kutoka nyanja zingine, kama sayansi ya utambuzi, maagizo ya hatua kwa hatua yanapaswa kuwezesha wasio wataalam wa elektroniki na sayansi ya kompyuta kukusanyika mfano huu kwao madhumuni ya utafiti.

Sikusudii kufanya tangazo kwa aina moja tu ya chapa / bidhaa. Mradi huu haukufadhiliwa na kampuni yoyote. Nyenzo, nilizotumia, zilichaguliwa kwa sababu ya ufundi na urahisi (kasi / gharama ya utoaji, upatikanaji, n.k.). Kwa bidhaa zote ambazo zimetajwa katika Maagizo haya, njia mbadala zinazofaa zinapatikana.

Maagizo ya sasa yana maagizo ya hatua kwa hatua ya jinsi ya kujenga mfano wa msingi wa SSAD na motors hadi 4 na sensorer za analog.

Kwa kuongeza kwa hii inayoweza kufundishwa nimeunda viendelezi vitatu: Kwanza, nilichapisha maagizo juu ya jinsi ya kutumia motors zaidi ya nne na mfano huu wa SSAD (https://www.instructables.com/id/Using-More-Than-4…). Pili, niliunda kutoa na mfano wa jinsi ya kufanya mfano huu uvae (https://www.instructables.com/id/Making-the-SSAD-W…) na jinsi ya kufunika motors za ERM bila misa iliyozunguka iliyozungukwa (https: / / / / / / / / / / / / / / / / / Instructables.com/id / Kufunika- Kuzunguka ……..) Kwa kuongezea, mfano wa jinsi ya kujumuisha sensorer za analogi (katika kesi hii sensorer ya ukaribu) na mfano pia imechapishwa (https://www.instructables.com/id/Including-a-Proxi…).

Je! "Kubadilisha hisia na Kuongeza" ni nini?

Pamoja na Uingiliano wa Hisia habari iliyokusanywa na hali moja ya hisia (k.v kuona) inaweza kutambuliwa kupitia hisia nyingine (k.v sauti). Ni mbinu ya kuahidi isiyo vamizi ambayo husaidia watu kushinda upotezaji wa hisia au kuharibika.

Ikiwa kichocheo cha hisia, ambacho kinatafsiriwa, kawaida hakiwezi kutambuliwa na wanadamu (kwa mfano nuru ya UV), njia hii inaitwa Uongezaji wa hisia.

Je! Ni ustadi gani unahitajika kujenga mfano huu?

Kimsingi, hakuna ustadi wa hali ya juu wa programu unahitajika kufuata maagizo, yaliyotolewa hapa chini. Walakini, ikiwa wewe ni mwanzilishi wa kuuza, panga wakati wa ziada ili ujue mbinu hii. Ikiwa haujawahi kusanidi hapo awali, usaidizi kutoka kwa mtu aliye na uzoefu zaidi katika programu unaweza kuhitajika.

Je! Kuna mashine yoyote au zana muhimu ambazo ni za bei ghali au hazipatikani kwa urahisi?

Isipokuwa chuma cha kutengeneza, hakuna mashine au zana zinazohitajika kwa kujenga mfano huu ambao huwezi kununua kwa urahisi mkondoni au katika duka linalofuata la kaya. SSAD hii imeundwa kuruhusu prototyping ya haraka, ambayo inamaanisha kuwa inapaswa kuzalishwa haraka na kuruhusu uchunguzi wa bei nafuu wa maoni.

Vifaa

Sehemu kuu (karibu 65 £ kwa motors 4, isipokuwa vifaa vya kuuza)

  • Arduino Uno (k.m. https://store.arduino.cc/arduino-uno-rev3, 20 £)
  • Adafruit Motorshield v2.3 (kwa mfano.
  • Motors za cylindrical ERM (k.m. https://www.adafruit.com/product/1438, 5, 50 £ / motor)
  • Chuma cha kulehemu na waya ya kutengeneza
  • Waya

Hiari (angalia Viendelezi)

Ikiwa gari la ERM na misa iliyozunguka isiyofunuliwa inunuliwa:

  • Bomba la vinyl
  • Bodi nyembamba laini
  • Printa ya 3D (kwa casing ya Arduino)

Ikiwa unataka kutumia zaidi ya motors 4 (kwa zaidi ya 8 sawa wakati mwingine):

  • Adafruit Motorshield v2.3 na vichwa vya kupandikiza wanaume
  • Vichwa vya mkusanyiko wa kike (k.m.
  • Arduino Mega kwa zaidi ya motors 6 (k.m.

Hatua ya 1: Kufunga

Kufundisha
Kufundisha

Solder pini kwenye gari ya gari

Adafruit inatoa mafunzo kamili ya jinsi ya kutengeneza vichwa vya kichwa kwa gari (https://learn.adafruit.com/adafruit-motor-shield-v…):

  1. Kwanza, weka vichwa vya kichwa kwenye pini kwenye Arduino Uno,
  2. Kisha, weka ngao juu, ili upande mfupi wa pini ushike nje.
  3. Baada ya hapo, weka pini zote kwenye ngao na uhakikishe kuwa solder inapita karibu na pini na kuunda umbo la volkano (angalia picha hapo juu, ambayo imepitishwa kutoka https://cdn.sparkfun.com/assets/c/d/ a / a / 9 / 523b1189…).

Ikiwa wewe ni mwanzilishi wa kuuza, jisaidie na mafunzo zaidi, kama vile https://learn.sparkfun.com/tutorials/how-to-solder …….

Solder waya mrefu kwa motor

Kwa kuwa motors nyingi huja bila waya au mfupi sana na nyembamba, ni busara kuziongezea kwa kuziunganisha kwa waya ndefu na zenye nguvu zaidi. Hivi ndivyo unaweza kufanya hivyo:

  1. Ondoa plastiki karibu na mwisho wa waya na uziweke ili waweze kuwasiliana na kila mmoja kwenye waya zao zilizo wazi, kama kwenye picha.
  2. Waunganishe pamoja kwa kugusa nyuzi zote mbili za waya na kuruhusu solder itiririka juu yao.

Hatua ya 2: Wiring

Wiring
Wiring
  1. Hifadhi ya gari iliyo juu ya Arduino.
  2. Piga motors kwenye gari la gari.
  3. Sensorer za analog za waya kwa Arduino (kwa picha hii inafanywa na sensorer nyepesi, lakini mzunguko huo huo unafanana kwa sensorer zingine za analogi).

Hatua ya 3: Usimbuaji

Kuandika
Kuandika
Kuandika
Kuandika
Kuandika
Kuandika
Kuandika
Kuandika

1. Pakua

Pakua folda ya zip (SSAD_analogueInputs.zip), iliyoambatanishwa hapa chini. Fungua zip.

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

Fungua faili ya Arduino (SSAD_analogueInputs.ino) ambayo iko ndani ya folda isiyofunguliwa na IDE ya Arduino.

2. Sakinisha Maktaba

Kwa kuendesha nambari iliyotolewa, unahitaji kusanikisha maktaba kadhaa. Kwa hivyo, ikiwa faili ya Arduino, ambayo imeambatishwa mwishoni mwa kifungu hiki, iko wazi ndani ya IDE ya Arduino, fanya yafuatayo:

  1. Bonyeza: Zana → Dhibiti Maktaba…
  2. Tafuta "Maktaba ya Adafruit Motor Shield V2" kwenye Kichujio cha uwanja wako wa utaftaji
  3. Sakinisha kwa kubofya Kitufe cha Sakinisha

Baada ya kupakua maktaba hizo, sasa #kujumuisha taarifa kwenye nambari zilizopewa zinapaswa kufanya kazi. Angalia hiyo kwa kubofya kitufe cha "Thibitisha" (Weka alama juu kushoto). Unajua kwamba maktaba zote zinafanya kazi, ikiwa wewe ndio unapata ujumbe "Umekamilisha kuandaa" chini ya programu. Vinginevyo bar nyekundu inaonekana na utapata ujumbe wa kile kilichoharibika.

3. Badilisha Kanuni

Badilisha msimbo kulingana na kesi yako ya matumizi kwa kufuata maagizo hapa chini:

Kuanzisha Motors na Matokeo yao ya Sensory

Kwanza kabisa, tangaza ni pini gani zinazotumiwa na motors, na vile vile ni katika safu gani motors inafanya kazi. Kwa mfano, motor ambayo imeambatanishwa na M4 na inafanya kazi katika (kasi) ya 25 na 175 imetangazwa kama hiyo (chini ya maoni MAIN):

Pikipiki 1 = Pikipiki (4, 25, 175);

Wakati wa kufanya kazi na motors ndogo za kutetemeka ambazo zinaendeshwa kwa anuwai hadi 3V, gari ya gari inapaswa kutumiwa kwa uangalifu kwani imetengenezwa kwa kuendesha motors kwenye 4.5VDC hadi 13.5VDC. Ili nisiharibu motors za 3V, kwa utaratibu nilizuia pato la Volt ya ngao hadi kiwango cha juu cha 3V (haswa 2.95V). Nilifanya hivyo kwa kupima kiwango cha juu cha 255 iko katika Volt na kupimwa na multimeter kwamba hii ni 4.3V. Kwa hivyo, sikuwahi kuruhusu mwendo wa kasi zaidi ya 175, ambayo ni karibu 3V, kwa motors.

Kila gari itaunganishwa na moja ya Utoaji wa Sensory.

Pato moja la hisia linajumuisha kichocheo kimoja au vingi vya hisia. Kwa mfano, motor inaweza kutetemeka kulingana na sensorer moja, au kulingana na wastani wa sensorer nyingi, zenye msimamo tofauti.

Kwa hivyo, kwanza kwa kila motor, moja ya SensoryOutput inapaswa kutangazwa. Nambari zilizo ndani ya mabano ni kiwango cha chini na kiwango cha juu cha kile chombo (kikundi) kinaweza kutambua. Kwa sensorer za analogi hii ni 0 na 1023:

Pato la SensoryOutput1 = SensoryOutput (0, 1023);

Katika kitanzi () kazi kila gari inapewa dhamana moja ya pato. Hapa unaandika andika kwa kila motor taarifa ifuatayo na badala ya "pato1", Thamani yoyote ya Pato la Sensory inapaswa kushikamana nayo. Usisahau pia kubadilisha majina yote ya "pato1" katika mstari huu, ikiwa unatumia jina lingine kwa hiyo.

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

Ikiwa unataka, unaweza kutoa motors nyingi (k.m motor1 na motor2) hiyo hiyo SensoryOutput (k.m pato1).

Kwa kuongezea, unaweza kutoa maadili ya sensorer nyingi kwa motor moja (tazama sehemu inayofuata).

Kufafanua Sensorer

Katika kazi ya usanidi () inapaswa kutangazwa ni sensorer zipi zitakuwa sehemu ya mtetemo wa gari (SensoryOutput). Hapa kuna mfano wa jinsi unavyofafanua kwamba sensorer ambayo imeunganishwa na Pini ya Arduino A0 inapaswa kutafsiriwa kuwa mitetemo na motor1 na matokeo yake1:

pato1 pamoja na (A0);

Ikiwa matokeo mengi ya hisia yanapaswa kuunganishwa ndani ya mtetemeko mmoja wa gari, unaweza kuongeza tu pini nyingine ya pembejeo ya analog kwa pato1:

pato1 pamoja na (A1);

Vinginevyo, endelea na pato linalofuata:

pato2 pamoja na (A1);

Kuchanganya Sensorer Nyingi

Kama ilivyoelezwa hapo juu, pembejeo nyingi za sensorer (k.m kutoka A0, A1 na A2) zinaweza kuongozwa kwa gari moja. Nambari ninayotoa, inahesabu wastani wa maadili ambayo husomwa na sensorer zote zilizojumuishwa. Kwa hivyo, ikiwa hii ni ya kutosha kwa kesi yako ya matumizi na unataka tu ramani moja kwa moja, kwa mfano, pembejeo ya chini ya hisia kwa mtetemeko mdogo, umemaliza na sio lazima ufikirie juu ya yafuatayo:

Ikiwa wewe, hata hivyo, una maoni mengine ya kile unachotaka kufanya na pembejeo moja au nyingi mbichi za hisia, unaweza kufanya kulingana na mabadiliko katika kazi int getValue () katika darasa la SensoryOutput:

intValue () {

mwishoOutput = 0; // TODO fanya chochote unachotaka na maadili ya hisia // hapa wastani umejengwa, ikiwa maadili kadhaa yamejumuishwa kwa (int i = 0; i <curArrayLength; i ++) {finalOutput + = analogRead (valueArray ); } kurudi mwishoOutput / curArrayLength; }

4. Pakia Nambari kwa Mfano wako wa Arduino

Chomeka Aina ya Arduino (kutoka Hatua ya 2) hadi kwa PC yako.

Bonyeza Zana → Bandari → Chagua Bandari, ambapo Arduino / Genuino Uno imeandikwa kwenye mabano

Bonyeza Zana → Bodi → Arduino / Genuino Uno

Sasa, motors zinapaswa kukimbia kulingana na pembejeo za sensorer za analog. Ikiwa unataka, unaweza kutenganisha Arduino kutoka kwako PC na kuiunganisha kwa chanzo kingine cha nguvu, kama betri ya 9V.

Hatua ya 4: Viendelezi vinavyowezekana

Viendelezi vinavyowezekana
Viendelezi vinavyowezekana
Viendelezi vinavyowezekana
Viendelezi vinavyowezekana
Viendelezi vinavyowezekana
Viendelezi vinavyowezekana

Mfano ambao umeunda tu unaruhusu pembejeo za analog pekee na inaweza kuendesha hadi motors nne. Kwa kuongezea, bado haiwezi kuvaliwa. Ikiwa unataka kupanua huduma hizo, angalia maagizo yafuatayo:

  • Kufunika Misa zinazozunguka za Motors za ERM:
  • Kufanya SSAD Ivaliwe:
  • Kutumia zaidi ya 4 Motors - Stacking multiple motorshields:
  • Kutumia sensorer ya ukaribu wa ultrasonic kama uingizaji wa SSAD:

Ilipendekeza: