Cuprins:
Video: Dispozitiv de înlocuire și mărire senzorială vibrotactilă (SSAD): 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:41
Acest proiect își propune să faciliteze cercetarea în domeniul substituției senzoriale și măririi. Am avut posibilitatea de a explora diferite moduri de construire a prototipurilor vibrotactile SSAD în cadrul disertației mele de masterat. Întrucât înlocuirea și mărirea senzorială este un subiect care îi privește nu numai pe informaticieni, ci și pe cercetători din alte domenii, cum ar fi știința cognitivă, o instrucțiune pas cu pas ar trebui să le permită non-experților în electronică și informatică să asambleze acest prototip pentru propriile lor scopuri de cercetare.
Nu intenționez să fac reclamă pentru un singur tip de marcă / produs. Acest proiect nu a fost sponsorizat de nicio companie. Materialul, pe care l-am folosit, a fost ales datorită specificațiilor tehnice și comodității (viteza / costul livrării, disponibilitatea etc.). Pentru toate produsele menționate în acest instructabil, sunt disponibile alternative la fel de adecvate.
Actualul Instructable conține instrucțiuni pas cu pas despre cum să construiți un prototip SSAD de bază cu până la 4 motoare și senzori analogici.
În plus față de acest Instructable am creat trei extensii: În primul rând, am publicat instrucțiuni despre cum să utilizați mai mult de patru motoare cu acest prototip SSAD (https://www.instructables.com/id/Using-More-Than-4…). În al doilea rând, am creat furnizarea și exemplul modului de a face acest prototip purtabil (https://www.instructables.com/id/Making-the-SSAD-W…) și cum să acoperim motoarele ERM fără masa rotativă încapsulată (https: / /www.instructables.com/id/Covering-Rotating…). Mai mult, este publicat și un exemplu de integrare a altor senzori analogici (în acest caz senzori de proximitate) la prototip (https://www.instructables.com/id/Including-a-Proxi…).
Ce este „înlocuirea și mărirea senzorială”?
Cu substituția senzorială, informațiile colectate de o modalitate senzorială (de exemplu, vedere) pot fi percepute printr-un alt sens (de exemplu, sunetul). Este o tehnică promițătoare neinvazivă, care ajută oamenii să depășească pierderea sau afectarea senzorială.
Dacă stimulul senzorial, care este tradus, nu este în mod normal perceput de ființele umane (de exemplu, lumina UV), această abordare se numește Augmentare senzorială.
Ce abilități sunt necesare pentru a construi acest prototip?
Practic, nu sunt necesare abilități avansate de programare pentru a urma instrucțiunile furnizate mai jos. Cu toate acestea, dacă sunteți începător în lipire, planificați un timp suplimentar pentru a cunoaște această tehnică. În cazul în care nu ați programat niciodată înainte, ar putea fi necesară asistență de la cineva cu mai multă experiență în programare.
Există mașini sau scule necesare care sunt scumpe sau care nu sunt disponibile cu ușurință?
Cu excepția unui fier de lipit, nu sunt necesare mașini sau scule pentru construirea acestui prototip pe care nu îl puteți cumpăra cu ușurință online sau în următorul magazin de uz casnic. Acest SSAD este conceput pentru a permite prototiparea rapidă, ceea ce înseamnă că ar trebui să fie repede reproductibil și să permită o explorare ieftină a ideilor.
Provizii
Componente principale (aproximativ 65 GBP pentru 4 motoare, cu excepția echipamentului de lipit)
- Arduino Uno (de ex. Https://store.arduino.cc/arduino-uno-rev3, 20 £)
- Adafruit Motorshield v2.3 (de ex. Https://www.adafruit.com/product/1438, 20 £) și anteturi de stivuire masculine (incluse în mod normal la cumpărarea paravanului)
- Motoare ERM cilindrice (de ex. Https://www.adafruit.com/product/1438, 5, 50 £ / motor)
- Fier de lipit și sârmă de lipit
- Fire
Opțional (consultați Extensii)
Dacă se cumpără motor ERM cu masă rotativă neacoperită:
- Tub de vinil
- Placă moale subțire
- Imprimantă 3D (pentru carcasă Arduino)
Dacă doriți să utilizați mai mult de 4 motoare (pentru mai mult de 8 același timp o dată):
- Adafruit Motorshield v2.3 și anteturi de stivuire masculine
- Anteturi de stivuire feminine (de exemplu,
- Arduino Mega pentru mai mult de 6 motoare (de ex.
Pasul 1: lipire
Lipiți pinii pe ecranul motorului
Adafruit oferă un tutorial foarte cuprinzător despre cum să lipiți anteturile pe un motor (https://learn.adafruit.com/adafruit-motor-shield-v…):
- În primul rând, puneți anteturile de stivuire în știfturile de pe Arduino Uno,
- Apoi, așezați scutul deasupra, astfel încât partea scurtă a știfturilor să iasă.
- După aceea, lipiți toate știfturile pe scut și asigurați-vă că lipirea curge în jurul știftului și formează o formă de vulcan (a se vedea imaginea de mai sus, care este adoptată de la https://cdn.sparkfun.com/assets/c/d/ a / a / 9 / 523b1189 …).
Dacă sunteți un începător în lipire, ajutați-vă cu mai multe tutoriale, cum ar fi
Lipiți fire mai lungi la motor
Deoarece majoritatea motoarelor vin fără fire foarte subțiri sau foarte scurte, este logic să le extindeți prin lipirea lor pe fire mai lungi și mai robuste. Iată cum ați putea face asta:
- Îndepărtați plasticul din jurul capătului firelor și poziționați-le astfel încât să fie în contact unul cu celălalt de-a lungul firelor expuse, ca în imagine.
- Lipiți-le împreună atingând firele ambelor fire și lăsând lipirea să curgă peste ele.
Pasul 2: Cablare
- Stivați ecranul motor deasupra Arduino.
- Înșurubați motoarele în parbrizul motorului.
- Conectați senzorii analogici la Arduino (în imagine acest lucru se face cu senzori de lumină, dar același circuit arată la fel pentru alți senzori analogici).
Pasul 3: Codificare
1. Descărcați
Descărcați folderul zip (SSAD_analogueInputs.zip), atașat mai jos. Dezarhivați-l.
Descărcați IDE-ul Arduino (https://www.arduino.cc/en/main/software).
Deschideți fișierul Arduino (SSAD_analogueInputs.ino) care se află în folderul dezarhivat cu ID-ul Arduino.
2. Instalați Biblioteci
Pentru a rula codul furnizat, trebuie să instalați câteva biblioteci. Deci, dacă fișierul Arduino, atașat la sfârșitul acestui articol, este deschis în interiorul IDE-ului Arduino, faceți următoarele:
- Faceți clic pe: Instrumente → Gestionați bibliotecile …
- Căutați „Biblioteca Adafruit Motor Shield V2” în câmpul Filtrați căutarea
- Instalați-l făcând clic pe butonul Instalare
După descărcarea acelor biblioteci, acum declarațiile #include din codurile furnizate ar trebui să funcționeze. Verificați acest lucru făcând clic pe butonul „Verificați” (bifați în partea stângă sus). Știți că toate bibliotecile funcționează, dacă primiți mesajul „Efectuat compilarea” în partea de jos a programului. În caz contrar, apare o bară roșie și veți primi un mesaj despre ceea ce nu a funcționat corect.
3. Schimbați codul
Schimbați codul în funcție de cazul dvs. de utilizare, urmând instrucțiunile de mai jos:
Inițierea motoarelor și a ieșirilor lor senzoriale
În primul rând, declarați ce pini utilizează motoarele, precum și în ce domeniu funcționează motoarele. De exemplu, un motor atașat la M4 și care funcționează într-un interval (de viteză) de 25 și 175 este declarat așa (sub comentariul PRINCIPAL):
Motor motor1 = Motor (4, 25, 175);
Când lucrați cu motoare cu vibrații mici care sunt acționate într-o gamă de până la 3V, ecranul motorului trebuie utilizat cu precauție, deoarece este conceput pentru funcționarea motoarelor de la 4.5VDC la 13.5VDC. Pentru a nu deteriora motoarele de 3V, am restricționat programat ieșirea Volt a ecranului la maxim 3V (exact 2,95V). Am făcut asta măsurând cât este viteza maximă de 255 în Volt și măsurată cu un multimetru că aceasta este de 4,3V. Prin urmare, nu am permis niciodată o viteză mai mare de 175, adică aproximativ 3V, motoarelor.
Fiecare motor va fi conectat cu o singură ieșire senzorială.
O ieșire senzorială este compusă dintr-unul sau mai mulți stimuli senzoriali. De exemplu, un motor ar putea vibra fie în funcție de un singur senzor, fie în funcție de media mai multor senzori poziționați diferit.
Prin urmare, în primul rând pentru fiecare motor, trebuie declarată o ieșire senzorială. Numerele din paranteze reprezintă valoarea minimă și maximă a ceea ce senzorul (grupul) poate percepe. Pentru senzorii analogici acesta este în mare parte 0 și 1023:
Ieșire SensoryOutput1 = SensoryOutput (0, 1023);
În funcția loop () fiecare motor este apoi atribuit unei valori de ieșire. Aici scrieți pentru fiecare motor următoarea afirmație și în loc de "ieșire1", orice valoare SensoryOutput ar trebui să fie conectată la acesta. Nu uitați să schimbați și toate numele "output1" din această linie, dacă utilizați un alt nume pentru aceasta.
motor1.drive (output1.getValue (), output1.getMin (), output1.getMax ());
Dacă doriți, puteți da mai multor motoare (de ex. Motor1 și motor2) aceeași ieșire senzorială (de ex. Ieșire1).
Mai mult, ați putea da valorile mai multor senzori unui motor (a se vedea secțiunea următoare).
Definirea senzorilor
În funcția setup () trebuie să se declare ce senzori vor face parte din vibrațiile motorului (SensoryOutput). Iată un exemplu de modul în care definiți că senzorul care este conectat la Pinul Arduino A0 ar trebui tradus în vibrații cu motorul 1 și, în consecință, cu ieșirea 1:
output1.include (A0);
Dacă mai multe ieșiri senzoriale ar trebui combinate în cadrul unei vibrații a motorului, puteți adăuga un alt pin de intrare analogic la ieșirea 1:
output1.include (A1);
În caz contrar, continuați cu următoarea ieșire:
output2.include (A1);
Combinarea mai multor senzori
După cum sa menționat mai sus, mai multe intrări ale senzorului (de exemplu, de la A0, A1 și A2) pot fi conduse la un singur motor. Codul pe care îl furnizez calculează media valorilor citite de toți senzorii incluși. Deci, dacă acest lucru este suficient pentru cazul dvs. de utilizare și doriți pur și simplu să mapați direct, de exemplu, o intrare senzorială scăzută la o vibrație scăzută, ați terminat și nu trebuie să vă gândiți la următoarele:
Cu toate acestea, dacă aveți alte idei despre ceea ce doriți să faceți cu una sau mai multe intrări senzoriale brute, puteți face în funcție de modificările funcției int getValue () din clasa SensoryOutput:
int getValue () {
finalOutput = 0; // TODO face orice vrei cu valori senzoriale // aici se construiește media, dacă mai multe valori sunt combinate pentru (int i = 0; i <curArrayLength; i ++) {finalOutput + = analogRead (valueArray ); } returnează FinalOutput / curArrayLength; }
4. Încărcați codul pe prototipul dvs. Arduino
Conectați prototipul Arduino (de la pasul 2) la computer.
Faceți clic pe Instrumente → Port → Selectați portul, unde Arduino / Genuino Uno este scris între paranteze
Faceți clic pe Instrumente → Placă → Arduino / Genuino Uno
Acum, motoarele ar trebui să funcționeze conform intrărilor senzorilor analogici. Dacă doriți, puteți deconecta Arduino de pe computer și îl puteți conecta la o altă sursă de alimentare, cum ar fi o baterie de 9V.
Pasul 4: Extensii posibile
Prototipul pe care tocmai l-ați construit permite intrări exclusiv analogice și poate conduce până la patru motoare. Mai mult, încă nu este purtabil. Dacă doriți să extindeți aceste funcții, consultați următoarele instrucțiuni:
- Acoperirea maselor rotative ale motoarelor ERM:
- Modificarea SSAD-ului:
- Utilizarea a mai mult de 4 motoare - Stivuirea mai multor ecrane de motor:
- Utilizarea unui senzor de proximitate cu ultrasunete ca intrare SSAD:
Recomandat:
Pictura senzorială: 5 pași
Pictura senzorială: pictura senzorială este un proiect proiectat pentru cineva care nu văd pueda pintar sau să se deseneze în interiorul bordurilor pe care unul să delimiteze. În acest caz utilizăm un Kultrun al culturii și pueblo mapuche. SP te avisará prin sonidos de un Trompe
Dispozitiv ASS (dispozitiv social anti-social): 7 pași
Dispozitiv ASS (dispozitiv social anti-social): spuneți că sunteți o persoană care îi place să fie în preajma oamenilor, dar nu-i place să se apropie prea mult. De asemenea, ești plăcut oamenilor și îți este greu să spui nu oamenilor. Deci, nu știi cum să le spui să se retragă. Ei bine, introduceți - dispozitivul ASS! Da
Cat Whisker Extensie senzorială portabilă (2.0): 6 pași (cu imagini)
Cat Whisker Sensory Extension Wearable (2.0): Acest proiect este o continuare și o reimaginare a fostului meu coleg (metaterra) „Whisker Sensory Extension Wearable”. Scopul acestui proiect a fost să se concentreze pe crearea de „extensii senzoriale” noi, îmbogățite prin calcul, care
Mărire ecran iPod: 7 pași
Mărire ecran Ipod: acesta este primul meu instructiv și am doar 12. Dar vă rugăm să încercați acest lucru și să vă bucurați
Mod de mărire a camerei iPhone: 7 pași (cu imagini)
Mod IPhone Magnifying Camera: * Actualizat la 9 decembrie 2009. * Aveam câteva obiective din diverse surse și aș fi vrut să concep un mod ușor de a le folosi cu telefonul camerei mele pentru a face fotografii și videoclipuri mărite. La început, aveam doar mici rame metalice pe care le țineam