Sadržaj:
- Korak 1: Hardver i stvari
- Korak 2: Elektronika
- Korak 3: Priprema miša
- Korak 4: Izvorni kod
- Korak 5: Video
Video: 3D AIR miš - Arduino + obrada: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:38
3D AIR miš | Arduino + ProcessingJa sam student industrijskog dizajna, a prošle sam godine u sklopu tečaja pod nazivom "Tehnologija kao RAW materijal" izgradio ovaj projekt kao svoj završni rad. Većinu vremena radim sa SolidWorks -om, CAD softverom za dizajn i inženjering. Rotiranje čvrstog tijela na ekranu vrši se srednjom tipkom miša. Tražio sam nešto intuitivnije. Ovako sam završio 3D zračni miš, gdje se stvarna rotacija objekta vrši pomicanjem miša u zraku na sve 3 osi - na isti način na koji biste rotirali objekt da ga držite u ruci. Koristio sam Arduino, nekoliko senzora i skicu za obradu. NAPOMENE:- Za sada je ovo samo demonstracija koncepta, jer ne postoji stvarni dodatak za rad sa SolidWorkom (ali, naravno, slobodno napiši jedan ako znaš kako:))- Budući da sav hardver nije bio moj, stvarni 3D miš odavno je nestao, a ja koristim neke fotografije i video kako bih pokušao u svemu ovome imati smisla i dati ti neka ideja ako želite sami pokušati izraditi jednu … Uživajte … (To je moj prvi Instructable) Evo video demo gotovog projekta
Korak 1: Hardver i stvari
Nije najjeftiniji Instructable jer se temelji na troosnom akcelerometeru + senzoru kompasa. Potrebno vam je:* Miš - rabljeni je bolji (samo zato što se koristi i jeftiniji), to bi trebao učiniti svaki miš. Morate imati malo prostora za smještaj senzora i dodatne žice, stoga nemojte koristiti dodatne tanke / ekstra sićušne miševe.* Modul kompasa s kompenzacijom nagiba - HMC634 - Ovo je troosni senzor, kupljen u SpurkFunu za ~ 149 USD* Pretvarač logičke razine - MORA! Budući da je Arduino 5V, a troosni senzor 3.3V, potreban vam je jedan od njih za pretvaranje 5V u 3.3V. Ima veliko ime, ali košta samo 1,95 USD na SpurkFunu.* Veliki optički detektor / fototranzistor - Ovo je jednostavan optički senzor, koji se koristi u ovom projektu za otkrivanje kada se miš podiže s radne površine. Kupljeno u SpurkFunu za 2,25 USD Ako nemate dovoljno mjesta za smještaj ovog u miš koji ste odabrali, možete koristiti ovaj, manji i jeftiniji. * Jedna (1) LED - bez obzira na boju, ultra svijetla će bolje raditi.* 2 otpornika - jedan (1) x 100Ω i jedan (1) x 100KΩ (za optički senzor)* Arduino ploča - DA! Koristio sam model Diecimila. Noviji Duemilanove dostupan je na SpurkFunu za oko 29,95 USD (i to bi trebalo raditi) + instaliran Arduino softver.* Instaliran softver za obradu.* Izvorni kod projekta (Ne brinite, moći ćete ga preuzeti za koju sekundu.) Plus: Neki vruće ljepilo (za popravljanje stvari) Par sitnih vijaka. Oko 10 cm drvenog sidra od 6 mm (Dia.). Neke dodatne žice. Lemilica. Nešto za rezanje plastike, upotrijebio sam nož za rezanje i turpiju (ZA oblikovanje). ("U redu, nemoj me mrziti zbog ovog koraka, engleski je moj drugi jezik, ako sam ovaj pogriješio, žao mi je, siguran sam da ćeš u sekundi razumjeti o čemu govorim. vidjet ćeš to na slikama ")
Korak 2: Elektronika
Sve je potrebno lemiti zajedno … Na neki način … NAPOMENA: Troosni osjetnik je skupa sitnica, provjerite ožičenje prije nego što sve uključite … Pogledajte sheme u prilogu za sve ožičenje koje se koristi u ovom projektu. Priloženi izvorni kod može funkcionirati samo ako koristite iste pin brojeve kao i ja, ali slobodno ih promijenite pri povezivanju sve dok promijenite odgovarajuće brojeve u kodu. Spajanje troosnog osjetnika na pretvarač logičke razine: Senzor VCC -> Arduino 3V3Sensor GND -> Arduino GndSensor SDA -> Pretvarač TXI (Chan1) Pretvarač TXO (Chan1) -> Arduino ANALOG IN 4Sensor SCL -> Pretvarač TXI (Chan2) Pretvarač TXO (Chan2) -> Arduino ANALOG U 5Converter GND (barem jedan od njih) -> Arduino GndConverter HV -> Arduino 5VConverter LV -> Arduino 3V3Optični senzor za Arduino: Pogledajte priloženu slikuDigitalno u = Pin 11 na ArduinoLED: GND nekim GND (koristio sam jedan od optičkih senzora)+ do Arduino PIN 13 (To je učinjeno jer ovaj pin već ima ugrađeni otpornik, ako koristite neki drugi, svakako upotrijebite otpornik kako ne biste zapalili LED)
Korak 3: Priprema miša
Ovdje senzori nalaze svoje mjesto unutar kućišta miša. Pronađite najbolje mjesto za pričvršćivanje troosnog senzora. Provjerite je li izravnan i vodite računa o orijentaciji (znat ćete kad budete imali senzor u ruci) Možete ga popraviti kako god želite, upotrijebio sam 2 kratka komada drvenog sidra, izbušeno da prihvatim 2 sitna vijka, i vruće zalijepljen na glavnu ploču miša. Za optički senzor oblikujte pravokutnu rupu na dnu miša, ideja je da senzor cijelo vrijeme "vidi" tablicu. Kad je miš podignut i stanje senzora je "otvoreno" (nema tablice za vidjeti) miš prelazi u 3D način rada (pokreće skicu obrade) Oblikujte drugu rupu za usmjeravanje dodatnih žica (od senzora do Arduina) iz plastično kućište. Moj se nalazio s desne strane miša. Popravite LED gdje će se prikazati. U ovom projektu LED je indikator 3D načina rada. Svoje stavljam pored silikonskog kotačića miša. Kad se miš podigne, kotač je imao lijep plavi sjaj.
Korak 4: Izvorni kod
Kôd za Arduino napisao je Shachar Geiger, moj učitelj, a ja sam ga izmijenio za ovaj projekt. Kod 3D kocke je osnovni kod koji se nalazi na web stranici Processing. Malo sam ga izmijenio. U kodu ovaj komad pretvara sirove informacije koje dolaze sa senzora (tipično -180 na 180 x 10) u 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); Podaci sa senzora i Arduina idu na skicu obrade za svaku zasebnu os, ali s prethodnim slovom osi (npr. X12 Y200 Z130), sljedeći kôd ispušta slovo i ostavlja samo vrijednosti koje se šalju u COM port while (port.available () == 0) {} očitavanje znakova = 0; while (čitanje! = 'x') {while (port.available () == 0) {} čitanje = (char) port.read ();} X = port.read (); while (čitanje! = 'Y') {while (port.available () == 0) {} čitanje = (char) port.read ();} Y = port.read (); while (čitanje! = 'z') {while (port.available () == 0) {} reading = (char) port.read ();} Z = port.read (); Ovaj komad koda ispušta sve negativne vrijednosti … if ((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);} Priložena ZIP datoteka sadrži i Arduino i kod za obradu
Korak 5: Video
To je to … Ovo je gotov projekt u videu. Postoji manji propust (možete vidjeti da kocka ponekad "skoči" u videu), To je zbog osi Z, možda vam se neće dogoditi …
Preporučeni:
Bluetooth zvučnik s vlastitim rukama na baterije // Kako se gradi - Obrada drveta: 14 koraka (sa slikama)
Bluetooth zvučnik s DIY baterijskim napajanjem // Kako izgraditi-Obrada drveta: Ovaj prijenosni Bluetooth boombox zvučnik s punjivom baterijom, napajanjem, izgradio sam pomoću kompleta zvučnika Parts Express C-Note plus njihove ploče za pojačalo KAB (veze do svih dijelova u nastavku). Ovo je bila moja prva izrada zvučnika i iskreno sam zadivljen koliko je sjajan
Obrada slike s Raspberry Pi: Instaliranje OpenCV -a i odvajanje boja slike: 4 koraka
Obrada slike s Raspberry Pi: Instaliranje OpenCV -a i odvajanje boja u boji: Ovaj je post prvi od nekoliko vodiča za obradu slika koji slijede. Pomnije promatramo piksele koji čine sliku, učimo kako instalirati OpenCV na Raspberry Pi, a također pišemo i testne skripte za snimanje slike, a također i c
Bluetooth i IMU s Tactigon pločom - Obrada: 7 koraka
Bluetooth i IMU s Tactigon pločom - Obrada: Ovaj niz članaka će objasniti kako koristiti Tactigonove integrirane senzore i komunikacijska sučelja za stvaranje jednostavnog kontrolera gestama. Izvorni kôd dostupan ovdje na GitHubu U ovom ćemo članku naučiti kako upotrijebiti simp
Ponovna obrada BGA -e pomoću matrice za boravak na mjestu: 7 koraka
Prerada BGA pomoću matrice za zadržavanje na mjestu: BGA prerađena matrica koja sadrži značajku zadržavanja na mjestu radi pojednostavljenja procesa i popravljanja oštećene maske za lemljenje. Poboljšava prinose pri prvom prolasku i popravlja masku za lemljenje koju je uređaj možda oštetio. Više informacija o preradi BGA pogledajte na ba
Obrada okretanjem na DMS CNC usmjerivaču: 5 koraka (sa slikama)
Obrada prevrtanja na DMS CNC usmjerivaču: Nakon što sam razmislila o potencijalu troosne obrade prevrtanja, odlučila sam konstruirati trodimenzionalnu reljefnu sliku od laminirane šperploče. Ovaj bi se komad mogao vidjeti s obje strane, iako bi dvije strane bile međusobno povezane