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, Srpanj
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 znanosti, 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 projekt nije sponzorirala nijedna tvrtka. Materijal koji sam koristio odabran je zbog tehničkih specifikacija i praktičnosti (brzina/cijena dostave, dostupnost itd.). Za sve proizvode koji su spomenuti u ovom Uputu dostupne su jednako prikladne alternative.

Trenutni Instructable sadrži korak-po-korak upute o tome kako izgraditi osnovni SSAD prototip s 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 s 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…). Nadalje, 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…).

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

Sa osjetilnom zamjenom informacije prikupljene jednim osjetilnim 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 se prevodi, normalno ne percipiraju ljudska 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 prije niste programirali, možda će vam trebati pomoć nekoga tko ima više iskustva 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 osmišljen je tako da omogućuje brzo prototipiranje, što znači da bi trebao biti brzo ponovljiv i omogućiti jeftino istraživanje ideja.

Pribor

Glavne komponente (oko 65 £ za 4 motora, bez opreme 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 muški zaglavlja za slaganje (obično uključeni pri kupnji motornog štita)
  • Cilindrični ERM motori (npr. Https://www.adafruit.com/product/1438, 5, 50 £/motor)
  • Lemilica i žica za lemljenje
  • Žice

Izborno (vidi proširenja)

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

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

Ako želite koristiti više od 4 motora (za više od 8 istih puta drugi 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 igle 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 tvori vulkanski oblik (vidi gornju sliku, koja je usvojena s 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. Spajajte ih dodirujući niti obje ž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 vrhu Arduina.
  2. Uvrnite 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 mapu (SSAD_analogueInputs.zip), u nastavku. Raspakirajte ga.

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

Otvorite Arduino datoteku (SSAD_analogueInputs.ino) koja se nalazi u nezapakiranoj mapi s Arduino IDE -om.

2. Instalirajte knjižnice

Da biste pokrenuli navedeni kôd, morate instalirati neke knjižnice. 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 knjižnicama…
  2. Potražite "Adafruit Motor Shield V2 Library" u Filtrirajte polje za pretraživanje
  3. Instalirajte ga klikom na gumb Instaliraj

Nakon preuzimanja tih knjižnica, sada bi naredbe #include u navedenim kodovima trebale funkcionirati. Provjerite to klikom na gumb "Potvrdi" (Označite u gornjem lijevom kutu). Znate da sve knjižnice rade, ako na dnu programa dobijete poruku "Gotovo sastavljanje". U protivnom će se pojaviti crvena traka i dobit ćete poruku o tome što je pošlo po zlu.

3. Promijenite kôd

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

Motori za pokretanje i njihovi osjetni 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 3 V, štitnik motora treba koristiti s oprezom jer je napravljen za motore na naponima od 4,5 V do 13,5 V DC. Kako ne bih oštetio 3V motore, programski sam ograničio Volt izlaz štita na najviše 3V (točno 2,95 V). Učinio sam to tako što sam izmjerio koliko je maksimalna brzina 255 u Voltima i multimetrom izmjerio da je to 4.3V. Stoga nikada nisam dopustio 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 bi mogao 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 (skupina) može opaziti. Za analogne senzore to 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 napišite 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 ovom retku, ako za to koristite neki drugi naziv.

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 se više osjetnih 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);

Kombiniranje više senzora

Kao što je gore spomenuto, više ulaza senzora (npr. Iz A0, A1 i A2) mogu se voditi do jednog motora. Kôd, dostavljam, izračunava prosjek vrijednosti koje očitavaju svi uključeni senzori. Dakle, ako je to dovoljno za vaš slučaj upotrebe i jednostavno želite izravno preslikati, na primjer, niski osjetni ulaz na nisku vibraciju, 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 osjetilnih ulaza, možete napraviti promjene u funkciji int getValue () u klasi SensoryOutput:

int getValue () {

finalOutput = 0; // TODO radi što 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. Prenesite kôd na svoj Arduino prototip

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

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

Pritisnite Alati → Ploča → Arduino/Genuino Uno

Motori bi trebali raditi prema ulazima analognih senzora. Ako želite, možete odspojiti Arduino s računala i priključiti ga na drugi izvor napajanja, poput 9V baterije.

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 omogućuje isključivo analogne ulaze i može pokretati do četiri motora. Nadalje, još se ne može nositi. Ako želite proširiti te značajke, pogledajte sljedeće upute:

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

Preporučeni: