Obsah:

3D AIR myš - Zpracování Arduino +: 5 kroků
3D AIR myš - Zpracování Arduino +: 5 kroků

Video: 3D AIR myš - Zpracování Arduino +: 5 kroků

Video: 3D AIR myš - Zpracování Arduino +: 5 kroků
Video: Pětiosý CNC router - kapesní NC V2-50 test ladění 2024, Červenec
Anonim
3D AIR myš | Zpracování Arduino +
3D AIR myš | Zpracování Arduino +

3D AIR myš | Arduino + Processing Jsem student průmyslového designu a v loňském roce jsem v rámci kurzu „Technologie jako materiál RAW“postavil tento projekt jako svou závěrečnou práci. Většinu času pracuji s CAD softwarem SolidWorks pro návrh a tvorbu. Otočení pevného tělesa na obrazovce se provádí prostředním tlačítkem myši. Hledal jsem něco intuitivnějšího. Tak jsem skončil s 3D vzduchovou myší, kde se skutečné otáčení předmětu provádí pohybem myši ve vzduchu na všech 3 osách - stejným způsobem, jakým byste objekt otáčeli, pokud byste jej drželi v ruce. Použil jsem Arduino, několik senzorů a skicu pro zpracování. POZNÁMKY:- V tuto chvíli je to jen ukázka konceptu, protože pro práci s SolidWorkem neexistuje žádný skutečný plug-in (ale samozřejmě neváhejte napište jeden, pokud víte, jak:) nějaký nápad, pokud si ho chcete zkusit postavit sami … Užijte si to … (Je to můj první návod) Zde je video demo hotového projektu

Krok 1: Hardware a věci

Hardware a věci
Hardware a věci
Hardware a věci
Hardware a věci
Hardware a věci
Hardware a věci
Hardware a věci
Hardware a věci

Nejde o nejlevnější instruktáž, protože je založen na 3osém akcelerometru + kompasovém senzoru. Muška, kterou budete potřebovat:* Myš - použitá je lepší (jen proto, že je používaná a levnější), měla by ji dělat jakákoli myš. Potřebujete mít nějaký prostor pro umístění senzorů a nějaké další dráty, takže nechoďte pro extra tenké / extra malé myši.* Modul kompasu s kompenzací náklonu - HMC634 - Toto je 3osý senzor, zakoupený na SpurkFun pro ~ 149 $* Převodník logické úrovně - POVINNOST! Protože Arduino je 5V a 3osý senzor je 3,3V, potřebujete jeden z nich k převodu 5V na 3,3V. Má velké jméno, ale na SpurkFun stál pouze 1,95 $.* Velký optický detektor / fototranzistor - Jedná se o jednoduchý optický senzor, který se v tomto projektu používá k detekci zvedání myši z pracovní plochy. Koupeno na SpurkFun za 2,25 $ Pokud nemáte dostatek místa pro umístění této myši do vámi vybrané myši, můžete použít tuto, menší a levnější. * Jedna (1) LED - nevadí barva, ultra jasný bude fungovat lépe.* 2 rezistory - jeden (1) x 100Ω a jeden (1) x 100KΩ (pro optický senzor)* deska Arduino - DA! Použil jsem model Diecimila. Novější Duemilanove je k dispozici na SpurkFun za přibližně 29,95 $ (mělo by také fungovat) + nainstalován software Arduino.* Nainstalován software pro zpracování.* Zdrojový kód projektu (nebojte se, stáhnete si ho za sekundu). Plus: Některé horké lepidlo (k upevnění věcí na místě) Pár drobných šroubků. Asi 10 cm dřevěné kotvy o průměru 6 mm. Některé dráty navíc. Páječka. Něčím, čím jsem plast nařezal, jsem použil řezací nůž a pilník (PRO tvarování). („Dobře, nenáviď mě za tento krok, angličtina je můj druhý jazyk, pokud jsem to špatně pochopil, omlouvám se, jsem si jistý, že za sekundu pochopíš, o co jde. uvidíte to na obrázcích “)

Krok 2: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika

Všechno je třeba pájet dohromady … Svým způsobem … POZNÁMKA: 3osý snímač je drahá maličkost, dvakrát zkontrolujte zapojení, než vše zapnete … Podívejte se na připojená schémata pro všechna zapojení použitá v tomto projektu. Připojený zdrojový kód může fungovat pouze tehdy, pokud používáte stejná čísla pinů jako já, ale při připojování je můžete změnit, pokud změníte příslušná čísla v kódu. Připojení 3osého snímače k převodníku logické úrovně: Senzor VCC -> Arduino 3V3Sensor GND -> Arduino GndSensor SDA -> Převodník TXI (Chan1) Převodník TXO (Chan1) -> Arduino ANALOG IN 4Sensor SCL -> Převodník TXI (Chan2) Převodník TXO (Chan2) -> Arduino ANALOG IN 5Converter GND (alespoň jeden z nich) -> Arduino GndConverter HV -> Arduino 5VConverter LV -> Arduino 3V3 Optický snímač na Arduino: Viz přiložený obrázek Digitální vstup = Pin 11 na ArduinoLED: GND k některým GND (použil jsem jeden z optických senzorů)+ na Arduino PIN 13 (To bylo provedeno, protože tento pin již má integrovaný odpor, pokud použijete jiný, ujistěte se, že používáte odpor, abyste LED diodu nespálili)

Krok 3: Příprava myši

Příprava myši
Příprava myši
Příprava myši
Příprava myši
Příprava myši
Příprava myši

Zde nacházejí senzory své místo uvnitř pouzdra myši. Najděte nejlepší místo pro upevnění 3osého senzoru. Ujistěte se, že je vyrovnán a dbejte na orientaci (Budete vědět, kdy budete mít senzor v ruce) Můžete to opravit, jak chcete, použil jsem 2 krátké kusy dřevěné kotvy, vyvrtané tak, aby přijaly 2 malé šrouby a za horka přilepené k základní desce myši. U optického senzoru vytvarujte ve spodní části myši obdélníkový otvor. Jde o to, aby senzor neustále „viděl“tabulku. Když je myš zvednuta a stav senzoru je „otevřený“(není vidět žádná tabulka), myš se přepne do 3D režimu (spustí skicu zpracování) Vytvarujte další otvor pro vedení dalších vodičů (od senzorů k Arduinu) ven z plastové pouzdro. Můj byl umístěn na pravé straně myši. Opravte LED, kde se zobrazí. V tomto projektu je LED indikátorem 3D režimu. Položím své vedle silikonového kolečka myši. Když je myš nadzvednuta, kolo mělo pěknou modrou záři.

Krok 4: Zdrojový kód

Kód pro Arduino napsal Shachar Geiger, můj učitel, a byl pro tento projekt upraven mnou. Kód 3D krychle je základní kód, který najdete na webových stránkách Zpracování. Trochu jsem to upravil. V kódu tento kus převádí nezpracované informace pocházející ze snímače (obvykle -180 až 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); Informace ze senzoru a Arduina přejdou do náčrtu zpracování pro každou samostatnou osu, ale s předcházejícím písmenem osy (pro exp. X12 Y200 Z130) následující kód vynechá písmeno a ponechá pouze hodnoty, které mají být odeslány do 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 (); Tento kus kódu zahodí všechny záporné hodnoty … 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);} Připojený soubor ZIP obsahoval Arduino i zpracovávací kód

Krok 5: Video

To je ono … Toto je hotový projekt ve videu. Dochází k menší závadě (můžete vidět, že kostka ve videu někdy „skáče“), To je kvůli ose Z, to se vám nemusí stát …

Doporučuje: