Sadržaj:
- Korak 1: Hardver i stvari
- Korak 2: Elektronika
- Korak 3: Priprema miša
- Korak 4: Izvorni kod
- Korak 5: Video zapis
Video: 3D AIR miš - Arduino + obrada: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:10
3D AIR miš | Arduino + ProcessingJa sam student industrijskog dizajna, a prošle godine sam u sklopu kursa 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 srednjim dugmetom 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 obrade. NAPOMENE:- Za sada je ovo samo demonstracija koncepta, jer ne postoji stvarni dodatak za rad sa SolidWorkom (ali, naravno, slobodno napišite jedan ako znate kako:))- Budući da sav hardver nije bio moj, stvarni 3D miš je odavno nestao, a ja koristim neke fotografije i video kako bih pokušao u svemu ovome imati smisla i pružiti vam 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. Potrebne stvari:* Miš - rabljeni je bolji (samo zato što se koristi i jeftiniji), svaki miš bi to trebao učiniti. Morate imati malo prostora za smještaj senzora i neke dodatne žice, stoga nemojte se baviti ekstra tankim / ekstra sićušnim miševima.* Modul kompasa s kompenzacijom nagiba - HMC634 - Ovo je troosni senzor, kupljen na SpurkFunu za ~ 149 USD* Pretvarač logičkog nivoa - 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 (Trebalo bi i raditi) + instaliran Arduino softver.* Instaliran softver za obradu.* Izvorni kod projekta (Ne brinite, moći ćete ga preuzeti za koju sekundu.) Plus: Neke vruće ljepilo (za popravljanje stvari) Nekoliko sićušnih vijaka. Oko 10 cm drvenog sidra od 6 mm (promjera). 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š razumjeti o čemu govorim u sekundi. vidjet ćeš to na slikama ")
Korak 2: Elektronika
Sve treba lemiti zajedno … Na neki način … NAPOMENA: Troosni senzor je skupa sitnica, provjerite ožičenje prije nego što sve uključite … Pogledajte priložene sheme 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 senzora na pretvarač logičkog nivoa: Senzor VCC -> Arduino 3V3Sensor GND -> Arduino GndSensor SDA -> Pretvarač TXI (Chan1) Pretvarač TXO (Chan1) -> Arduino ANALOGNI ULAZ 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čki 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 da 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 poravnat 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 "vidi" tablicu cijelo vrijeme. 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 na desnoj strani miša. Popravite LED gdje će se prikazati. U ovom projektu LED je indikator 3D načina rada. Svoje stavljam pored silikonskog točkića miša. Kada se miš podigne, točak je imao lijep plavi sjaj.
Korak 4: Izvorni kod
Kod za Arduino napisao je Shachar Geiger, moj učitelj, a ja sam ga izmijenio za ovaj projekt. 3D kôd koda 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 (obič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 sa prethodnim slovom osi (za primjer X12 Y200 Z130), sljedeći kod 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;} inace {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 zapis
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čuje se:
Bluetooth zvučnik "Napravi sam" s baterijskim napajanjem // Kako se gradi - Obrada drveta: 14 koraka (sa slikama)
Bluetooth zvučnik sa DIY baterijskim napajanjem // Kako se gradi-Obrada drveta: Napravio sam ovaj prijenosni Bluetooth boombox zvučnik sa punjivom baterijom, napajajući se pomoću kompleta zvučnika Parts Express C-Note plus njihove ploče za pojačalo KAB (veze do svih dijelova ispod). Ovo je bila moja prva verzija zvučnika i iskreno sam zadivljen koliko je sjajan
Obrada slike s Raspberry Pi: Instaliranje OpenCV -a i Razdvajanje boja slike: 4 koraka
Obrada slike pomoću Raspberry Pi -a: Instaliranje OpenCV -a i odvajanje boja slike: Ovaj je post prvi od nekoliko vodiča za obradu slika koji slijede. Pažljivije ćemo pogledati piksele koji čine sliku, naučiti kako instalirati OpenCV na Raspberry Pi, a takođe ćemo napisati i testne skripte za snimanje slike, a takođe i
Bluetooth i IMU sa Tactigon pločom - Obrada: 7 koraka
Bluetooth i IMU s Tactigon pločom - Obrada: Ova serija č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 da upotrebim 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 funkciju zadržavanja na mjestu radi pojednostavljenja procesa i popravke 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 ruteru: 5 koraka (sa slikama)
Obrada prevrtanja na DMS CNC usmjerivaču: Nakon razmišljanja o potencijalu troosne prevrtanja, odlučio sam konstruirati trodimenzionalnu reljefnu sliku od laminirane šperploče. Ovaj bi se komad mogao vidjeti s obje strane, iako bi dvije strane bile povezane jedna s drugom