INHOUDSOPGAWE:

3D AIR -muis - Arduino + verwerking: 5 stappe
3D AIR -muis - Arduino + verwerking: 5 stappe

Video: 3D AIR -muis - Arduino + verwerking: 5 stappe

Video: 3D AIR -muis - Arduino + verwerking: 5 stappe
Video: Крутейший 5 осевой ЧПУ фрезер - Pocket NC V2-50 2024, November
Anonim
3D AIR -muis | Arduino + verwerking
3D AIR -muis | Arduino + verwerking

3D AIR muis | Arduino + Processing Ek is 'n student in industriële ontwerp, en verlede jaar as deel van 'n kursus genaamd "Technology as RAW materiel" het ek hierdie projek as my finale werk gebou. Ek werk meestal met SolidWorks, 'n CAD -sagteware vir ontwerp en ontwerp. Deur 'n vaste liggaam op die skerm te draai, word die middelste muisknop gebruik. Ek was op soek na iets meer intuïtief. Dit is hoe ek uiteindelik die 3D -lugmuis gedoen het, waar die werklike rotasie van 'n voorwerp plaasvind deur die muis in die lug op alle drie as te beweeg - op dieselfde manier as wat u die voorwerp sou draai as u dit in u hand hou. Ek het die Arduino, 'n paar sensors en 'n verwerkingsskets gebruik. OPMERKINGS:- Van nou af is dit slegs 'n demonstrasie van die konsep, aangesien daar geen werklike inprop is om met SolidWork te werk nie (maar natuurlik, Skryf een as jy weet hoe:)- Aangesien al die hardeware nie myne was nie, is die werklike 3D-muis lankal verby, en ek gebruik 'n paar foto's en 'n video om dit alles sinvol te maak en vir jou te gee 'n idee as jy self wil probeer bou … Geniet dit … (Dit is my eerste instruksies) Hier is 'n videodemo van die voltooide projek

Stap 1: Hardeware en goed

Hardeware en goedere
Hardeware en goedere
Hardeware en goedere
Hardeware en goedere
Hardeware en goedere
Hardeware en goedere
Hardeware en goedere
Hardeware en goedere

Dit is nie die goedkoopste Instructable nie, aangesien dit gebaseer is op 'n 3 -as versnellingsmeter + kompassensor. Dinge wat jy nodig het:* 'n Muis - 'n gebruikte een is beter (net omdat dit gebruik en goedkoper is), moet elke muis doen. U moet 'n bietjie ruimte hê om die sensors en ekstra drade te huisves, dus moenie ekstra slanke / ekstra klein muise gebruik nie. $ 149* Logic Level Converter - 'n MOET! Aangesien die Arduino 5V is en die sensor met 3 as 3.3V, benodig u een daarvan om die 5V in 3.3V om te skakel. Dit het 'n groot naam, maar kos slegs $ 1,95 by SpurkFun.* Groot optiese detektor / fototransistor - Dit is 'n eenvoudige optiese sensor wat in hierdie projek gebruik word om op te spoor wanneer die muis van die werkoppervlak af gehys word. Gekoop by SpurkFun vir $ 2,25 As u nie genoeg spasie het om hierdie een in u gekose muis te huisves nie, kan u hierdie een, kleiner en goedkoper, gebruik. * Een (1) LED - let op die kleur, ultra helder werk beter.* 2 weerstande - een (1) x 100Ω en een (1) x 100KΩ (vir die optiese sensor)* Arduino -bord - DA! Ek het die Diecimila -model gebruik. 'N Nuwer Duemilanove is beskikbaar by SpurkFun vir ongeveer $ 29,95 (moet ook werk) + geïnstalleerde Arduino -sagteware.* Verwerkingsprogrammatuur geïnstalleer.* Die bronkode van die projek (moenie bekommerd wees nie, u kan dit binne 'n sekonde aflaai.) Plus: sommige warm gom (om dinge reg te maak) 'n Paar klein skroewe. Ongeveer 10 cm van 'n 6 mm (anker) houtanker. Enkele ekstra drade. Soldeerbout. Iets om die plastiek mee te sny, gebruik ek 'n snymes en 'n vyl (VIR die vorming). ("Ok, moenie my haat vir hierdie stap nie, Engels is my tweede taal. As ek die een verkeerd verstaan, is ek jammer, ek sal seker verstaan wat ek binne 'n sekonde doen. jy sal dit op foto's sien ")

Stap 2: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika

Alles moet aanmekaar gesoldeer word … Op 'n manier … OPMERKING: Die 3 -assige sensor is 'n duur dingetjie. Kontroleer eers die bedrading voordat u alles aanskakel … Sien die skema's vir alle bedrading wat in hierdie projek gebruik word. Die aangehegte bronkode kan slegs werk as u dieselfde pinnommers gebruik as ek, maar u kan dit gerus verander as u die toepaslike nommers in die kode verander. Koppel die 3 -assige sensor aan die logiese vlakomvormer: Sensor VCC -> Arduino 3V3Sensor GND -> Arduino GndSensor SDA -> Converter TXI (Chan1) Converter TXO (Chan1) -> Arduino ANALOG IN 4Sensor SCL -> Converter TXI (Chan2) Converter TXO (Chan2) -> Arduino ANALOG IN 5Converter GND (ten minste een daarvan) -> Arduino GndConverter HV -> Arduino 5VConverter LV -> Arduino 3V3Optical sensor to Arduino: Sien aangehegte prent Digital in = Pin 11 on the ArduinoLED: GND to some GND (ek het een van die optiese sensors gebruik)+ na Arduino PIN 13 (dit is gedoen, aangesien hierdie pen reeds 'n ingeboude weerstand het, as u 'n ander een gebruik, moet u 'n weerstand gebruik, sodat u nie die LED sal verbrand nie)

Stap 3: Maak die muis gereed

Voorbereiding van die muis
Voorbereiding van die muis
Voorbereiding van die muis
Voorbereiding van die muis
Voorbereiding van die muis
Voorbereiding van die muis

Dit is waar die sensors hul plek in die muis se behuising vind. Vind die beste plek om die 3 -as sensor op te los. Maak seker dat dit gelyk is en let op die oriëntasie (u sal weet wanneer u die sensor byderhand het). U kan dit regmaak soos u wil, ek het 2 kort stukke houtanker gebruik om die 2 klein skroewe te aanvaar, en warm vasgeplak op die muis se hoofbord. Vorm vir die optiese sensor 'n reghoekige gat aan die onderkant van die muis, die idee is dat die sensor die tafel die hele tyd moet "sien". As die muis opgelig word en die sensortoestand "oop" is (geen tabel om te sien nie) skakel die muis oor na die 3D -modus (voer die verwerkingsskets uit) Vorm nog 'n gaatjie om die ekstra drade (van die sensors na die Arduino) uit die plastiek behuising. Myne was aan die regterkant van die muis, en bevestig die LED waar dit sal verskyn. In hierdie projek is die LED die 3D-modus-aanwyser. Ek plaas myne langs die silikoon muiswiel. As die muis gelig word, het die wiel 'n mooi blou gloed.

Stap 4: Die bronkode

Die kode vir die Arduino is geskryf deur Shachar Geiger, my onderwyser, en is deur my gewysig vir hierdie projek. Die 3D -kubuskode is die basiese kode wat op die verwerkingswebwerf gevind word. Ek het dit 'n bietjie aangepas. In die kode omskep hierdie stuk die rou inligting van die sensor (gewoonlik -180 tot 180 x 10) na 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); Die inligting van die sensor en die Arduino gaan na die verwerkingskets vir elke aparte as, maar met 'n voorafgaande asletter (vir exp. X12 Y200 Z130) laat die volgende kode die letter val en laat slegs die waardes wat na die COM gestuur moet word poort terwyl (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 = poort.read (); while (reading! = 'z') {while (port.available () == 0) {} reading = (char) port.read ();} Z = port.read (); Hierdie stuk kode laat al die negatiewe waardes val … as ((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);} Die aangehegte zip -lêer bevat beide Arduino en verwerkingskode

Stap 5: Video

Dit is dit … Dit is die voltooide projek in 'n video. Daar is 'n geringe fout (jy kan sien dat die kubus soms in die video 'spring'), dit is moontlik as gevolg van die Z -as, maar dit gebeur nie met jou nie …

Aanbeveel: