Turinys:

3D AIR pelė - „Arduino +“apdorojimas: 5 žingsniai
3D AIR pelė - „Arduino +“apdorojimas: 5 žingsniai

Video: 3D AIR pelė - „Arduino +“apdorojimas: 5 žingsniai

Video: 3D AIR pelė - „Arduino +“apdorojimas: 5 žingsniai
Video: Big Tree Tech - SKR 3EZ - EZ2209 Sensorless homing and Cooling Fan 2024, Liepa
Anonim
3D AIR pelė | „Arduino +“apdorojimas
3D AIR pelė | „Arduino +“apdorojimas

3D AIR pelė | Aš esu pramoninio dizaino studentas, o praėjusiais metais kaip kurso „Technologija kaip RAW medžiaga“dalį aš sukūriau šį projektą kaip paskutinį darbą. Didžiąją laiko dalį dirbu su „SolidWorks“, CAD programine įranga ir projektavimu.. Tvirto korpuso pasukimas ekrane atliekamas naudojant vidurinį pelės mygtuką. Aš ieškojau kažko intuityvesnio. Taip baigiau daryti 3D oro pelę, kur tikrasis objekto sukimasis atliekamas judinant pelę viduryje oro ant visų 3 ašių - lygiai taip pat, kaip pasuktumėte objektą, jei laikytumėte jį rankoje. Aš naudoju „Arduino“, keletą jutiklių ir apdorojimo eskizą. PASTABOS:- Kol kas tai tik koncepcijos demonstravimas, nes nėra jokio realaus papildinio, skirto darbui su „SolidWork“(bet, žinoma, drąsiai parašyk vieną, jei žinai kaip:) kai kuri idėja, jei norite pabandyti ją sukurti patys … Mėgaukitės … (tai mano pirmoji instrukcija) Štai vaizdo įrašas apie baigtą projektą

1 žingsnis: Aparatūra ir daiktai

Techninė įranga ir daiktai
Techninė įranga ir daiktai
Techninė įranga ir daiktai
Techninė įranga ir daiktai
Techninė įranga ir daiktai
Techninė įranga ir daiktai
Techninė įranga ir daiktai
Techninė įranga ir daiktai

Tai nėra pats pigiausias „Instructable“, nes jis pagrįstas 3 ašių akselerometru + kompaso jutikliu. Jums reikalingi dalykai:* Pelė - naudota yra geresnė (tik todėl, kad naudojama ir pigesnė), bet kuri pelė turėtų tai padaryti. Jūs turite turėti šiek tiek vietos jutikliams ir kai kuriems papildomiems laidams laikyti, todėl nesirinkite ypač plonų / ypač mažų pelių. 149 USD* Loginio lygio keitiklis - PRIVALOMA! Kadangi „Arduino“yra 5 V, o 3 ašių jutiklis yra 3,3 V, jums reikia vieno iš tų, kad 5V paverstų 3,3 V. Jis turi didelį pavadinimą, tačiau „SpurkFun“kainuoja tik 1,95 USD.* Didelis optinis detektorius / fototransistorius - tai paprastas optinis jutiklis, naudojamas šiame projekte aptikti, kada pelė pakeliama nuo darbinio paviršiaus. Pirktas „SpurkFun“už 2,25 USD Jei neturite pakankamai vietos, kad galėtumėte jį įdėti į pasirinktą pelę, galite naudoti šią, mažesnę ir pigesnę. * Vienas (1) šviesos diodas - nesvarbu spalvos, itin ryškus veiks geriau.* 2 rezistoriai - vienas (1) x 100Ω ir vienas (1) x 100KΩ (optiniam jutikliui)* „Arduino“plokštė - DA! Aš naudojau Diecimila modelį. Naujesnę „Duemilanove“galima įsigyti „SpurkFun“už maždaug 29,95 USD (taip pat turėtų veikti) + įdiegta „Arduino“programinė įranga.* Įdiegta apdorojimo programinė įranga.* Projekto šaltinio kodas (nesijaudinkite, jį galėsite atsisiųsti per sekundę.) Plius: Kai kurie karšti klijai (norint sutvarkyti daiktus) Pora mažų varžtų. Apie 10 cm 6 mm (skersmens) medinio inkaro. Kai kurie papildomi laidai. Lituoklis. Kažką pjaustyti plastiką, aš naudoju pjovimo peilį ir dildę (Dėl formavimo). („Gerai, neapkęsk manęs dėl šio žingsnio, anglų kalba yra mano antroji kalba, jei suklydau, atsiprašau, esu tikras, kad suprasi, apie ką aš tuo metu pamatysite nuotraukose )

2 žingsnis: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika

Viską reikia sulituoti … Tam tikra prasme … PASTABA: 3 ašių jutiklis yra brangi smulkmena, prieš įjungiant viską, dar kartą patikrinkite laidus … Žiūrėkite visų šiame projekte naudojamų laidų schemas. Pridedamas šaltinio kodas gali veikti tik tuo atveju, jei naudojate tuos pačius PIN kodus, kuriuos naudoju aš, tačiau jungdamiesi galite juos pakeisti, kol pakeisite atitinkamus kodo skaičius. 3 ašių jutiklio prijungimas prie loginio lygio keitiklio: jutiklis VCC -> „Arduino 3V3Sensor GND“-> „Arduino GndSensor SDA“-> „Converter TXI“(Chan1) konverteris TXO (Chan1) -> „Arduino ANALOG IN 4Sensor SCL“-> „Converter TXI (Chan2) Converter“TXO (Chan2) -> Arduino ANALOG IN 5Converter GND (bent vienas iš jų) -> Arduino GndConverter HV -> Arduino 5VConverter LV -> Arduino 3V3 Optinis „Arduino“jutiklis: žiūrėkite pridėtą vaizdą Skaitmeninis įr. GND (aš naudoju vieną iš optinių jutiklių)+ iki „Arduino PIN 13“(tai buvo padaryta, nes šis kaištis jau turi įmontuotą rezistorių, jei naudojate kitą, būtinai naudokite rezistorių, kad neuždegtumėte šviesos diodo)

3 žingsnis: Pelės paruošimas

Pelės paruošimas
Pelės paruošimas
Pelės paruošimas
Pelės paruošimas
Pelės paruošimas
Pelės paruošimas

Čia jutikliai randa savo vietą pelės korpuse. Raskite geriausią vietą 3 ašių jutiklio tvirtinimui. Įsitikinkite, kad jis yra išlygintas, ir nepamirškite orientacijos (žinosite, kai jutiklį turėsite rankoje) Galite pataisyti bet kokiu jums patogiu būdu, aš panaudojau 2 trumpus medinio inkaro gabalus, išgręžtus 2 mažiems varžtams priimti. ir karštai priklijuota prie pelės pagrindinės plokštės. Jei norite optinio jutiklio, suformuokite stačiakampę skylę pelės apačioje, idėja yra, kad jutiklis visą laiką „matytų“stalą. Kai pelė pakelta ir jutiklio būsena yra „atidaryta“(nėra lentelės, kurią galima pamatyti), pelė persijungia į 3D režimą (paleidžia apdorojimo eskizą) Suformuokite kitą skylę papildomiems laidams (nuo jutiklių iki „Arduino“) išvesti. plastikinis korpusas. Mano buvo dešinėje pelės pusėje. Pritvirtinkite šviesos diodą, kur bus rodomas. Šiame projekte šviesos diodas yra 3D režimo indikatorius. Pastatau savo šalia silikoninio pelės rato. Kai pelė pakeliama, ratukas maloniai švyti.

4 žingsnis: šaltinio kodas

„Arduino“kodą parašė mano mokytojas Shacharas Geigeris, ir aš jį pakeičiau šiam projektui. 3D kubo kodas yra pagrindinis kodas, randamas apdorojimo svetainėje. Aš šiek tiek jį pakeičiau. Kodelyje ši dalis paverčia iš jutiklio gaunamą neapdorotą informaciją (paprastai nuo -180 iki 180 x 10) į 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; Serijinis rašymas (z); Informacija iš jutiklio ir „Arduino“patenka į kiekvienos atskiros ašies apdorojimo eskizą, tačiau su ankstesne ašies raide (pvz., X12 Y200 Z130) šis kodas numeta raidę ir palieka tik vertes, kurios turi būti išsiųstos COM prievadas tuo metu (port.available () == 0) {} char reading = 0; while (reading! = 'x') {while (port.available () == 0) {} reading = (char) port.read ();} X = port.read (); while (skaitymas! = '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 (); Ši kodo dalis atmeta visas neigiamas vertes… jei ((X! = -1) && (Y! = -1) && (Z! = -1)) {rotateZ (-(plūdė) 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);} Pridėtame ZIP faile buvo ir „Arduino“, ir apdorojimo kodas

5 žingsnis: vaizdo įrašas

Tai viskas … Tai yra baigtas projektas vaizdo įraše. Yra nedidelis gedimas (matote, kad kubas kartais „šokinėja“vaizdo įraše). Taip yra dėl Z ašies, jums gali taip neatsitikti …

Rekomenduojamas: