Kazalo:

Navidezni grafiti: 8 korakov
Navidezni grafiti: 8 korakov

Video: Navidezni grafiti: 8 korakov

Video: Navidezni grafiti: 8 korakov
Video: Graffiti Classics 2024, November
Anonim
Navidezni grafiti
Navidezni grafiti

V spletu sem videl nekaj virtualnih sistemov grafitov, vendar nisem našel nobenih objavljenih informacij o tem, kako jih narediti (čeprav glejte stran s končnimi povezavami). Mislil sem, da bi bilo to odlično za moje delavnice grafitov, zato sem ga naredil sam in sem tukaj objavil vse, kar potrebujete, da ga naredite sami! Značilnosti * vsa odprtokodna in strojna oprema, * cena <100 funtov brez projektorja in računalnika, * zazna šobo pločevinke pritisk in razdalja od zaslona, * modeli kapljajo, če se premikate prepočasi! Opombe * ta navodila so precej visoka, vendar mi sporočite, če sem zamudil kaj pomembnega, * računalniška nastavitev je za Linux. Če začnete delovati na drugih sistemih, objavite svoja navodila! Potrebne veščine * obdelava lesa za izdelavo lesenega projekcijskega zaslona, * elektronska vezja in programiranje mikro krmilnikov Atmel AVR (ali arduino), * lahko namestite nekaj knjižnice v računalniku, da omogočite obdelavo za pogovor z wiimote.

1. korak: Kako deluje

Kako deluje
Kako deluje

* Razpršilnik ima infrardečo LED, ki sveti skozi zaslon projektorja in jo vidi kamera wiimote. * Wiimote pošlje koordinate X in Y pločevinke v računalnik prek radijske povezave Bluetooth. * Računalnik izvaja preprost program za slikanje, ki s projektorjem "pobarva" črte med risanjem s pločevinko. Prav tako skrbi za preslikavo kamere wiimote na zaslon s pomočjo 4 -točkovnega kalibracijskega sistema. * Razpršilo lahko zazna tudi njegovo oddaljenost od zaslona in pritisk šobe: bolj ko ste oddaljeni, večja je narisana pika, močneje kot pritisnete na šobo, tem bolj postane neprozorna barvna pika.

Korak: Komponente

Komponente
Komponente

Tu so vsi deli, ki jih potrebujete za združevanje:

* računalnik - mora biti približno 1,4 GHz, bluetooth in usb vrata, * okolje za obdelavo, * programska oprema virtualGraffiti, prenos iz koraka "nastavitev računalnika", * nintendo wiimote - kupite rabljeno pri ebayu, * projektor - to bo treba bodi svetel, če nameravaš uporabljati podnevi ali v notranjosti z vklopljenimi lučmi, * zadnji projekcijski zaslon - naredi si, * navidezna škropilnica - naredi si, * sprejemnik navidezne pršilne posode - naredi sam. vgrajen v USB-> serijski) 21 funtov * radio rx/tx par 9 funtov * komponente za gradbeni razpršilec 18 funtov plus dodatno ohišje 12 funtov * izbirno ohišje za sprejemnik 8 funtov * nintendo wiimote - kupite rabljeno pri ebayu 20 funtov

3. korak: Zaslon za projekcijo zadaj

Zaslon za projekcijo zadaj
Zaslon za projekcijo zadaj

Zaslon mora biti ravno prav viden! Če ni dovolj pregleden, slika ne bo vidna in infrardeča LED ne bo vidna kameri wiimote. Če je preveč prozoren, bo projektor zaslepljen in slika bo izprana. (Čeprav si oglejte, kako to ublažiti, glejte zadnjo stran).

Uporabil sem lycra, ki je raztegljiva, da jo lahko raztegnem, da postane bolj pregledna. Trenutno ga držim s palicami, vendar pri dostopu do šivalnega stroja preidem na velcro. Leseni okvir sem naredil s pomočjo delavnice in tesarja (hvala Lou!) Potreboval sem ga, da se je zrušil, da sem ga lahko prevažal na kolesu. Če ga izdelujete za fiksno prizorišče, ga bo lažje narediti. Naj bo le v razmerju stranic 4: 3 in dovolj trdno, da ostane pokonci. Ugotovil sem, da ljudje na zaslon precej pritisnejo, zato ga je treba malce odporiti.

4. korak: Razpršilnik

Razpršilec
Razpršilec
Razpršilec
Razpršilec

To je najzahtevnejši del projekta in trajalo je najdlje časa, da se je popravilo. Dobra novica je, da vseh teh stvari ne potrebujete, da bi zabaven sistem deloval. Najenostavnejša stvar je, da dobite vezje s stikalom, infrardečo LED in uporom. Ko pritisnete stikalo, zasveti LED in ga opazuje in spremlja kamera wiimote.

Ta različica je naprednejša, saj meri tudi razdaljo od zaslona in tlak v šobi. Obe stvari sta pomembni, ko dejansko slikate s pršenjem. Želel sem narediti sistem usposabljanja, zato je bilo pomembno, da je sistem čim bolj "realen" (v mojih mejah stroškov). Vezje je precej preprosto. Oglejte si priloženo vezje, da se prepričate sami. Potrebujete osnovne veščine spajkanja in vezje lahko postavite na veroboard. Prav tako bi morali biti zadovoljni s programiranjem mikrokrmilnikov. Ustvarjanje vezja iz nič v primerjavi z možnostjo 1 plošče arduino: če želite uporabiti ploščo arduino v razpršilcu. Uporabite arduino takšnega, kot je, in prepolovite hitrost prenosa radia tx v spreycan kodi. možnost 2: želite prihraniti denar, vendar nimate programerja varovalk. Zgradite ploščo in uporabite 16MHz zunanji kristal. Prepolovite hitrost prenosa kot pri možnosti 1. možnost 3: želite prihraniti še več denarja in imate programer varovalk. Zgradite ploščo, vendar izpustite zunanji kristal. S programerjem varovalk nastavite atmel za uporabo svoje notranje ure. Verjamem, da vam bo ta vzporedni programer DIY omogočil programiranje varovalk. Uporabljam programer olimex. Pregled vezja Mikrokrmilnik meri izhod iz ostrega senzorja razdalje 2d120x (odlične informacije o tem senzorju tukaj) in linearnega potenciometra. Meri tudi izhod LED PWM potenciometra. To se uporablja za prilagajanje svetlobne moči LED. IR LED, ki ga uporabljam, je 100mA, najvišja valovna dolžina pa 950nm (idealno za wiimote). Mikrokrmilnik uporablja PWM za zelo hitro utripanje LED. Uporabljamo mosfet z močjo IRF720, da mikro ne izgore. Prav tako sem želel v prihodnosti dodati zmogljivost za svetlejšo LED. LED lučka stanja utripa vsakič, ko se podatkovni paket predvaja po radiu. Če vse deluje dobro, bi morala ta lučka utripati pri približno 15Hz. Končno je modul radijskega oddajnika pritrjen na pin 3 (digitalni pin 1 za arduino) mikrokrmilnika, tako da lahko podatke, ki jih merimo, pošljemo v računalnik. POTREBUJETE tudi anteno, pritrjeno na sprejemno ploščo. Uporabil sem 12 cm dolgo žico. To je polovica tistega, kar je priporočljivo na tej odlični strani z informacijami. Programiranje mikrokrmilnika Ko zgradite vezje, boste morali naložiti program (priložen). Uporabljam programsko okolje/knjižnice arduino. To lahko sestavite z arduino IDE in nato programirate, kot običajno. Moje vezje je poenostavljeno z uporabo notranje 8MHz ure mikro. Če uporabljate to, boste morali nastaviti nastavitve varovalk za uporabo notranjega 8MHz kalibriranega RC: 1111 0010 = 0xf2 To pomeni, da boste morali imeti programerja, ki lahko piše varovalke../avrdude -C./avrdude.conf -V -p ATmega168 -P/dev/ttyACM0 -c stk500v2 -U lfuse: w: 0xf2: m Če nimate tovrstnega programerja (recimo, da imate samo arduino ploščo), samo uporabite 16MHz kristal med zatiči 9 in 10 in vse bi moralo delovati (nepreverjeno - morda boste potrebovali kondenzator). Prav tako boste morali spremeniti programsko kodo, tako da se bo oddajnik prepolovil. Preizkus Ko vse združite in naložite program, morate prilagoditi svetlost IR LED. Želel sem samo povečati svetlobno moč brez prepečenja LED, zato sem jih nekaj razstrelil in na koncu dosegel približno 120 -milimetrsko povprečje. Če imate multimeter, lahko to nastavite precej enostavno, sicer pa nastavite potenciometer, da je precej visok, vendar ne do konca! Preverite lahko tudi analogne vhode na zatičih 26, 27 in 28 potenciometra za nastavitev PWM, senzorja razdalje in potenciometra šobe. Če imate obseg, lahko preverite impulzni niz, ki prihaja iz zatiča 3 v modul radijskega TX. Preverite pwm izhod LED na zatiču 11. S kamero mobilnega telefona (ali večino kamer CCD) lahko vidite, da se IR LED vklopi, ko pritisnete gumb za šobo.

5. korak: Sprejemnik za pršenje

Sprejemnik za pršenje
Sprejemnik za pršenje
Sprejemnik za pršenje
Sprejemnik za pršenje

Če greste po enostavni razpršilni poti, potem tega kosa ne potrebujete.

V nasprotnem primeru uporabljam samo arduino ploščo z radijskim sprejemnikom, priključenim na pin 2. To olajša prenos podatkov v računalnik prek USB -> serijskega čipa na arduino plošči. Če bi nameraval narediti vezje po meri, bi verjetno uporabil ocenjevalno ploščo FTDI USB -> serijsko UART. POTREBUJETE tudi anteno, pritrjeno na sprejemno ploščo. Uporabil sem 12 cm dolgo žico. To je polovica priporočenega na tej odlični strani z informacijami. Naložite skico graffitiCanReader2.pde v arduino. Ko je pločevinka napolnjena, bi morali videti, da LED lučke stanja na pločevinki in sprejemna plošča hitro utripajo. Vsakič, ko LED lučka utripa, se pošlje podatkovni paket. Vsakič, ko LED lučka sprejemnika utripa, se sprejme veljaven podatkovni paket. Če tega ne vidite, je nekaj v radijski povezavi. Nekaj, kar je treba poskusiti, je povezovanje TX pločevinke z RX sprejemnika s kosom žice. Če to ne deluje, imate verjetno neskladje v hitrosti prenosa virtualne žice (glejte kodo). Ob predpostavki, da se na sprejemnikovi plošči dogaja veliko utripanja, bi to morali spremljati na svojih serijskih vratih USB. Če spremljate serijska vrata (običajno /dev /ttyUSB0) pri 57600, bi morali videti podatke, ki izvirajo, kot je Got: FF 02 Got: FF 03… Prva številka je tlak, druga pa razdalja. Zdaj lahko zaženete obdelavo in uporabite te podatke za ustvarjanje čudovitih slik! Naložite priloženo skico obdelave (canRadioReader.pde). Zaženite program in preverite izhod programa. Morali bi dobiti frekvenco (ki vam pove, koliko posodobitev na sekundo dobi sprejemnik - vsekakor želite, da je to vsaj 10Hz). Prav tako boste dobili meritev razdalje in šob. Preizkusite pločevinko tako, da premaknete potenciometer šobe in premaknete delček kartice pred senzorjem razdalje. Če vse deluje, pojdite na naslednji korak - pripravite računalnik za pogovor z wiimote!

6. korak: Computer Setup: Obdelava in Wiimote

Computer Setup: Obdelava in Wiimote
Computer Setup: Obdelava in Wiimote

Naš glavni cilj je obdelava pogovora z wiimotom. Ta navodila so specifična za Linux, vendar bi morala delovati na računalnikih Mac in Windows z nekaj raziskavami o tem, kako podatke wiimote obdelati. Po namestitvi obdelave sem na forumu našel nekaj navodil, vendar sem imel še vedno nekaj težav. Tukaj je tisto, kar sem moral narediti:

  1. namestite obdelavo
  2. namestite knjižnice bluez: sudo apt-get install bluez-utils libbluetooth-dev
  3. create./processing/libraries/Loc in./processing/libraries/wrj4P5
  4. prenesite bluecove-2.1.0.jar in bluecove-gpl-2.1.0.jar ter jih naložite v./processing/libraries/wrj4P5/library/
  5. prenesite wiiremoteJ v1.6 in vnesite.jar v./processing/libraries/wrj4P5/library/
  6. prenesite wrj4P5.jar (uporabil sem alfa-11) in jo naložite v./processing/libraries/wrj4P5/library/
  7. prenesite wrj4P5.zip in razpakirajte v./processing/libraries/wrj4P5/lll/
  8. prenesite Loc.jar (uporabil sem beta-5) in ga naložite v./processing/libraries/Loc/library/
  9. prenesite Loc.zip in razpakirajte v./processing/libraries/Loc/lll/

Nato sem uporabil kodo, navdihnjeno iz programa Classiclll, da so gumbi in vrstica senzorja delovali. Priložena koda/skica samo nariše krog, kjer wiimote najde prvi infrardeči vir.

Če želite preveriti svoj bluetooth, pritisnite gumba ena in dva na wiimoteju, nato poskusite $ hcitool scan na terminalu. Videti bi morali, da je zaznan nintendo wiimote. Če tega ne storite, morate podrobneje preučiti nastavitve bluetootha. Če je vse v redu, naložite (priložen) program wiimote_sensor.pde in ga zaženite. V spodnjem delu zaslona bi morali videti: BlueCove različice 2.1.0 na bluezu, ki poskuša najti wii Pritisnite gumba 1 in 2 na wiimotu. Ko ga zaznate, pomaknite infrardeči vir (razpršilnik) okoli njega. Po gibanju bi morali videti rdeč krog! Preden nadaljujete, se prepričajte, da to deluje. Če ne morete delovati, poiščite forum za obdelavo.

7. korak: Nastavite vse

Nastavitev vsega
Nastavitev vsega

Spodaj prenesite programsko opremo virtualGraffiti. Izvlecite ga v imenik skicirk in sledite tem korakom!

* razpršilnik za vklop, preverite stanje utripa LED lučka. * vklopite računalnik, priključite sprejemnik razpršilnika, * nastavitveni zaslon in projektor, * preverite, ali LED utripa stanje sprejemnika, lahko začnete z obdelavo in naložite program virtualnih grafitov, * preverite, ali dobite serijski indikator RX in TX Na plošči arduino utripajo LED diode, * pritisnite oba gumba na wiimoteju, * naredite 4 -točkovno kalibracijo, ko boste pozvani (razpršilec položite na vsako tarčo, nato pritisnite na šobo, dokler napis ne postane rdeč). * zabavaj se!

8. korak: Viri, povezave, hvala, ideje

Povezave Tu so povezave, ki so bile neprecenljive pri delovanju tega projekta: RF info: https://narobo.com/articles/rfmodules.html Arduino: www.arduino.cc Obdelava: www.processing.org Uporaba wii pri obdelavi: https://processing.org/discourse/yabb2/YaBB.pl? num = 1186928645/15 Linux: www.ubuntu.org Wiimote: https://www.wiili.org/index.php/Wiimote, https:// wiki.wiimoteproject.com/IR_Sensor#4 -točkovna kalibracija valovnih dolžin: https://www.zaunert.de/jochenz/wii/Hvala! Brez veliko ljudi, ki bi objavilo svoje delo, bi bil ta projekt veliko težji in dražji. Velika zahvala vsem odprtokodnim posadkam, ljudem, ki so vdrli v wiimote, Classiclll za olajšanje uporabe wiimote pri obdelavi, Jochen Zaunert za kodo za kalibracijo, ekipo za obdelavo, posadko arduino, Lou za mizarsko pomoč in vsem tistim, ki raziskujejo, izdelujejo in nato objavi svoje ugotovitve na spletu! Sistemi drugih ljudi * Pravkar sem našel https://friispray.co.uk/ z odprtokodno programsko opremo in kako * ta sistem omogoča uporabo šablon: kul! https://www.wiispray.com/, brez kode ali kako * yrwall virtualni sistem grafitov, brez kode ali howto. Ideje za raziskovanje * uporabite 2 wiimote za 3D -sledenje glasnosti in odpravite senzor razdalje v pločevinki: https://www.cl.cam.ac.uk/~sjeh3/wii/. To bi bilo dobro, ker je senzor razdalje trenutno najšibkejši del sistema. To bi tudi pomenilo, da bi lahko za bolj žive slike uporabili ustrezen zaslon za zadnjo projekcijo. * uporabite wiimote v pločevinki, da odkrijete kot razpršilnika. To bi modelu brizgalne barve dodalo realizem.

Priporočena: