Innholdsfortegnelse:

Virtuell graffiti: 8 trinn
Virtuell graffiti: 8 trinn

Video: Virtuell graffiti: 8 trinn

Video: Virtuell graffiti: 8 trinn
Video: Graffiti Euro Trip 8 Only Tagging 2024, Juli
Anonim
Virtuell graffiti
Virtuell graffiti

Jeg har sett noen virtuelle graffitisystemer på nettet, men kunne ikke finne informasjon publisert om hvordan du lager en (men se den siste lenken). Jeg trodde det ville være flott for mine graffitiworkshops, så jeg lagde en selv og har publisert alt du trenger for å lage din egen her! Funksjoner * all åpen kildekode og maskinvare, * koster <£ 100 eksklusiv projektor og datamaskin, * oppdager boksens dyse trykk og avstand fra skjermen, * modeller maling drypper hvis du beveger deg for sakte! Merknader * dette instruerbare er ganske høyt nivå, men gi meg beskjed hvis jeg har gått glipp av noe viktig, * databehandlingsoppsettet er for Linux. Hvis du får det til å fungere på andre systemer, vennligst legg ut instruksjonene dine! Ferdigheter du trenger * trebearbeiding for å lage den bakre projeksjonsskjermen i tre, * elektroniske kretser og programmering Atmel AVR mikrokontrollere (eller arduino), * være i stand til å installere noen biblioteker på datamaskinen din for å tillate behandling å snakke med wiimote.

Trinn 1: Slik fungerer det

Hvordan det fungerer
Hvordan det fungerer

* Sprayboksen har en infrarød LED som skinner gjennom projektorskjermen og blir sett av wiimote -kameraet. * Wiimote sender boksens X og Y-koordinater til datamaskinen via en Bluetooth-radiokobling. * Datamaskinen kjører et enkelt maleprogram som bruker en projektor til å "male" linjene mens du tegner med boksen. Det tar også seg av å kartlegge wiimote -kameraet på skjermen ved hjelp av et 4 -punktskalibreringssystem. * Sprayen kan også oppdage avstanden fra skjermen og dysetrykket: jo lenger du er borte jo større blir prikken trukket, jo hardere du trykker på dysen, desto mer ugjennomsiktig blir malingprikken.

Trinn 2: Komponentene

Komponentene
Komponentene

Her er alle bitene du trenger for å få sammen:

* datamaskin - må være omtrent 1,4 GHz, bluetooth og en usb -port, * behandlingsmiljø, * virtualGraffiti -programvare, nedlasting fra trinnet "datamaskinoppsett", * nintendo wiimote - kjøp brukt fra ebay, * projektor - den må vær lys hvis du planlegger å bruke i løpet av dagen eller inne med lys på, * projektorskjerm bak - lag deg selv, * virtuell sprayboks - lag deg selv, * virtuell sprayboksmottaker - lag deg selv. kostnad * arduino for boksmottaker (innebygd usb-> seriell) £ 21 * radio rx/tx par £ 9 * komponenter for bygnings spraybokse £ 18 pluss valgfritt kabinett £ 12 * valgfritt kabinett for mottaker £ 8 * nintendo wiimote - kjøp brukt fra ebay £ 20

Trinn 3: Projeksjon bak

Bakre projeksjonsskjerm
Bakre projeksjonsskjerm

Skjermen trenger å være akkurat den riktige mengden gjennomsiktighet! Hvis det ikke er gjennomsiktig nok, vil ikke bildet bli sett og infrarød LED vil ikke være synlig for wiimote -kameraet. Hvis det er for gjennomsiktig, vil projektoren blende og bildet vaskes ut. (Se den siste siden for måter å redusere dette på).

Jeg brukte lycra, som er tøyelig, så jeg kan strekke den for å gjøre den mer gjennomsiktig. For øyeblikket holder jeg den med tommelfingeren, men jeg tar eksamen til borrelås når jeg får tilgang til en symaskin. Jeg lagde en treramme ved hjelp av et verksted og en snekker (takk Lou!) Jeg trengte at den kollapset slik at jeg kunne transportere den på sykkelen min. Hvis du lager en til et fast sted, blir det lettere å lage. Bare gjør det med et 4: 3 -sideforhold, og stivt nok til å holde seg oppreist. Jeg har funnet ut at folk har en tendens til å presse på skjermmaterialet en god del, så det må være litt robust.

Trinn 4: Sprayboks

Sprayboks
Sprayboks
Sprayboks
Sprayboks

Dette er den mest kompliserte delen av prosjektet og tok lengst tid å få det riktig. Den gode nyheten er at du ikke trenger alt dette for å få et morsomt system til å fungere. Det enkleste er bare å få en krets med en bryter, og infrarød LED og en motstand. Når du trykker på bryteren, lyser LED -en og blir sett og sporet av wiimote -kameraet.

Denne versjonen er mer avansert, fordi den også måler avstanden fra skjermen og dysetrykket. Begge disse tingene er viktige når du faktisk spraymaler. Jeg ønsket å lage et opplæringssystem, så det var viktig å gjøre systemet så "ekte" som mulig (innenfor mine kostnadsrammer). Kretsen er ganske enkel. Ta en titt på det vedlagte kretsdiagrammet for å se det selv. Du trenger grunnleggende loddeferdigheter og for å kunne sette en krets på veroboard. Du bør også føle deg fornøyd med å programmere mikrokontrollere. Å bygge en krets fra bunnen av å bruke et arduino -kort alternativ 1: hvis du vil bruke et arduino -bord i sprayboksen. Bruk arduino som den er og halver overføringshastigheten til radio tx i spraycan -koden. alternativ 2: du vil spare penger, men du har ikke en sikringsprogrammerer. Bygg tavlen og bruk en 16MHz ekstern krystall. Halver overføringshastigheten som i alternativ 1. alternativ 3: du vil spare enda mer penger, og du har en sikringsprogrammerer. Bygg tavlen, men utelat den ytre krystallet. Bruk sikringsprogrammereren til å stille inn atmel til å bruke den interne klokken. Jeg tror denne DIY parallelle programmereren lar deg programmere sikringer. Jeg bruker olimex programmereren. Oversikt over kretsen Mikrokontrolleren måler utgangen fra den skarpe 2d120x avstandssensoren (flott informasjon om denne sensoren her) og det lineære potensiometeret. Det måler også effekten av LED PWM -potensiometeret. Dette brukes til å justere LED -lysets lysutgang. IR -LED -en jeg bruker er 100mA og toppbølgelengden er 950nm (ideell for wiimote). Mikrokontrolleren bruker PWM til å blinke LED -en veldig raskt. Vi bruker en IRF720 power mosfet slik at mikroen ikke brenner ut effekten. Jeg ønsket også å legge til kapasitet for en lysere LED i fremtiden. Det er en status -LED som blinker hver gang en datapakke sendes på radioen. Hvis alt fungerer bra, bør dette lyset blinke på rundt 15Hz. Til slutt er radiosendermodulen festet til pin 3 (digital pin 1 for arduino) på mikrokontrolleren slik at vi kan sende informasjonen vi måler til datamaskinen. Du trenger også en antenne festet til mottakerbordet. Jeg brukte en 12 cm lang bit wire. Dette er halvparten av det som anbefales på denne utmerkede infosiden. Programmering av mikrokontrolleren Etter at du har bygget kretsen, må du laste opp programmet (vedlagt). Jeg bruker arduino programmeringsmiljø/libaries. Du kan kompilere dette med arduino IDE, og deretter programmere det slik du vanligvis gjør. Kretsen min blir enklere ved å bruke den interne 8MHz -klokken til mikroen. Hvis du bruker dette, må du angi sikringsinnstillingene for å bruke den interne 8MHz kalibrerte RC: 1111 0010 = 0xf2 Dette betyr at du må ha en programmerer som kan skrive sikringer../avrdude -C./avrdude.conf -V -p ATmega168 -P/dev/ttyACM0 -c stk500v2 -U lfuse: w: 0xf2: m Hvis du ikke har denne typen programmerer (si at du bare har arduinoen board), bare bruk en 16MHz krystall mellom pinnene 9 og 10, og alt skal fungere (uprøvd - du trenger kanskje en kondensator). Du må også endre programkoden slik at senderoverføringen halveres. Testing Etter at du har alt sammen og programmet er lastet ned, må du justere lysstyrken til IR -LED. Jeg ville bare maksimere lysytelsen uten å skåle LED -en, så jeg blåste noen få og endte opp med omtrent 120ma draw gjennomsnitt. Hvis du har et multimeter kan du justere dette ganske enkelt, ellers kan du bare justere potensiometeret til å være ganske høyt, men ikke hele veien! Du kan også sjekke de analoge inngangene på pinnene 26, 27 og 28 på PWM -justeringspotensiometeret, avstandssensoren og dysepotensiometeret. Hvis du har et omfang, kan du sjekke pulstoget som kommer ut av pin 3 inn i radio -TX -modulen. Kontroller pwm -utgangen til LED -en på pinne 11. Du kan bruke et mobiltelefonkamera (eller de fleste CCD -kameraer) for å se IR -LED -en tennes når du trykker på dyseknappen.

Trinn 5: Sprayboksmottaker

Sprayboksmottaker
Sprayboksmottaker
Sprayboksmottaker
Sprayboksmottaker

Hvis du går den enkle sprayboksen, trenger du ikke denne biten.

Ellers bruker jeg bare et arduino -kort, med radiomottakeren koblet til pinnen 2. Dette gjør det enkelt å få dataene inn i en datamaskin via USB -> seriell brikke på arduino -kortet. Hvis jeg skulle lage en tilpasset krets, ville jeg sannsynligvis bruke en FTDI USB -> seriell UART -evalueringstavle. Du trenger også en antenne festet til mottakerbordet. Jeg brukte en 12 cm lang tråd. Dette er halvparten av det som anbefales på denne utmerkede infosiden. Last graffitiCanReader2.pde -skissen inn i arduinoen. Når boksen er slått på, bør du se statuslysdiodene på boksen og mottakerkortet blinker raskt. Hver gang LED -boksen blinker, sendes en datapakke. Hver gang mottakerbordets LED blinker, mottas en gyldig datapakke. Hvis du ikke ser dette, er det noe med radiolinken. Noe du kan prøve er å koble boksen TX til mottakerens RX med et stykke ledning. Hvis dette ikke fungerer, har du sannsynligvis et feil samsvar i overføringshastigheten til virtualwire (se koden). Forutsatt at du har mye blinkende på mottakerbordet, bør du være i stand til å overvåke dette på din usb -serielle port. Hvis du overvåker den serielle porten (vanligvis /dev /ttyUSB0) på 57600, bør du se data spyle ut som Got: FF 02 Got: FF 03… Det første tallet er trykk, og det andre er avstand. Nå kan du kjøre behandling og bruke denne informasjonen til å lage flotte bilder! Last den vedlagte behandlingsskissen (canRadioReader.pde). Start programmet og sjekk utdataene fra programmet. Du bør få en frekvens (som forteller deg hvor mange oppdateringer per sekund mottakeren får - du vil definitivt at dette skal være minst 10Hz). Du får også en avstands- og dysemåling. Test boksen ved å flytte dysepotensiometeret og ved å flytte et stykke kort foran avstandssensoren. Hvis alt fungerer, går du videre til neste trinn - gjør datamaskinen klar til å snakke med wiimote!

Trinn 6: Datamaskinoppsett: Prosessering og Wiimote

Datamaskinoppsett: Behandling og Wiimote
Datamaskinoppsett: Behandling og Wiimote

Vår viktigste her er å få behandling til å snakke med wiimote. Disse instruksjonene er Linux -spesifikke, men alt skal fungere på en mac og windows med litt forskning på hvordan du får wiimotes data til behandling. Etter å ha installert behandlingen fant jeg noen instruksjoner på forumet, men jeg hadde fortsatt noen problemer. Her er hva jeg måtte gjøre:

  1. installere behandling
  2. installer bluez-biblioteker: sudo apt-get install bluez-utils libbluetooth-dev
  3. opprett./processing/libraries/Loc og./processing/libraries/wrj4P5
  4. last ned bluecove-2.1.0.jar og bluecove-gpl-2.1.0.jar og sett inn i./processing/libraries/wrj4P5/library/
  5. last ned wiiremoteJ v1.6, og sett.jar i./processing/libraries/wrj4P5/library/
  6. last ned wrj4P5.jar (jeg brukte alpha-11) og legg den inn i./processing/libraries/wrj4P5/library/
  7. last ned wrj4P5.zip og pakk ut til./processing/libraries/wrj4P5/lll/
  8. Last ned Loc.jar (jeg brukte beta-5) og legg den inn i./processing/libraries/Loc/library/
  9. last ned Loc.zip og pakk ut til./processing/libraries/Loc/lll/

Deretter brukte jeg kode inspirert fra Classiclll for å få knappene og sensorstangen til å fungere. Den vedlagte koden/skissen tegner bare en sirkel der den første infrarøde kilden blir funnet av wiimote.

For å sjekke bluetooth, trykk på knappene en og to på wiimote, og prøv deretter $ hcitool scan på terminalen. Du bør se nintendo wiimote oppdaget. Hvis du ikke gjør det, må du se nærmere på Bluetooth -oppsettet ditt. Hvis alt er bra, last ned wiimote_sensor.pde (vedlagt) program og start det. I den nedre statusdelen av skjermen bør du se: BlueCove versjon 2.1.0 på bluez prøver å finne en wii Trykk på knappene 1 og 2 på wiimote. Etter at den er oppdaget, vink den infrarøde kilden (sprayboksen) rundt foran den. Du bør se en rød sirkel etter bevegelsen din! Sørg for at dette fungerer før du går videre. Hvis du ikke får det til å fungere, kan du søke i behandlingsforumet.

Trinn 7: Konfigurere alt

Setter alt opp
Setter alt opp

Last ned virtualGraffiti -programvaren nedenfor. Pakk den ut i skissebokskatalogen og følg disse trinnene!

* slå på sprayboksen, sjekk status -LED -lampen blinker. * slå på datamaskinen, plugg inn sprayboksmottaker, * oppsettskjerm og projektor, * sjekk at statusboksen for sprayboksmottaker blinker, * start behandlingen og last inn virtualGraffiti -programmet, * kontroller at du får både RX- og TX seriell indikator Lysdioder blinker på arduino -kortet, * trykk på begge knappene på wiimote, * gjør 4 -punktskalibrering når du blir bedt om det (legg sprayboks over hvert mål etter tur, trykk deretter på dysen til teksten blir rød). * ha det gøy!

Trinn 8: Ressurser, lenker, takk, ideer

Lenker Her er koblingene som var uvurderlige for å få dette prosjektet til å fungere: RF -info: https://narobo.com/articles/rfmodules.html Arduino: www.arduino.cc Behandling: www.processing.org Bruke wii med behandling: 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#Bølgelengder 4 -punktskalibrering: https://www.zaunert.de/jochenz/wii/Takk! Uten at mange publiserte arbeidet sitt, hadde dette prosjektet vært mye vanskeligere og dyrere. Stor takk til alle mann med åpen kildekode, folk som hacket wiimote, Classiclll for å gjøre wiimote enkel å bruke med prosessering, Jochen Zaunert for kode for kalibrering, bearbeidingsmannskap, arduino -mannskap, Lou for snekkerhjelp, og alle som utforsker, lager og publiser deretter funnene sine online! Andre menneskers systemer * Jeg fant nettopp https://friispray.co.uk/, med åpen kildekode -programvare og en veiledning * dette systemet tillater bruk av sjablonger: kult! https://www.wiispray.com/, ingen kode eller hvordan * yrwalls virtuelle graffitisystem, ingen kode eller hvordan. Idéer for leting * bruk 2 wiimotes for å gjøre 3D volumsporing og gjøre unna avstandssensoren i boksen: https://www.cl.cam.ac.uk/~sjeh3/wii/. Dette ville være bra fordi avstandssensoren for øyeblikket er den svakeste delen av systemet. Det ville også bety at vi kunne bruke en skikkelig bakprojeksjon for mer levende bilder. * bruk en wiimote i boksen for å oppdage vinkel på sprayboksen. Dette vil gi realisme til spraymalingmodellen.

Anbefalt: