Indholdsfortegnelse:

Virtuel graffiti: 8 trin
Virtuel graffiti: 8 trin

Video: Virtuel graffiti: 8 trin

Video: Virtuel graffiti: 8 trin
Video: Is graffiti art? Or vandalism? - Kelly Wall 2024, Juli
Anonim
Virtuel graffiti
Virtuel graffiti

Jeg har set et par virtuelle graffitisystemer på nettet, men kunne ikke finde nogen oplysninger, der blev offentliggjort om, hvordan man laver en (dog se siden med sidste links). Jeg troede, det ville være fantastisk til mine graffitiworkshops, så jeg lavede en selv og har udgivet alt, hvad du har brug for for at lave din egen her! Funktioner * alle open source og hardware, * koster <£ 100 eksklusiv projektor og computer, * registrerer dåsens dyse tryk og afstand fra skærmen, * modeller maling drypper, hvis du bevæger dig for langsomt! Bemærkninger * dette instruerbare er et ret højt niveau, men lad mig vide, hvis jeg har savnet noget vigtigt, * computeropsætningen er til Linux. Hvis du får det til at fungere på andre systemer, skal du sende dine instruktioner! Færdigheder, du skal bruge * træbearbejdning for at gøre den bageste projektionsskærm i træ, * elektroniske kredsløb og programmering af Atmel AVR -mikrokontroller (eller arduino), * være i stand til at installere nogle biblioteker på din computer for at tillade behandling at tale med wiimote.

Trin 1: Sådan fungerer det

Hvordan det virker
Hvordan det virker

* Sprøjtebeholderen har en infrarød LED, der skinner gennem projektorens skærm og ses af wiimotes kamera. * Wiimoten sender dåsens X- og Y-koordinater til computeren via et bluetooth-radiolink. * Computeren kører et enkelt maleprogram, der bruger en projektor til at "male" stregerne, mens du tegner med dåsen. Det sørger også for at kortlægge wiimote -kameraet til skærmen ved hjælp af et 4 -punktskalibreringssystem. * Sprøjten kan også registrere sin afstand fra skærmen og dysetrykket: jo længere du er væk, jo større er den prik, der bliver trukket, jo hårdere du trykker på dysen, jo mere uigennemsigtig bliver malingprikken.

Trin 2: Komponenterne

Komponenterne
Komponenterne

Her er alle de bits, du har brug for at få samlet:

* computer - skal være omkring 1,4 GHz, bluetooth og en usb -port, * behandlingsmiljø, * virtualGraffiti -software, download fra "computeropsætning" trin, * nintendo wiimote - køb brugt fra ebay, * projektor - det skal være lys, hvis du planlægger at bruge i løbet af dagen eller inde med lys tændt, * bagprojektionsskærm - lav dig selv, * virtuel spraydåse - lav dig selv, * virtuel spraydåser - lav dig selv. pris * arduino til dåse -modtager (indbygget usb-> seriel) £ 21 * radio rx/tx par £ 9 * komponenter til bygnings spraydåse £ 18 plus ekstra kabinet £ 12 * ekstra kabinet til modtager £ 8 * nintendo wiimote - køb brugt fra ebay £ 20

Trin 3: Bagprojektionsskærm

Bagprojektionsskærm
Bagprojektionsskærm

Skærmen skal have den helt rigtige gennemsigtighed! Hvis det ikke er gennemsigtigt nok, ses billedet ikke, og den infrarøde LED vil ikke være synlig for wiimotes kamera. Hvis den er for gennemsigtig, blænder projektoren og billedet vaskes ud. (Se dog den sidste side for måder at afbøde dette).

Jeg brugte lycra, som er elastisk, så jeg kan strække den for at gøre den mere gennemsigtig. I øjeblikket holder jeg den fast med tommelfingeren, men jeg er færdig med velcro, når jeg får adgang til en symaskine. Jeg lavede en træramme ved hjælp af et værksted og en tømrer (tak Lou!) Jeg havde brug for, at den faldt sammen, så jeg kunne transportere den på min cykel. Hvis du laver en til et fast sted, bliver det lettere at lave. Bare lav det i et 4: 3 -format og er stift nok til at forblive oprejst. Jeg har fundet ud af, at folk har en tendens til at skubbe på skærmmaterialet en smule, så det skal være lidt robust.

Trin 4: Sprøjtebeholder

Sprøjtebeholder
Sprøjtebeholder
Sprøjtebeholder
Sprøjtebeholder

Dette er den mest komplicerede del af projektet og tog den længste tid at få det rigtigt. Den gode nyhed er, at du ikke har brug for alt dette for at få et sjovt system til at fungere. Det enkleste er bare at få et kredsløb med en switch og infrarød LED og en modstand. Når du trykker på kontakten, lyser LED'en og ses og spores af wiimotes kamera.

Denne version er mere avanceret, fordi den også måler afstanden fra skærmen og dysetrykket. Begge disse ting er vigtige, når du rent faktisk spraymaler. Jeg ville lave et træningssystem, så det var vigtigt at gøre systemet så”rigtigt” som muligt (inden for mine omkostningsgrænser). Kredsløbet er ret simpelt. Tag et kig på det vedlagte kredsløbsdiagram for at se det selv. Du har brug for grundlæggende loddefærdigheder og for at kunne sætte et kredsløb på veroboard. Du bør også føle dig tilfreds med programmering af mikrokontrollere. Opbygning af et kredsløb fra bunden mod at bruge et arduino -bord mulighed 1: hvis du vil bruge et arduino -bord i spraydåse. Brug arduino som den er og halver radiohastighedens baudhastighed i spraykanekoden. mulighed 2: du vil spare penge, men du har ikke en sikringsprogrammerer. Byg tavlen, og brug en 16MHz ekstern krystal. Halver baudhastigheden som i option 1. option 3: du vil spare endnu flere penge, og du har en sikringsprogrammerer. Byg tavlen, men udelad den ydre krystal. Brug sikringsprogrammereren til at indstille atmel til at bruge det interne ur. Jeg tror, at denne DIY parallelle programmerer vil give dig mulighed for at programmere sikringer. Jeg bruger olimex programmereren. Oversigt over kredsløbet Mikrocontrolleren måler output fra den skarpe 2d120x afstandssensor (god information om denne sensor her) og det lineære potentiometer. Det måler også output fra LED PWM -potentiometeret. Dette bruges til at justere LED'ens lysudbytte. IR -LED'en jeg bruger er 100mA og spidsbølgelængden er 950nm (ideel til wiimote). Mikrokontrolleren bruger PWM til at blinke LED meget hurtigt. Vi bruger en IRF720 power mosfet, så mikroen ikke brænder sit output ud. Jeg ville også tilføje kapacitet til en lysere LED i fremtiden. Der er en status -LED, der blinker hver gang en datapakke udsendes på radioen. Hvis alt fungerer godt, skal dette lys blinke ved omkring 15Hz. Endelig er radiosendermodulet fastgjort til pin 3 (digital pin 1 til arduino) på mikrokontrolleren, så vi kan sende de oplysninger, vi måler, til computeren. Du har også brug for en antenne tilsluttet modtagerkortet. Jeg brugte en 12 cm lang tråd. Dette er det halve af det, der anbefales på denne fremragende infoside. Programmering af mikrokontrolleren Når du har bygget kredsløbet, skal du uploade programmet (vedhæftet). Jeg bruger arduino programmeringsmiljøet/libaries. Du kan kompilere dette med arduino IDE og derefter programmere det, som du normalt gør. Mit kredsløb er gjort enklere ved at bruge mikroens interne 8MHz ur. Hvis du bruger dette, skal du indstille sikringsindstillingerne til at bruge den interne 8MHz kalibrerede RC: 1111 0010 = 0xf2 Det betyder, at du skal have en programmør, der 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 form for programmerer (siger du bare har arduinoen board), skal du bare bruge en 16MHz krystal mellem stifterne 9 og 10, og det skal alt fungere (uprøvet - du har muligvis brug for en kondensator). Du skal også ændre programkoden, så senderens baud halveres. Test Efter at du har samlet det hele og programmet er indlæst, skal du justere IR LED -lysstyrken. Jeg ville bare maksimere lysudbyttet uden at skåle LED'en, så jeg sprængte et par stykker og endte med omkring et 120ma tegningsgennemsnit. Hvis du har et multimeter, kan du justere dette ganske let, ellers kan du bare justere potentiometeret til at være ret højt, men ikke hele vejen! Du kan også kontrollere de analoge indgange på benene 26, 27 og 28 på PWM -justeringspotentiometeret, afstandssensoren og dysepotentiometeret. Hvis du har et omfang, kan du kontrollere pulstoget, der kommer ud af pin 3, ind i radio -TX -modulet. Kontroller pwm -output fra LED'en på pin 11. Du kan bruge et mobiltelefonkamera (eller de fleste CCD -kameraer) til at se IR -LED'en tænde, når du trykker på dyseknappen.

Trin 5: Spraydåser

Sprøjtebeholder
Sprøjtebeholder
Sprøjtebeholder
Sprøjtebeholder

Hvis du går den enkle spraydåse, har du ikke brug for denne bit.

Ellers bruger jeg bare et arduino -kort, hvor radiomodtageren er tilsluttet pin 2. Dette gør det let at få dataene ind i en computer via USB -> seriel chip på arduino -kortet. Hvis jeg skulle lave et brugerdefineret kredsløb, ville jeg sandsynligvis bruge et FTDI USB -> serielt UART -evalueringskort. Du har også brug for en antenne tilsluttet modtagerkortet. Jeg brugte en 12 cm lang tråd. Dette er det halve af det, der anbefales på denne fremragende infoside. Indlæs graffitiCanReader2.pde -skitsen i arduinoen. Når dåsen er tændt, skal du se status -LED'erne på dåsen og modtagerkortet blinke hurtigt. Hver gang dåse -LED'en blinker, sendes en datapakke. Hver gang modtagerkortets LED blinker, modtages en gyldig datapakke. Hvis du ikke kan se dette, er der noget galt med radiolinket. Noget at prøve er at forbinde dåsen TX til modtagerens RX med et stykke ledning. Hvis dette ikke virker, har du sandsynligvis et mismatch i baudhastigheden for virtualwire (se koden). Forudsat at du har masser af blinkende i gang på modtagerkortet, bør du være i stand til at overvåge dette på din usb serielle port. Hvis du overvåger den serielle port (normalt /dev /ttyUSB0) på 57600, skal du se data spyle ud som Got: FF 02 Got: FF 03… Det første tal er tryk, og det andet er afstand. Nu kan du køre behandling og bruge disse oplysninger til at lave smukke billeder! Indlæs den vedhæftede behandlingsskitse (canRadioReader.pde). Start programmet, og kontroller programmets output. Du burde få en frekvens (der fortæller dig, hvor mange opdateringer pr. Sekund modtageren får - du vil helt sikkert have, at dette skal være mindst 10Hz). Du får også en afstands- og dysemåling. Test dåsen ved at flytte dysepotentiometret og ved at flytte et stykke kort foran afstandssensoren. Hvis det hele fungerer, skal du gå videre til næste trin - gør computeren klar til at tale med wiimote!

Trin 6: Computeropsætning: Behandling og Wiimote

Computeropsætning: Behandling og Wiimote
Computeropsætning: Behandling og Wiimote

Vores vigtigste her er at få behandling til at tale med wiimote. Disse instruktioner er Linux -specifikke, men det skal alle fungere på en mac og windows med nogle undersøgelser af, hvordan du får wiimotes data til behandling. Efter installation af behandling fandt jeg nogle instruktioner på forummet, men jeg havde stadig nogle problemer. Her er hvad jeg skulle gøre:

  1. installere behandling
  2. installer bluez-biblioteker: sudo apt-get install bluez-utils libbluetooth-dev
  3. oprette./processing/libraries/Loc og./processing/libraries/wrj4P5
  4. download bluecove-2.1.0.jar og bluecove-gpl-2.1.0.jar og sæt i./processing/libraries/wrj4P5/library/
  5. download wiiremoteJ v1.6, og sæt.jar i./processing/libraries/wrj4P5/library/
  6. download wrj4P5.jar (jeg brugte alpha-11) og læg den i./processing/libraries/wrj4P5/library/
  7. download wrj4P5.zip og pak ud i./processing/libraries/wrj4P5/lll/
  8. download Loc.jar (jeg brugte beta-5) og sæt i./processing/libraries/Loc/library/
  9. download Loc.zip og pak ud i./processing/libraries/Loc/lll/

Derefter brugte jeg kode inspireret fra Classiclll for at få knapperne og sensorbjælken til at fungere. Den vedhæftede kode/skitse tegner bare en cirkel, hvor den første infrarøde kilde findes af wiimote.

For at kontrollere din bluetooth skal du trykke på knapperne et og to på wiimote og derefter prøve $ hcitool -scanning på terminalen. Du skal se nintendo wiimote registreret. Hvis du ikke gør det, skal du kigge nærmere på din bluetooth -opsætning. Hvis det hele er godt, skal du indlæse wiimote_sensor.pde (vedhæftet) program og starte det. I den nederste statusdel af skærmen skal du se: BlueCove version 2.1.0 på bluez forsøger at finde en wii Tryk på knapperne 1 og 2 på wiimote. Når den er opdaget, skal du vinke din infrarøde kilde (spraydåsen) rundt foran den. Du skal se en rød cirkel efter din bevægelse! Sørg for, at dette virker, før du går videre. Hvis du ikke kan få det til at fungere, skal du søge i behandlingsforum.

Trin 7: Opsætning af det hele

Opsætning af det hele
Opsætning af det hele

Download virtualGraffiti -softwaren herunder. Udpak det i din skitsebogskatalog, og følg derefter disse trin!

* Tænd sprøjtebeholderen, kontroller status LED -lampen blinker. * tænd computeren, tilslut spraydåser, * opsætningsskærm og projektor, * kontroller, at lysdiode for spraydåser blinker, * start behandling og indlæs virtualGraffiti -programmet, * kontroller, at du får både RX og TX seriel indikator Lysdioder blinker på arduino -kortet, * tryk på begge knapper på wiimote, * foretag 4 -punktskalibrering, når du bliver bedt om det (læg spraydåse over hvert mål efter tur, tryk derefter på dysen, indtil skriften bliver rød). * hav det sjovt!

Trin 8: Ressourcer, links, tak, ideer

Links Her er de links, der var uvurderlige for at få dette projekt til at fungere: RF -info: https://narobo.com/articles/rfmodules.html Arduino: www.arduino.cc Behandling: www.processing.org Brug af 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ølgelængder 4 -punktskalibrering: https://www.zaunert.de/jochenz/wii/Tak! Uden mange mennesker, der offentliggjorde deres arbejde, havde dette projekt været meget hårdere og dyrere. Stor tak til alle open source -besætninger, folk, der hackede wiimote, Classiclll for at gøre wiimote let at bruge med bearbejdning, Jochen Zaunert for kode til kalibrering, behandlingshold, arduino -besætning, Lou til tømrerhjælp og alle dem, der udforsker, laver og derefter offentliggøre deres fund online! Andres systemer * Jeg har kun lige fundet https://friispray.co.uk/ med open source -software og en vejledning * dette system tillader brug af stenciler: fedt! https://www.wiispray.com/, ingen kode eller how * yrwalls virtuelle graffitisystem, ingen kode eller howto. Ideer til udforskning * brug 2 wiimotes til at lave 3D volumen sporing og afskaffe afstandssensor i dåsen: https://www.cl.cam.ac.uk/~sjeh3/wii/. Dette ville være godt, fordi afstandssensoren i øjeblikket er den svageste del af systemet. Det ville også betyde, at vi kunne bruge en ordentlig bagprojektionsskærm til mere levende billeder. * Brug en wiimote i dåsen til at opdage sprøjtebeholderens vinkel. Dette ville tilføre realisme til spraymalingmodellen.

Anbefalede: