Sadržaj:
Video: Vibrotaktilni senzorski uređaj za zamjenu i povećanje (SSAD): 4 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
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
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…):
- Prvo umetnite zaglavlja za slaganje u pinove na Arduino Uno,
- Zatim postavite štit na vrh tako da kratka strana igala strši.
- 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:
- Uklonite plastiku oko kraja žica i postavite ih tako da budu u međusobnom dodiru duž izloženih žica, kao na slici.
- Lemite ih dodirujući niti obe žice i puštajući lem da teče preko njih.
Korak 2: Ožičenje
- Složite motorni štit na Arduino.
- Uvijte motore u štitnik motora.
- 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
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:
- Kliknite: Alati → Upravljanje bibliotekama…
- Potražite "Adafruit Motor Shield V2 Library" u Filtrirajte polje za pretraživanje
- 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
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:
ASS uređaj (antisocijalni društveni uređaj): 7 koraka
ASS uređaj (antisocijalni društveni uređaj): Recimo da ste osoba koja voli biti u blizini ljudi, ali ne voli da im se približavaju. Takođe volite ljude i teško vam je reći ljudima ne. Tako da ne znate kako im reći da odustanu. Pa, unesite - ASS uređaj! Y
Vodič za zamjenu USB konektora za punjenje: 13 koraka
Vodič za zamjenu USB priključka za punjenje: Popravljanje elektronike postalo je rijetka praksa. Svi smo razvili naviku izbacivanja stare neispravne elektronike i nabavke nove. Ali istina je da je popravljanje greške u elektronici isplativa opcija od nabavke novog gadgeta. B
2011 17 "Vodič za zamjenu CPU -a Macbook Pro: 11 koraka
2011 17 "Macbook Pro Vodič za zamenu CPU -a: Ovo je vodič o tome kako doći do i zameniti CPU na 2011 17 " Macbook Pro
Napravite senzorski uređaj za zatvoreno okruženje: 4 koraka
Izgradite senzorski uređaj za zatvoreno okruženje: Danas su ljudi više zabrinuti zbog kvalitete zatvorenog prostora u kojem žive jer je to blisko povezano s njihovim zdravljem. Važnost kvalitetnijeg života uključuje spoznaju da imate poboljšane životne uslove. I ja sam veoma dio
Kako izgraditi zamjenu blokova u Minecraftu: 9 koraka
Kako izgraditi zamjenu blokova u Minecraftu: Ovo je jednostavan vodič o tome kako izgraditi zamjenu blokova u Minecraftu