Taula de continguts:

Graffiti virtual: 8 passos
Graffiti virtual: 8 passos

Vídeo: Graffiti virtual: 8 passos

Vídeo: Graffiti virtual: 8 passos
Vídeo: 12 Levels of Graffiti: Easy to Complex | WIRED 2024, Juliol
Anonim
Graffiti virtual
Graffiti virtual

He vist alguns sistemes de graffiti virtuals al web, però no he trobat cap informació publicada sobre com fer-ne un (encara que vegeu la pàgina d’enllaços finals). Vaig pensar que seria fantàstic per als meus tallers de graffiti, així que en vaig fer un i he publicat aquí tot el que necessiteu per fer-vos el vostre propi. pressió i distància de la pantalla, * els models pinten degotejant si es mou massa lentament. Notes * aquesta instrucció és bastant elevada, però si us plau, aviseu-me si he perdut alguna cosa important, * la configuració informàtica és per a Linux. Si el feu funcionar en altres sistemes, envieu les vostres instruccions. Habilitats que necessiteu * per treballar la fusta per fer la pantalla de projecció posterior de fusta, * circuits electrònics i programació de microcontroladors Atmel AVR (o arduino), * podreu instal·lar-ne alguns biblioteques del vostre ordinador per permetre el processament per parlar amb el wiimote.

Pas 1: Com funciona

Com funciona
Com funciona

* La llauna de polvorització té un LED d'infrarojos que brilla a través de la pantalla del projector i és vist per la càmera del wiimote. * El wiimote envia les coordenades X i Y de la llauna a l'ordinador mitjançant un enllaç de ràdio bluetooth. * L'ordinador executa un programa de pintura senzill que utilitza un projector per "pintar" les línies mentre es dibuixa amb la llauna. També s’encarrega de mapar la càmera wiimote a la pantalla mitjançant un sistema de calibratge de 4 punts. * L'esprai també pot detectar la seva distància a la pantalla i la pressió del broquet: com més lluny estigui, més gran és el punt dibuixat, més premeu el broquet, més opac esdevé el punt de pintura.

Pas 2: els components

Els components
Els components

Aquí teniu tots els bits que necessiteu per reunir-vos:

* ordinador: ha de tenir uns 1,4 Ghz, bluetooth i un port USB, * entorn de processament, * programari virtualGraffiti, descàrrega del pas "configuració de l'ordinador", * nintendo wiimote: compra de segona mà a ebay, * projector. sigueu brillant si teniu previst utilitzar-lo durant el dia o a l'interior amb llums enceses, * pantalla de projecció posterior: feu-vos-en, * pot de vaporització virtual, feu-vos-ho, * receptor de llauna de vaporització virtual: feu-vos. incorporat usb-> sèrie) 21 € * parell de ràdio rx / tx 9 £ * components per a la llauna esprai 18 € més armari opcional 12 € * armari opcional per al receptor 8 € * nintendo wiimote - comprar segona mà a ebay 20 €

Pas 3: pantalla de projecció posterior

Pantalla de projecció posterior
Pantalla de projecció posterior

La pantalla ha de ser la quantitat adequada de visibilitat. Si no és prou transparent, la imatge no es veurà i el LED infraroig no serà visible per a la càmera del wiimote. Si és massa transparent, el projector quedarà encegador i la imatge esborrada. (Tot i que consulteu l'última pàgina per trobar maneres de mitigar-ho).

He utilitzat lycra, que és elàstic per poder estirar-lo per fer-lo més transparent. En aquest moment l’agafo amb les punxes del polze, però estic graduant-me en velcro quan tinc accés a una màquina de cosir. Vaig fer un marc de fusta amb l’ajut d’un taller i un fuster (gràcies Lou!) Necessitava que s’enfonsés per poder transportar-lo a la meva bicicleta. Si en feu un per a un lloc fix, serà més fàcil de fer. Només cal que tingueu una proporció de 4: 3 i prou rígida per mantenir-vos en posició vertical. He trobat que la gent tendeix a empènyer una mica el material de la pantalla, de manera que ha de ser una mica resistent.

Pas 4: Spray Can

Llauna de polvorització
Llauna de polvorització
Llauna de polvorització
Llauna de polvorització

Aquesta és la part més complicada del projecte i va trigar més temps a encertar-se. La bona notícia és que no necessiteu tot això per fer funcionar un sistema divertit. El més senzill és aconseguir un circuit amb un commutador i un LED d'infrarojos i una resistència. En prémer l'interruptor, el LED s'encén i la càmera del wiimote la veu i fa un seguiment.

Aquesta versió és més avançada, ja que també mesura la distància de la pantalla i la pressió del broquet. Totes dues coses són importants quan realment pintes en aerosol. Volia crear un sistema d’entrenament, per tant, era important que el sistema fos el més "real" possible (dins dels meus límits de costos). El circuit és força senzill. Feu una ullada al diagrama de circuits adjunt per veure-ho vosaltres mateixos. Necessiteu habilitats bàsiques de soldadura i poder instal·lar un circuit al veroboard. A més, us hauríeu de sentir feliços amb la programació de microcontroladors. Construir un circuit des de zero versus utilitzar una opció 1 de placa arduino: si voleu utilitzar una placa arduino a la llauna spray. Utilitzeu arduino tal qual i reduïu a la meitat la velocitat en bauds de la ràdio tx al codi spraycan. opció 2: voleu estalviar diners però no teniu programador de fusibles. Construïu el tauler i utilitzeu un cristall extern de 16 MHz. Reduïu a la meitat la velocitat en bauds com a l’opció 1. opció 3: voleu estalviar encara més diners i teniu un programador de fusibles. Construeix el tauler, però omet el cristall extern. Utilitzeu el programador de fusibles per configurar l'atmel perquè faci servir el rellotge intern. Crec que aquest programador paral·lel de bricolatge us permetrà programar fusibles. Faig servir el programador olimex. Vista general del circuit El microcontrolador mesura la sortida del fort sensor de distància 2d120x (gran informació sobre aquest sensor aquí) i el potenciòmetre lineal. També mesura la sortida del potenciòmetre LED PWM. S'utilitza per ajustar la sortida de llum del LED. El LED IR que faig servir és de 100 mA i la longitud d’ona màxima és de 950 nm (ideal per a wiimote). El microcontrolador utilitza PWM per parpellejar el LED molt ràpidament. Utilitzem un mosfet d’alimentació IRF720 perquè el micro no cremi la seva sortida. També volia afegir capacitat per a un LED més brillant en el futur. Hi ha un LED d'estat que parpelleja cada vegada que s'emet un paquet de dades a la ràdio. Si tot funciona bé, aquesta llum hauria de parpellejar a uns 15Hz. Finalment, el mòdul transmissor de ràdio està connectat al pin 3 (pin digital 1 per a arduino) del microcontrolador perquè puguem enviar la informació que mesurem a l’ordinador. També NECESSITEU una antena connectada al tauler receptor. He utilitzat un fil de fil de 12cm de llarg. Aquesta és la meitat del que es recomana en aquesta excel·lent pàgina d’informació. Programació del microcontrolador Un cop construït el circuit, haureu de carregar el programa (adjunt). Faig servir l'entorn de programació arduino / libaries. Podeu compilar-ho amb l'IDE arduino i després programar-lo com ho feu habitualment. El meu circuit es fa més senzill mitjançant l’ús del rellotge intern de 8 MHz del micro. Si utilitzeu això, haureu d’establir la configuració del fusible per utilitzar el RC intern calibrat a 8 MHz: 1111 0010 = 0xf2. Això vol dir que haureu de tenir un programador que pugui escriure fusibles../avrdude -C./avrdude.conf -V -p ATmega168 -P / dev / ttyACM0 -c stk500v2 -U lfuse: w: 0xf2: m Si no teniu aquest tipus de programador (digueu que només teniu l’arduino placa), només cal utilitzar un cristall de 16 MHz entre els pins 9 i 10 i tot hauria de funcionar (sense provar, és possible que necessiteu un condensador). També haureu de modificar el codi del programa perquè es redueixi a la meitat la transmissió del transmissor. Proves Després de tenir-ho tot junt i carregar el programa, haureu d’ajustar la brillantor del LED d’IR. Només volia maximitzar la producció de llum sense torrar el LED, així que vaig explotar uns quants i vaig acabar amb una mitjana de 120 m. Si teniu un multímetre, podeu ajustar-lo amb força facilitat; en cas contrari, només cal que ajusteu el potenciòmetre perquè sigui força alt, però no fins al final. També podeu consultar les entrades analògiques dels pins 26, 27 i 28 del potenciòmetre d’ajust PWM, el sensor de distància i el potenciòmetre de broquet. Si teniu un abast, podeu comprovar el tren de polsos que surt del pin 3 al mòdul TX de ràdio. Comproveu la sortida pwm del LED del pin 11. Podeu utilitzar una càmera de telèfon mòbil (o la majoria de càmeres CCD) per veure com s’encén el LED IR quan premeu el botó del broquet.

Pas 5: Receptor de polvoritzadors

Receptor de polvoritzadors
Receptor de polvoritzadors
Receptor de polvoritzadors
Receptor de polvoritzadors

Si aneu amb un simple spray, no necessiteu aquesta mica.

En cas contrari, només faig servir una placa arduino, amb el receptor de ràdio endollat al pin 2. Això facilita l’entrada de les dades a un ordinador mitjançant el xip sèrie USB -> de la placa arduino. Si anés a fer un circuit personalitzat, probablement faria servir una placa d’avaluació sèrie UART USB -> FTDI USB. També NECESSITEU una antena connectada al tauler receptor. He utilitzat un fil de fil de 12 cm de llarg. Això és la meitat del que es recomana en aquesta excel·lent pàgina d'informació. Carregueu l'esbós de graffitiCanReader2.pde a l'arduino. Amb la llauna engegada, hauríeu de veure els LED d'estat de la llauna i la placa del receptor parpellejant ràpidament. Sempre que el LED de la llauna parpelleja, s’envia un paquet de dades. Sempre que el LED de la placa del receptor parpelleja, es rep un paquet de dades vàlid. Si no ho veieu, hi ha alguna cosa amb l'enllaç de ràdio. Alguna cosa que s’ha de provar és connectar el TX de la llauna a l’RX del receptor amb un tros de filferro. Si això no funciona, és probable que tingueu un desajustament en la velocitat en bauds de virtualwire (vegeu el codi). Suposant que teniu molts parpelleigs a la placa del receptor, hauríeu de poder supervisar-ho al vostre port sèrie USB. Si superviseu el port sèrie (normalment / dev / ttyUSB0) a 57600, hauríeu de veure dades que surten com Got: FF 02 Got: FF 03… El primer nombre és la pressió i el segon és la distància. Ara podeu executar el processament i utilitzar aquesta informació per fer boniques imatges. Carregueu l'esbós de processament adjunt (canRadioReader.pde). Inicieu el programa i comproveu la sortida del programa. Hauríeu d’obtenir una freqüència (que us indiqui quantes actualitzacions per segon obté el receptor; definitivament voleu que sigui com a mínim 10Hz). També obtindreu una mesura de distància i broquet. Proveu la llauna movent el potenciòmetre del broquet i movent un tros de targeta davant del sensor de distància. Si tot funciona, passeu al següent pas: preparar l’ordinador per parlar amb el wiimote.

Pas 6: Configuració de l'ordinador: processament i Wiimote

Configuració de l’ordinador: processament i Wiimote
Configuració de l’ordinador: processament i Wiimote

El nostre principal aspecte aquí és aconseguir que el processament parli amb el wiimote. Aquestes instruccions són específiques de Linux, però haurien de funcionar en un Mac i Windows amb algunes investigacions sobre com fer que les dades del wiimote es processin. Després d’instal·lar el processament, he trobat algunes instruccions al fòrum, però encara he tingut alguns problemes. Això és el que havia de fer:

  1. instal·la el processament
  2. instal·leu llibreries bluez: sudo apt-get install bluez-utils libbluetooth-dev
  3. crear./processing/libraries/Loc i./processing/libraries/wrj4P5
  4. descarregueu bluecove-2.1.0.jar i bluecove-gpl-2.1.0.jar i poseu-los a./processing/libraries/wrj4P5/library/
  5. descarregueu wiiremoteJ v1.6 i poseu el fitxer.jar a./processing/libraries/wrj4P5/library/
  6. descarregueu wrj4P5.jar (he utilitzat alpha-11) i poseu-lo a./processing/libraries/wrj4P5/library/
  7. descarregueu wrj4P5.zip i descomprimiu-lo a./processing/libraries/wrj4P5/lll/
  8. descarregueu Loc.jar (he utilitzat beta-5) i poseu-lo a./processing/libraries/Loc/library/
  9. descarregar Loc.zip i descomprimir-lo a./processing/libraries/Loc/lll/

Després vaig fer servir codi inspirat en Classiclll per fer funcionar els botons i la barra del sensor. El codi / esbós adjunt només dibuixa un cercle on el wiimote troba la primera font d'infrarojos.

Per comprovar el bluetooth, premeu els botons un i dos del wiimote i, a continuació, proveu $ hcitool scan al terminal. Hauríeu de detectar el wiimote de nintendo. Si no ho feu, haureu de mirar més la configuració del bluetooth. Si està tot bé, carregueu el programa wiimote_sensor.pde (adjunt) i inicieu-lo. A la part inferior de l'estat de la pantalla hauríeu de veure: BlueCove versió 2.1.0 a bluez intentant trobar un wii Premeu els botons 1 i 2 al wiimote. Després de detectar-lo, agiteu la font d'infrarojos (la llauna esprai) al seu davant. Hauríeu de veure un cercle vermell seguint el vostre moviment. Assegureu-vos que funcioni abans de continuar. Si no podeu aconseguir que funcioni, cerqueu al fòrum de processament.

Pas 7: configurar-ho tot

Configurant-ho tot
Configurant-ho tot

Baixeu-vos el programari virtualGraffiti a continuació. Traieu-lo al directori de quaderns de dibuixos i seguiu aquests passos.

* enceneu la llauna de polvorització, comproveu que la llum LED parpelleja. * enceneu l'ordinador, connecteu el receptor de la llauna de spray, * configureu la pantalla i el projector, * comproveu que el LED d'estat del receptor de la llauna de polvorització parpelleja, * comenceu a processar i carregueu el programa VirtualGraffiti, * comproveu que obteniu tant l'indicador sèrie RX com el TX Els LED parpellegen a la placa arduino, * premeu els dos botons del wiimote, * feu el calibratge de 4 punts quan se us demani (poseu la llauna de spray sobre cada objectiu al seu torn i, a continuació, premeu el broquet fins que l’escriptura es posi vermella). * diverteix-te!

Pas 8: Recursos, enllaços, gràcies, idees

Enllaços Aquests són els enllaços que han estat inestimables per fer funcionar aquest projecte: RF info: https://narobo.com/articles/rfmodules.html Arduino: www.arduino.cc Processament: www.processing.org Ús de wii amb processament: 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 # Calibratge de 4 punts de longitud d’ona: https://www.zaunert.de/jochenz/wii/Gràcies! Sense que molta gent publiqués el seu treball, aquest projecte hauria estat molt més dur i car. Un agraïment massiu a tota la tripulació de codi obert, a les persones que van piratejar el wiimote, a Classiclll perquè el wiimote fos fàcil d’utilitzar amb el processament, a Jochen Zaunert pel codi per fer el calibratge, a la tripulació de processament, a la tripulació arduino, a Lou per ajudar a la fusteria i a tots aquells que exploren, fabriquen i després publiqueu els seus descobriments en línia. Sistemes d’altres persones * Només he trobat https://friispray.co.uk/, amb programari de codi obert i un procediment *, aquest sistema permet l’ús de plantilles: cool! https://www.wiispray.com/, sense codi ni howto * el sistema de graffiti virtual de yrwall, ni codi ni howto. Idees per a l'exploració * utilitzeu 2 wiimotes per fer el seguiment del volum en 3D i elimineu el sensor de distància a la llauna: https://www.cl.cam.ac.uk/~sjeh3/wii/. Estaria bé perquè el sensor de distància és actualment la part més feble del sistema. També significaria que podríem utilitzar una pantalla de projecció posterior adequada per obtenir imatges més vives. * utilitzeu un wiimote a la llauna per detectar l’angle de la llauna. Això afegiria realisme al model de pintura en aerosol.

Recomanat: