Kazalo:
Video: Vibrotaktilna senzorska naprava za zamenjavo in povečanje (SSAD): 4 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Namen tega projekta je olajšati raziskave na področju senzorične zamenjave in povečanja. Imel sem možnost raziskati različne načine gradnje vibrotaktilnih prototipov SSAD v svoji magistrski nalogi. Ker sta senzorična zamenjava in povečanje tema, ki ne zadeva le računalničarjev, ampak tudi raziskovalce z drugih področij, kot je kognitivna znanost, bi morala navodila po korakih omogočiti, da strokovnjaki za elektroniko in računalništvo sami izdelajo ta prototip raziskovalne namene.
Ne nameravam oglaševati točno ene vrste blagovne znamke/izdelka. Ta projekt ni sponzoriralo nobeno podjetje. Material, ki sem ga uporabil, je bil izbran zaradi tehničnih specifikacij in udobja (hitrost/stroški dostave, razpoložljivost itd.). Za vse izdelke, omenjene v tem navodilu, so na voljo enako ustrezne alternative.
Trenutni Instructable vsebuje navodila po korakih za izdelavo osnovnega prototipa SSAD z do 4 motorji in analognimi senzorji.
Poleg tega Instructable sem ustvaril tri razširitve: Prvič, objavil sem navodila za uporabo več kot štirih motorjev s tem prototipom SSAD (https://www.instructables.com/id/Using-More-Than-4…). Drugič, ustvaril sem ponudbo in primer, kako narediti ta prototip nosljiv (https://www.instructables.com/id/Making-the-SSAD-W…) in kako pokriti ERM motorje brez inkapsulirane vrtljive mase (https:/ /www.instructables.com/id/Covering-Rotating…). Poleg tega je objavljen tudi primer, kako v prototip vključiti drugačne kot analogne senzorje (v tem primeru senzorje bližine) (https://www.instructables.com/id/Including-a-Proxi…).
Kaj je "senzorična zamenjava in povečanje"?
S senzorično zamenjavo lahko informacije, zbrane z eno senzorično modalnostjo (npr. Vid), zaznamo z drugim čutom (npr. Zvokom). To je obetavna neinvazivna tehnika, ki ljudem pomaga pri premagovanju senzorične izgube ali okvare.
Če čutni dražljaj, ki je preveden, običajno ne zaznajo ljudje (npr. UV svetloba), se ta pristop imenuje Senzorično povečanje.
Kakšne veščine so potrebne za izdelavo tega prototipa?
V bistvu za sledenje spodnjim navodilom niso potrebne nobene napredne veščine programiranja. Če pa ste začetnik spajkanja, načrtujte nekaj dodatnega časa, da spoznate to tehniko. Če še nikoli niste programirali, bo morda potrebna pomoč nekoga, ki ima več izkušenj s programiranjem.
Ali so potrebni stroji ali orodja, ki so draga ali niso na voljo enostavno?
Razen spajkalnika za izdelavo tega prototipa niso potrebni nobeni stroji ali orodja, ki jih ne morete zlahka kupiti na spletu ali v naslednji gospodinjski trgovini. Ta SSAD je zasnovan tako, da omogoča hitro izdelavo prototipov, kar pomeni, da mora biti hitro ponovljiv in omogoča poceni raziskovanje idej.
Zaloge
Glavni sestavni deli (približno 65 £ za 4 motorje, brez opreme za spajkanje)
- Arduino Uno (npr. Https://store.arduino.cc/arduino-uno-rev3, 20 £)
- Adafruit Motorshield v2.3 (npr. Https://www.adafruit.com/product/1438, 20 £) in glave za zlaganje samcev (običajno vključene pri nakupu motornega ščita)
- Cilindrični motorji ERM (npr. Https://www.adafruit.com/product/1438, 5, 50 £/motor)
- Spajkalnik in spajkalna žica
- Žice
Izbirno (glejte razširitve)
Če kupite motor ERM z nepokrito vrtljivo maso:
- Vinilna cev
- Tanka mehka plošča
- 3D tiskalnik (za ohišje Arduino)
Če želite uporabiti več kot 4 motorje (več kot 8 istih drugič):
- Adafruit Motorshield v2.3 in moški zložljive glave
- Ženske zložljive glave (npr.
- Arduino Mega za več kot 6 motorjev (npr.
1. korak: Spajkanje
Zataknite zatiče na motorni ščit
Adafruit ponuja zelo obsežno vadnico o tem, kako spajkati glave na motorni ščit (https://learn.adafruit.com/adafruit-motor-shield-v…):
- Najprej vstavite glave za zlaganje v zatiče na Arduino Uno,
- Nato položite ščit na vrh, tako da bo kratka stran zatičev štrlela ven.
- Po tem spajite vse zatiče na ščit in se prepričajte, da spajka teče okoli zatiča in tvori vulkansko obliko (glejte sliko zgoraj, ki je sprejeta s https://cdn.sparkfun.com/assets/c/d/ a/a/9/523b1189…).
Če ste začetnik spajkanja, si pomagajte z več vajami, na primer
Spajkajte daljše žice na motor
Ker večina motorjev prihaja brez ali zelo kratkih in tankih žic, jih je smiselno podaljšati tako, da jih spajkamo na daljše in robustnejše žice. Evo, kako lahko to storite:
- Odstranite plastiko okoli konca žic in jih postavite tako, da bodo v stiku med seboj vzdolž izpostavljenih žic, kot je na sliki.
- Spajate jih tako, da se dotaknete niti obeh žic in pustite, da spajka teče po njih.
2. korak: Ožičenje
- Zložite motorni ščit na vrhu Arduina.
- Motorje privijte v ščit motorja.
- Priključite analogne senzorje na Arduino (na sliki se to naredi s svetlobnimi senzorji, vendar isto vezje izgleda enako za druge analogne senzorje).
3. korak: Kodiranje
1. Prenos
Prenesite zip mapo (SSAD_analogueInputs.zip), priloženo spodaj. Odpakirajte.
Prenesite Arduino IDE (https://www.arduino.cc/en/main/software).
Odprite datoteko Arduino (SSAD_analogueInputs.ino), ki je v nezapakirani mapi z Arduino IDE.
2. Namestite knjižnice
Za zagon priložene kode morate namestiti nekaj knjižnic. Če je datoteka Arduino, ki je priložena na koncu tega članka, odprta v Arduino IDE, naredite naslednje:
- Kliknite: Orodja → Upravljanje knjižnic…
- V polju Filtrirajte iskalno polje poiščite "Knjižnica Adafruit Motor Shield V2"
- Namestite ga s klikom na gumb Namesti
Po prenosu teh knjižnic bi zdaj morali delovati stavki #include v podanih kodah. Preverite to s klikom na gumb "Preveri" (označite na levem vrhu). Veste, da vse knjižnice delujejo, če na dnu programa dobite sporočilo "Kompilacija je končana". V nasprotnem primeru se prikaže rdeča vrstica in dobili boste sporočilo, kaj je šlo narobe.
3. Spremenite kodo
Kodo spremenite glede na vaš primer uporabe, tako da sledite spodnjim navodilom:
Zagon motorjev in njihovi senzorični izhodi
Najprej določite, katere zatiče uporabljajo motorji in v kakšnem obsegu delujejo motorji. Na primer, motor, ki je priključen na M4 in deluje v območju (hitrosti) 25 in 175, je tako razglašen (pod glavnim komentarjem):
Motor motorja1 = motor (4, 25, 175);
Pri delu z motorji z majhnimi vibracijami, ki se poganjajo v območju do 3 V, je treba ščit motorja uporabljati previdno, saj je namenjen za delovanje motorjev na napetostih od 4,5 V do 13,5 V DC. Da ne poškodujem 3V motorjev, sem programsko omejil voltov izhod ščita na največ 3 V (natančno 2,95 V). To sem naredil tako, da sem izmeril, koliko je največja hitrost 255 v voltih, in z multimetrom izmeril, da je to 4,3 V. Zato motorjem nikoli nisem dovolil večje hitrosti od 175, kar je približno 3V.
Vsak motor bo povezan z enim senzorskim izhodom.
En senzorični izhod je sestavljen iz enega ali več senzoričnih dražljajev. Na primer, motor bi lahko vibriral v skladu z enim samim senzorjem ali glede na povprečje več, različno nameščenih senzorjev.
Zato je treba najprej za vsak motor prijaviti en SensoryOutput. Številke v oklepajih so najmanjša in največja vrednost tega, kar zazna senzor (skupina). Za analogne senzorje sta to večinoma 0 in 1023:
SensoryOutput output1 = SensoryOutput output (0, 1023);
V funkciji loop () je vsakemu motorju dodeljena ena izhodna vrednost. Tukaj za vsak motor napišete naslednjo izjavo in namesto "output1", kakršno koli vrednost SensoryOutput naj bo povezana z njim. Ne pozabite spremeniti tudi vseh "output1" imen v tej vrstici, če za to uporabite drugo ime.
motor1.drive (output1.getValue (), output1.getMin (), output1.getMax ());
Če želite, lahko daste več motorjev (npr. Motorja 1 in motorja 2) isti SensoryOutput (npr. Izhod 1).
Poleg tega lahko enemu motorju daste vrednosti več senzorjev (glejte naslednje poglavje).
Določanje senzorjev
V funkciji setup () je treba navesti, kateri senzorji bodo del katerih vibracij motorja (SensoryOutput). Tukaj je primer, kako določite, da je treba senzor, ki je priključen na Arduino Pin A0, pretvoriti v vibracije z motorjem1 in posledično izhod1:
output1.include (A0);
Če je treba v eni vibraciji motorja združiti več senzorskih izhodov, lahko izhodu samo dodate še en analogni vhodni pin:
output1.include (A1);
V nasprotnem primeru nadaljujte z naslednjim izhodom:
output2.include (A1);
Kombinacija več senzorjev
Kot je navedeno zgoraj, je mogoče do enega motorja voditi več vhodov senzorjev (npr. Iz A0, A1 in A2). Koda, ki jo posredujem, izračuna povprečje vrednosti, ki jih preberejo vsi vključeni senzorji. Torej, če je to dovolj za vaš primer uporabe in želite preprosto na primer preslikati nizki senzorični vnos na nizke vibracije, ste končali in vam ni treba razmišljati o naslednjem:
Če pa imate druge ideje o tem, kaj želite narediti z enim ali več surovimi senzoričnimi vhodi, lahko to naredite v skladu s spremembami funkcije int getValue () v razredu SensoryOutput:
int getValue () {
finalOutput = 0; // TODO naredi s senzoričnimi vrednostmi vse, kar hočeš // tukaj je zgrajeno povprečje, če se združi več vrednosti za (int i = 0; i <curArrayLength; i ++) {finalOutput+= analogRead (valueArray ); } return finalOutput / curArrayLength; }
4. Naložite kodo v svoj prototip Arduino
Priključite prototip Arduino (od koraka 2) do računalnika.
Kliknite Orodja → Vrata → Izberite vrata, kjer je v oklepajih zapisano Arduino/Genuino Uno
Kliknite Orodja → Kartica → Arduino/Genuino Uno
Zdaj bi morali motorji delovati v skladu z vhodi analognih senzorjev. Če želite, lahko Arduino odklopite iz računalnika in ga priključite na drug vir napajanja, na primer 9V baterijo.
4. korak: Možne razširitve
Prototip, ki ste ga pravkar zgradili, omogoča izključno analogne vhode in lahko poganja do štiri motorje. Poleg tega še ni nosljiva. Če želite razširiti te funkcije, si oglejte naslednja navodila:
- Pokrivanje vrtljivih mas ERM motorjev:
- Kako narediti SSAD nosljiv:
- Uporaba več kot 4 motorjev-Zlaganje več motornih ščitov:
- Uporaba ultrazvočnega senzorja bližine kot vhoda SSAD:
Priporočena:
Naprava ASS (protidruštvena socialna naprava): 7 korakov
Naprava ASS (antisocialna družabna naprava): recimo, da ste nekakšna oseba, ki je rada v bližini ljudi, vendar jim ni všeč, da bi se jim približali. Prav tako ste ljubitelj ljudi in težko rečete ne ljudem. Zato ne veste, kako jim reči, naj odstopijo. No, vnesite - naprava ASS! Y
Navodila za zamenjavo priključka za polnjenje USB: 13 korakov
Priročnik za zamenjavo polnilnega priključka USB: Popravilo elektronike je postalo redka praksa. Vsi smo razvili navado, da odstranjujemo staro okvarjeno elektroniko in dobimo novo. Resnica pa je, da je odpravljanje napak v elektroniki stroškovno učinkovita možnost kot nabava novega pripomočka. B
2011 17 "Vodnik za zamenjavo procesorja Macbook Pro: 11 korakov
2011 17 "Vodnik za zamenjavo CPU -ja Macbook Pro: To je vodnik o tem, kako priti do CPU -ja in ga zamenjati na 17 -letnem računalniku Macbook Pro 17" 2011
Kako zgraditi blok zamenjavo v Minecraftu: 9 korakov
Kako zgraditi blok zamenjavo v Minecraftu: To je preprosta vadnica o tem, kako zgraditi zamenjavo blokov v Minecraftu
RPIEasy - več senzorska naprava na osnovi RPI: 6 korakov
RPIEasy - Naprava z več senzorji, ki temelji na RPI: Če kdo načrtuje izdelavo senzorjev DIY, potem poleg priljubljenega ESP8266 poceni in nizko porabo " Raspberry Pi Zero W " modell je tudi precejšnja možnost. RPI Zero W stane približno 10 USD, njegova poraba energije pa je