Cuprins:
- Pasul 1: Hardware și lucruri
- Pasul 2: Electronică
- Pasul 3: Pregătirea mouse-ului
- Pasul 4: Codul sursă
- Pasul 5: Video
Video: Mouse 3D AIR - Procesare Arduino +: 5 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:47
Mouse 3D AIR | Arduino + Processing Sunt student la proiectare industrială, iar anul trecut, ca parte a unui curs numit „Tehnologie ca material RAW”, am construit acest proiect ca lucrare finală. Lucrez de cele mai multe ori cu SolidWorks, un software CAD pentru proiectare și inginerie. Rotirea unui corp solid pe ecran se face folosind butonul din mijloc al mouse-ului. Căutam ceva mai intuitiv. Așa am ajuns să fac mouse-ul 3D 3D, unde rotația efectivă a unui obiect se face mișcând mouse-ul în aer pe toate cele 3 axe - în același mod în care ați roti obiectul dacă l-ați ține în mână. Am folosit Arduino, câțiva senzori și o schiță de procesare. NOTE: - Deocamdată, aceasta este doar o demonstrație a conceptului, deoarece nu există un plug-in propriu-zis care să funcționeze cu SolidWork (dar, desigur, nu ezitați să scrieți unul dacă știți cum:) - Deoarece toate componentele hardware nu erau ale mele, mouse-ul 3D actual a dispărut de mult și folosesc câteva fotografii și un videoclip pentru a încerca să am sens în toate acestea și pentru a vă oferi o idee dacă doriți să încercați să construiți unul singur … Bucurați-vă de asta … (Este primul meu instructabil) Iată un demo video al proiectului finalizat
Pasul 1: Hardware și lucruri
Nu este cel mai ieftin instructabil, deoarece se bazează pe un accelerometru pe 3 axe + senzor de busolă. Lucruri de care aveți nevoie: * Un mouse - unul folosit este mai bun (doar pentru că este folosit și mai ieftin), orice mouse ar trebui să facă. Trebuie să aveți spațiu pentru adăpostirea senzorilor și a unor fire suplimentare, așa că nu mergeți la șoareci foarte subțiri / foarte mici. $ 149 * Convertor de nivel logic - O TREBUIE! Deoarece Arduino are 5V și senzorul cu 3 axe este de 3,3V, aveți nevoie de unul dintre acestea pentru a converti 5V în 3,3V. Are un nume mare, dar costă doar 1,95 USD la SpurkFun. * Detector optic mare / fototranzistor - Acesta este un senzor optic simplu, utilizat în acest proiect pentru a detecta când mouse-ul este ridicat de pe suprafața de lucru. Cumpărat la SpurkFun pentru 2,25 USD Dacă nu aveți suficient spațiu pentru a-l adăposti în mouse-ul ales, îl puteți folosi, mai mic și mai ieftin. * Un (1) LED - nu contează culoarea, ultra luminos va funcționa mai bine. * 2 rezistoare - Un (1) x 100Ω și unul (1) x 100KΩ (pentru senzorul optic) * Placă Arduino - DA! Am folosit modelul Diecimila. Un Duemilanove mai nou este disponibil la SpurkFun pentru aproximativ 29,95 USD (ar trebui să funcționeze și el) + software Arduino instalat. * Software de procesare instalat. * Codul sursă al proiectului (Nu vă faceți griji, veți putea să-l descărcați într-o sec.) Plus: Unele lipici fierbinte (pentru a fixa lucrurile la locul lor) Câteva șuruburi minuscule. Aproximativ 10cm dintr-o ancoră de lemn de 6 mm (Dia.). Câteva fire suplimentare. Fier de lipit. PENTRU modelare). („Ok, nu mă urăște pentru acest pas, engleza este a doua mea limbă, dacă am greșit-o, îmi pare rău, sunt sigur că veți înțelege despre ce mă ocup într-o secundă. o vei vedea în imagini )
Pasul 2: Electronică
Totul trebuie lipit împreună … Într-un fel … NOTĂ: Senzorul cu 3 axe este un lucru scump, verificați dublu cablajul înainte de a alimenta totul … Consultați schemele atașate pentru toate cablurile utilizate în acest proiect. poate funcționa numai dacă utilizați aceleași numere de pin pe care le-am făcut, dar nu ezitați să le schimbați atunci când vă conectați, atâta timp cât schimbați numerele corespunzătoare din cod. Conectarea senzorului de 3 axe la convertorul de nivel logic: senzor VCC -> Arduino 3V3Sensor GND -> Arduino GndSensor SDA -> Convertor TXI (Chan1) Convertor TXO (Chan1) -> Arduino ANALOG IN 4Sensor SCL -> Convertor TXI (Chan2) Convertor TXO (Chan2) -> Arduino ANALOG IN 5Converter GND (cel puțin unul dintre ele) -> Arduino GndConverter HV -> Arduino 5VConverter LV -> Arduino 3V3 Senzor optic către Arduino: vezi imaginea atașată Digital în = Pin 11 de pe ArduinoLED: GND la unele GND (am folosit unul dintre senzorii optici) + la Arduino PIN 13 (Acest lucru a fost făcut deoarece acest pin are deja un rezistor la bord, dacă utilizați unul diferit, asigurați-vă că utilizați un rezistor, astfel încât să nu ardeți LED-ul)
Pasul 3: Pregătirea mouse-ului
Acesta este locul în care senzorii își găsesc locul în carcasa mouse-ului. Găsiți cel mai bun loc pentru fixarea senzorului pe 3 axe. Asigurați-vă că este nivelat și aveți grijă de orientare (Veți ști când veți avea senzorul în mână) Puteți repara cum doriți, am folosit 2 bucăți scurte de ancoră din lemn, găurite pentru a accepta cele 2 șuruburi mici și lipit la cald de placa principală a mouse-ului. Pentru senzorul optic, formați o gaură dreptunghiulară în partea de jos a mouse-ului, ideea este ca senzorul să „vadă” tabelul tot timpul. Când mouse-ul este ridicat și starea senzorului este „deschisă” (nu se vede masă) mouse-ul trece în modul 3D (rulează schița de procesare) Formați o altă gaură pentru direcționarea firelor suplimentare (de la senzori la Arduino) din carcasă din plastic. Al meu a fost situat în partea dreaptă a mouse-ului. Fixează LED-ul unde se va afișa. În acest proiect, LED-ul este indicatorul în modul 3D. Îl așez pe al meu lângă roata de mouse din silicon. Când mouse-ul este ridicat, roata avea o strălucire albastră frumoasă.
Pasul 4: Codul sursă
Codul pentru Arduino a fost scris de Shachar Geiger, profesorul meu, și a fost modificat de mine pentru acest proiect. Codul cubului 3D este codul de bază găsit pe site-ul web Procesare. L-am modificat puțin. În cod, această bucată convertește informațiile brute provenite de la senzor (de obicei -180 la 180 x 10) la 0-255 getHeading (); Serial.write ('x'); x = (x +1800) / 14; Serial.write (x); Serial.write ('y'); y = (y + 1800) / 14; Serial.write (y); Serial.write ('z'); z = (z + 1800) / 14; Serial.write (z); Informațiile de la senzor și Arduino merg la schița de procesare pentru fiecare axă separată, dar cu o literă de axă precedentă (pentru exp. X12 Y200 Z130), următorul cod renunță la literă și lasă doar valorile care trebuie trimise către COM port while (port.available () == 0) {} char reading = 0; while (reading! = 'x') {while (port.available () == 0) {} reading = (char) port.read ();} X = port.read (); while (reading! = 'Y') {while (port.available () == 0) {} reading = (char) port.read ();} Y = port.read (); while (reading! = 'z') {while (port.available () == 0) {} reading = (char) port.read ();} Z = port.read (); Această bucată de cod scade toate valorile negative … dacă ((X! = -1) && (Y! = -1) && (Z! = -1)) {rotateZ (- (float) Y / 25.0); rotateX ((float) X / 25.0); rotateY ((float) Z / 25.0); pX = X; pY = Y; pZ = Z;} else {rotateZ (- (float) pY / 25.0); rotateX ((float) pX /25.0);rotateY((float)pZ/25.0);} Fișierul ZIP atașat conținea atât codul Arduino, cât și codul de procesare
Pasul 5: Video
Gata … Acesta este proiectul finalizat într-un videoclip. Există o problemă minoră (puteți vedea că cubul uneori „sare” în videoclip), asta din cauza axei Z, s-ar putea să nu vi se întâmple …
Recomandat:
Air - True Mobile Air Guitar (prototip): 7 pași (cu imagini)
Air - True Mobile Air Guitar (Prototype): Bine, deci, acesta va fi un scurt instructiv despre prima parte a apropierii în cele din urmă de un vis al meu din copilărie. Când eram tânăr, mă uitam mereu la artiștii și trupele mele preferate cântând la chitară imaculat. Pe măsură ce am crescut, nu eram
[Wearable Mouse] Controler Wearable Mouse bazat pe Bluetooth pentru Windows 10 și Linux: 5 pași
[Wearable Mouse] Wearable Mouse Controller bazat pe Bluetooth pentru Windows 10 și Linux: am realizat un controler de mouse bazat pe Bluetooth care poate fi folosit pentru a controla indicatorul mouse-ului și a efectua operațiuni legate de mouse-ul PC-ului, fără a atinge nicio suprafață. Circuitul electronic, care este încorporat pe o mănușă, poate fi folosit pentru a urmări h
ADAPTARE DE UN AIR MOUSE: 20 de pași (cu imagini)
ADAPTARE DE UN AIR MOUSE: Echipamentul electronic care expune continuarea este prototipul unei adaptări realizate printr-un mouse de aer. Aveți ca obiectiv să oferiți autonomie în utilizarea dispozitivelor multimedia ca și comandatori în SmartTV, la toate acele persoane care
Programarea Arduino Over the Air (OTA) - Ameba Arduino: 4 pași
Programarea Arduino Over the Air (OTA) - Ameba Arduino: Există multe microcontrolere Wi-Fi pe piață, mulți producători se bucură să își programeze microcontrolerul Wi-Fi folosind Arduino IDE. Cu toate acestea, una dintre cele mai tari caracteristici pe care le poate oferi un microcontroler Wi-Fi tind să fie trecute cu vederea, adică
Reparare roată mouse mouse PC: 6 pași
Repararea roții mouse-ului computerului spart: Repararea roții mouse-ului rupte în cazul în care mouse-ul funcționează, dar roata se mișcă ușor fără funcția de derulare. Abilități tehnice: Consum redus de timp: aprox. 1 oră