Sadržaj:

Vibrotaktilni senzorski uređaj za zamjenu i povećanje (SSAD): 4 koraka
Vibrotaktilni senzorski uređaj za zamjenu i povećanje (SSAD): 4 koraka

Video: Vibrotaktilni senzorski uređaj za zamjenu i povećanje (SSAD): 4 koraka

Video: Vibrotaktilni senzorski uređaj za zamjenu i povećanje (SSAD): 4 koraka
Video: Horizon: Forbidden West (The Movie) 2024, Juli
Anonim
Vibrotaktilni senzorski uređaj za zamjenu i povećanje (SSAD)
Vibrotaktilni senzorski uređaj za zamjenu i povećanje (SSAD)
Vibrotaktilni senzorski uređaj za zamjenu i povećanje (SSAD)
Vibrotaktilni senzorski uređaj za zamjenu i povećanje (SSAD)

Ovaj projekt ima za cilj olakšati istraživanje u području senzorne zamjene i povećanja. Imao sam priliku istražiti različite načine izgradnje vibrotaktilnih SSAD prototipa u okviru svoje magistarske disertacije. Budući da je senzorna zamjena i povećanje tema koja se ne tiče samo informatičara, već i istraživača iz drugih područja, poput kognitivne nauke, upute korak po korak trebale bi omogućiti stručnjacima u elektronici i računarstvu da sastave ovaj prototip za svoje istraživačke svrhe.

Ne namjeravam se oglašavati za točno jednu vrstu robne marke/proizvoda. Ovaj projekat nije sponzorirala nijedna kompanija. Materijal koji sam koristio odabran je zbog tehničkih specifikacija i pogodnosti (brzina/cijena dostave, dostupnost itd.). Za sve proizvode koji se spominju u ovom Uputstvu dostupne su jednako prikladne alternative.

Trenutni Instructable sadrži detaljna uputstva o tome kako izgraditi osnovni SSAD prototip sa do 4 motora i analognih senzora.

Uz ovaj Instructable stvorio sam tri proširenja: Prvo sam objavio upute o tome kako koristiti više od četiri motora sa ovim SSAD prototipom (https://www.instructables.com/id/Using-More-Than-4…). Drugo, stvorio sam ponudu i primjer kako učiniti ovaj prototip nosivim (https://www.instructables.com/id/Making-the-SSAD-W…) i kako pokriti ERM motore bez inkapsulirane rotirajuće mase (https:/ /www.instructables.com/id/Covering-Rotating…). Dalje, objavljen je i primjer kako integrirati druge protokole osim analognih (u ovom slučaju senzore blizine) u prototip (https://www.instructables.com/id/Including-a-Proxi…).

Šta je "Senzorna zamjena i povećanje"?

Sa osjetilnom zamjenom, informacije prikupljene jednim čulnim modalitetom (npr. Vidom) mogu se percipirati kroz drugo osjetilo (npr. Zvuk). To je neinvazivna tehnika koja obećava i pomaže ljudima u prevladavanju osjetilnih gubitaka ili oštećenja.

Ako osjetilni podražaj, koji je preveden, obično nije primjetan od strane ljudskih bića (npr. UV svjetlo), ovaj pristup se naziva Senzorno povećanje.

Koje su vještine potrebne za izradu ovog prototipa?

U osnovi, nisu potrebne napredne vještine programiranja da biste slijedili dolje navedene upute. Međutim, ako ste početnik u lemljenju, isplanirajte dodatno vrijeme za upoznavanje ove tehnike. U slučaju da nikada ranije niste programirali, možda će vam trebati pomoć nekog iskusnijeg u programiranju.

Postoje li potrebni strojevi ili alati koji su skupi ili nisu lako dostupni?

Osim lemilice, za izradu ovog prototipa nisu potrebni nikakvi strojevi ili alati koje ne možete jednostavno kupiti na mreži ili u sljedećoj trgovini za domaćinstvo. Ovaj SSAD je dizajniran da omogući brzo prototipiranje, što znači da bi trebao biti brzo reproduciran i omogućiti jeftino istraživanje ideja.

Supplies

Glavne komponente (oko 65 £ za 4 motora, isključujući opremu za lemljenje)

  • Arduino Uno (npr. Https://store.arduino.cc/arduino-uno-rev3, 20 £)
  • Adafruit Motorshield v2.3 (npr. Https://www.adafruit.com/product/1438, 20 £) i zaglavlja za slaganje muškaraca (obično uključeni prilikom kupovine štitnika za motor)
  • Cilindrični ERM motori (npr. Https://www.adafruit.com/product/1438, 5, 50 £/motor)
  • Lemilica i žica za lemljenje
  • Žice

Opcionalno (vidi proširenja)

Ako se kupi ERM motor s nepokrivenom rotirajućom masom:

  • Vinilna cijev
  • Tanka meka ploča
  • 3D štampač (za Arduino kućište)

Ako želite koristiti više od 4 motora (za više od 8 isti put):

  • Adafruit Motorshield v2.3 i zaglavlja za slaganje muškaraca
  • Zaglavlja za slaganje žena (npr.
  • Arduino Mega za više od 6 motora (npr.

Korak 1: Lemljenje

Lemljenje
Lemljenje

Lemite igle na štitnik motora

Adafruit nudi vrlo opsežan vodič o tome kako zalemiti zaglavlja na štitnik motora (https://learn.adafruit.com/adafruit-motor-shield-v…):

  1. Prvo umetnite zaglavlja za slaganje u pinove na Arduino Uno,
  2. Zatim postavite štit na vrh tako da kratka strana igala strši.
  3. Nakon toga lemite sve igle na štit i pobrinite se da lem teče oko iglice i formira vulkanski oblik (vidi gornju sliku, koja je usvojena sa https://cdn.sparkfun.com/assets/c/d/ a/a/9/523b1189 …).

Ako ste početnik u lemljenju, poslužite se s više vodiča, poput

Lemite duže žice na motor

Budući da većina motora dolazi bez ili vrlo kratkih i tankih žica, ima ih smisla produžiti lemljenjem na duže i robusnije žice. Evo kako to možete učiniti:

  1. Uklonite plastiku oko kraja žica i postavite ih tako da budu u međusobnom dodiru duž izloženih žica, kao na slici.
  2. Lemite ih dodirujući niti obe žice i puštajući lem da teče preko njih.

Korak 2: Ožičenje

Ožičenje
Ožičenje
  1. Složite motorni štit na Arduino.
  2. Uvijte motore u štitnik motora.
  3. Ožičite analogne senzore na Arduino (na slici se to radi sa svjetlosnim senzorima, ali isti krug izgleda isto za ostale analogne senzore).

Korak 3: Kodiranje

Kodiranje
Kodiranje
Kodiranje
Kodiranje
Kodiranje
Kodiranje
Kodiranje
Kodiranje

1. Preuzmite

Preuzmite zip fasciklu (SSAD_analogueInputs.zip), u prilogu ispod. Raspakirajte ga.

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

Otvorite Arduino datoteku (SSAD_analogueInputs.ino) koja se nalazi unutar otpakirane mape s Arduino IDE -om.

2. Instalirajte biblioteke

Da biste pokrenuli navedeni kôd, morate instalirati neke biblioteke. Dakle, ako je Arduino datoteka, koja je priložena na kraju ovog članka, otvorena unutar Arduino IDE -a, učinite sljedeće:

  1. Kliknite: Alati → Upravljanje bibliotekama…
  2. Potražite "Adafruit Motor Shield V2 Library" u Filtrirajte polje za pretraživanje
  3. Instalirajte ga klikom na dugme Install

Nakon preuzimanja tih biblioteka, sada bi naredbe #include u priloženim kodovima trebale funkcionirati. Provjerite to klikom na dugme "Potvrdi" (Označite u gornjem lijevom kutu). Znate da sve biblioteke rade, ako dobijete poruku "Dovršeno kompajliranje" na dnu programa. U suprotnom će se pojaviti crvena traka i dobit ćete poruku šta je pošlo po zlu.

3. Promijenite kôd

Promijenite kôd u skladu sa vašim slučajem upotrebe slijedeći donje upute:

Pokretanje motora i njihovi senzorni izlazi

Prije svega, navedite koje iglice koriste motori, kao i u kojem rasponu motori rade. Na primjer, motor koji je priključen na M4 i radi u rasponu (brzine) od 25 i 175 tako se deklarira (ispod GLAVNOG komentara):

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

Pri radu s motorima s malim vibracijama koji se pokreću u rasponu do 3V, štitnik motora treba koristiti s oprezom jer je napravljen za pogon motora na 4.5VDC do 13.5VDC. Da ne oštetim 3V motore, programski sam ograničio volt izlaz štita na najviše 3V (točno 2,95 V). Učinio sam to mjerenjem koliko je maksimalna brzina 255 u Voltima i multimetrom izmjerio da je to 4,3 V. Stoga nikada nisam dozvolio motorima veću brzinu od 175, što je oko 3V.

Svaki motor bit će povezan s jednim senzorskim izlazom.

Jedan senzorni izlaz sastoji se od jednog ili više osjetilnih podražaja. Na primjer, motor može ili vibrirati prema jednom senzoru ili prema prosjeku više, različito postavljenih senzora.

Stoga se prvo za svaki motor mora prijaviti jedan SensoryOutput. Brojevi unutar zagrada minimalna su i maksimalna vrijednost onoga što senzor (grupa) može opaziti. Za analogne senzore ovo su uglavnom 0 i 1023:

SensoryOutput izlaz1 = SensoryOutput izlaz (0, 1023);

U funkciji loop () svaki motor se tada dodjeljuje jednoj izlaznoj vrijednosti. Ovdje za svaki motor pišete sljedeću naredbu i umjesto "output1", bilo koju vrijednost SensoryOutput koja bi trebala biti povezana s njim. Ne zaboravite promijeniti i sva imena "output1" u ovoj liniji, ako za to koristite neko drugo ime.

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

Ako želite, možete dati više motora (npr. Motor1 i motor2) isti SensoryOutput (npr. Izlaz1).

Nadalje, možete dati vrijednosti više senzora jednom motoru (vidi sljedeći odjeljak).

Definiranje senzora

U funkciji setup () mora se navesti koji će senzori biti dio kojih vibracija motora (SensoryOutput). Evo primjera kako definirate da senzor spojen na Arduino pin A0 treba prevesti u vibracije s motorom1 i posljedično na izlaz1:

output1.include (A0);

Ako više senzorskih izlaza treba kombinirati unutar jedne vibracije motora, možete samo dodati još jedan analogni ulazni pin na izlaz1:

output1.include (A1);

U suprotnom, samo nastavite sa sljedećim izlazom:

output2.include (A1);

Kombinacija više senzora

Kao što je gore spomenuto, više ulaza senzora (npr. Iz A0, A1 i A2) mogu se voditi do jednog motora. Kod koji nudim izračunava prosjek vrijednosti koje očitavaju svi uključeni senzori. Dakle, ako je ovo dovoljno za vaš slučaj upotrebe i jednostavno želite izravno preslikati, na primjer, niski osjetljivi ulaz na niske vibracije, gotovi ste i ne morate razmišljati o sljedećem:

Ako, međutim, imate druge ideje o tome što želite učiniti s jednim ili više sirovih senzornih ulaza, možete napraviti promjene u funkciji int getValue () u klasi SensoryOutput:

int getValue () {

finalOutput = 0; // TODO radi šta god želiš sa osjetilnim vrijednostima // ovdje se gradi prosjek, ako se kombiniraju više vrijednosti za (int i = 0; i <curArrayLength; i ++) {finalOutput+= analogRead (valueArray ); } return finalOutput / curArrayLength; }

4. Postavite kôd na svoj Arduino prototip

Priključite Arduino prototip (od koraka 2) na računalo.

Pritisnite Alati → Port → Odaberite port, gdje je Arduino/Genuino Uno ispisan u zagradama

Pritisnite Alati → Ploča → Arduino/Genuino Uno

Sada bi motori trebali raditi prema ulazima analognih senzora. Ako želite, možete isključiti Arduino sa računara i priključiti ga na drugi izvor napajanja, poput baterije od 9V.

Korak 4: Moguća proširenja

Moguća proširenja
Moguća proširenja
Moguća proširenja
Moguća proširenja
Moguća proširenja
Moguća proširenja

Prototip koji ste upravo izgradili dozvoljava isključivo analogne ulaze i može pokretati do četiri motora. Osim toga, još se ne može nositi. Ako želite proširiti te značajke, pogledajte sljedeće upute:

  • Pokrivanje rotirajućih masa ERM motora:
  • Učinite SSAD nosivim:
  • Korištenje više od 4 motora-Slaganje više štitnika motora:
  • Korištenje ultrazvučnog senzora blizine kao SSAD ulaza:

Preporučuje se: