Tabla de contenido:

Graffiti virtual: 8 pasos
Graffiti virtual: 8 pasos

Video: Graffiti virtual: 8 pasos

Video: Graffiti virtual: 8 pasos
Video: How to Draw Graffiti with Procreate - Letter A by Simon Dee 2024, Mes de julio
Anonim
Grafiti virtual
Grafiti virtual

He visto algunos sistemas de graffiti virtuales en la web, pero no pude encontrar ninguna información publicada sobre cómo hacer uno (aunque vea la página de enlaces final). ¡Pensé que sería genial para mis talleres de graffiti, así que hice uno yo mismo y publiqué todo lo que necesitas para hacer el tuyo propio aquí! Características * todo código abierto y hardware, * costo <£ 100 excluyendo el proyector y la computadora, * detecta la boquilla de la lata presión y distancia de la pantalla, * ¡los modelos pintan goteando si te mueves demasiado lento! Notas * este instructivo es de un nivel bastante alto, pero avísame si me he perdido algo importante, * la configuración informática es para Linux. ¡Si lo hace funcionar en otros sistemas, por favor publique sus instrucciones! Habilidades que necesitará * trabajo en madera para hacer la pantalla de proyección trasera de madera, * circuitos electrónicos y programación de microcontroladores Atmel AVR (o arduino), * poder instalar algunos bibliotecas en su computadora para permitir que el procesamiento se comunique con el wiimote.

Paso 1: cómo funciona

Cómo funciona
Cómo funciona

* La lata de aerosol tiene un LED infrarrojo que brilla a través de la pantalla del proyector y es visto por la cámara del wiimote. * El wiimote envía las coordenadas X e Y de la lata a la computadora a través de un enlace de radio bluetooth. * La computadora está ejecutando un programa de pintura simple que usa un proyector para "pintar" las líneas mientras dibuja con la lata. También se encarga de mapear la cámara wiimote a la pantalla utilizando un sistema de calibración de 4 puntos. * El spray también puede detectar su distancia de la pantalla y la presión de la boquilla: cuanto más lejos esté, más grande será el punto dibujado, más fuerte presione la boquilla, más opaco se vuelve el punto de pintura.

Paso 2: los componentes

Los componentes
Los componentes

Aquí están todos los bits que necesita para reunir:

* computadora: debe ser de aproximadamente 1.4Ghz, bluetooth y un puerto usb, * entorno de procesamiento, * software virtualGraffiti, descarga desde el paso "configuración de computadora", * nintendo wiimote: compra de segunda mano en ebay, * proyector: necesitará Sea brillante si planea usarlo durante el día o adentro con las luces encendidas, * pantalla de retroproyección: hágase usted mismo, * lata de aerosol virtual: hágase usted mismo, * receptor de lata de aerosol virtual: hágalo usted mismo. construido en usb-> serial) £ 21 * par de radio rx / tx £ 9 * componentes para la construcción de latas de aerosol £ 18 más carcasa opcional £ 12 * carcasa opcional para receptor £ 8 * nintendo wiimote - compre de segunda mano en ebay £ 20

Paso 3: pantalla de proyección trasera

Pantalla de proyección trasera
Pantalla de proyección trasera

¡La pantalla debe tener la cantidad justa de transparencia! Si no es lo suficientemente transparente, la imagen no se verá y el LED infrarrojo no será visible para la cámara del wiimote. Si es demasiado transparente, el proyector cegará y la imagen se desvanecerá. (Aunque consulte la última página para conocer las formas de mitigar esto).

Usé lycra, que es elástica para poder estirarla para que sea más transparente. Por el momento lo sostengo con tachuelas, pero me graduaré con velcro cuando accedo a una máquina de coser. Hice un marco de madera con la ayuda de un taller y un carpintero (¡gracias Lou!) Necesitaba que se derrumbara para poder transportarlo en mi bicicleta. Si está haciendo uno para un lugar fijo, será más fácil de hacer. Simplemente hágalo con una relación de aspecto de 4: 3 y lo suficientemente rígido para mantenerse en posición vertical. Descubrí que la gente tiende a presionar un poco el material de la pantalla, por lo que debe ser un poco resistente.

Paso 4: lata de aerosol

Lata de aerosol
Lata de aerosol
Lata de aerosol
Lata de aerosol

Esta es la parte más complicada del proyecto y tomó más tiempo hacerlo bien. La buena noticia es que no necesita todo esto para que un sistema divertido funcione. Lo más simple es conseguir un circuito con un interruptor, un LED infrarrojo y una resistencia. Cuando presiona el interruptor, el LED se enciende y la cámara del wiimote lo ve y lo rastrea.

Esta versión es más avanzada, porque también mide la distancia a la pantalla y la presión de la boquilla. Ambas cosas son importantes cuando en realidad estás pintando con aerosol. Quería crear un sistema de capacitación, por lo que era importante hacer que el sistema fuera lo más "real" posible (dentro de mis límites de costo). El circuito es bastante simple. Eche un vistazo al diagrama de circuito adjunto para verlo usted mismo. Necesita habilidades básicas de soldadura y poder poner un circuito en veroboard. Además, debería sentirse feliz con la programación de microcontroladores. Construir un circuito desde cero vs usar una placa arduino opción 1: si desea usar una placa arduino en lata de aerosol. Use arduino como está y reduzca a la mitad la velocidad en baudios del tx de radio en el código de spraycan. Opción 2: desea ahorrar dinero pero no tiene un programador de fusibles. Construye la placa y usa un cristal externo de 16MHz. Reduzca a la mitad la velocidad en baudios como en la opción 1. Opción 3: desea ahorrar aún más dinero y tiene un programador de fusibles. Construye el tablero, pero omite el cristal externo. Utilice el programador de fusibles para configurar el atmel para que utilice su reloj interno. Creo que este programador paralelo de bricolaje le permitirá programar fusibles. Yo uso el programador olimex. Descripción general del circuito El microcontrolador mide la salida del sensor de distancia nítido 2d120x (gran información sobre este sensor aquí) y el potenciómetro lineal. También mide la salida del potenciómetro LED PWM. Se utiliza para ajustar la salida de luz del LED. El LED de infrarrojos que estoy usando es de 100 mA y la longitud de onda máxima es de 950 nm (ideal para wiimote). El microcontrolador usa PWM para hacer parpadear el LED muy rápido. Usamos un mosfet de potencia IRF720 para que el micro no queme su salida. También quería agregar capacidad para un LED más brillante en el futuro. Hay un LED de estado que parpadea cada vez que se transmite un paquete de datos en la radio. Si todo funciona bien, esta luz debería parpadear a unos 15 Hz. Finalmente, el módulo del transmisor de radio se conecta al pin 3 (pin digital 1 para arduino) del microcontrolador para que podamos enviar la información que estamos midiendo a la computadora. También NECESITA una antena conectada a la placa del receptor. Usé un trozo de alambre de 12 cm de largo. Esto es la mitad de lo que se recomienda en esta excelente página de información. Programación del microcontrolador Una vez que haya construido el circuito, deberá cargar el programa (adjunto). Utilizo el entorno de programación arduino / bibliotecas. Puede compilar esto con el IDE de arduino y luego programarlo como lo hace habitualmente. Mi circuito se simplifica utilizando el reloj interno de 8 MHz del micro. Si usa esto, necesitará configurar los fusibles para usar el RC interno calibrado de 8MHz: 1111 0010 = 0xf2 Esto significa que necesitará un programador que pueda escribir fusibles../avrdude -C./avrdude.conf -V -p ATmega168 -P / dev / ttyACM0 -c stk500v2 -U lfuse: w: 0xf2: m Si no tiene este tipo de programador (digamos que solo tiene el arduino placa), solo use un cristal de 16MHz entre los pines 9 y 10 y todo debería funcionar (sin probar, es posible que necesite un condensador). También necesitará modificar el código del programa para que los baudios del transmisor se reduzcan a la mitad. Prueba Una vez que lo tenga todo junto y el programa cargado, debe ajustar el brillo del LED IR. Solo quería maximizar la salida de luz sin tostar el LED, así que exploté algunos y terminé con un promedio de 120ma. Si tiene un multímetro, puede ajustarlo con bastante facilidad; de lo contrario, ajuste el potenciómetro para que sea bastante alto, ¡pero no del todo! También puede verificar las entradas analógicas en los pines 26, 27 y 28 del potenciómetro de ajuste PWM, el sensor de distancia y el potenciómetro de la boquilla. Si tiene un osciloscopio, puede verificar el tren de pulsos que sale del pin 3 en el módulo de transmisión de radio. Verifique la salida pwm del LED en el pin 11. Puede usar la cámara de un teléfono móvil (o la mayoría de las cámaras CCD) para ver que el LED IR se enciende cuando presiona el botón de la boquilla.

Paso 5: Receptor de latas de aerosol

Receptor de latas de aerosol
Receptor de latas de aerosol
Receptor de latas de aerosol
Receptor de latas de aerosol

Si va por la ruta simple de latas de aerosol, entonces no necesita este bit.

De lo contrario, solo uso una placa arduino, con el receptor de radio enchufado en el pin 2. Esto facilita la introducción de datos en una computadora a través del USB -> chip serial en la placa arduino. Si fuera a hacer un circuito personalizado, probablemente usaría una placa de evaluación FTDI USB -> serial UART. También NECESITA una antena conectada a la placa del receptor. Usé un trozo de alambre de 12 cm de largo. Esto es la mitad de lo que se recomienda en esta excelente página de información. Cargue el boceto graffitiCanReader2.pde en el arduino. Con la lata encendida, debería ver los LED de estado de la lata y la placa del receptor parpadeando rápidamente. Cada vez que el LED de lata parpadea, se envía un paquete de datos. Cada vez que el LED de la placa receptora parpadea, se recibe un paquete de datos válido. Si no está viendo esto, entonces hay algo con el enlace de radio. Algo que puedes probar es conectar el TX de la lata al RX del receptor con un trozo de cable. Si esto no funciona, probablemente tenga una discrepancia en la velocidad en baudios de virtualwire (consulte el código). Suponiendo que tiene muchos flashes en la placa del receptor, debería poder monitorear esto en su puerto serie USB. Si monitorea el puerto serie (generalmente / dev / ttyUSB0) en 57600, debería ver datos como Got: FF 02 Got: FF 03… El primer número es la presión y el segundo es la distancia. ¡Ahora puede ejecutar el procesamiento y usar esta información para hacer bonitas imágenes! Cargue el boceto de procesamiento adjunto (canRadioReader.pde). Inicie el programa y verifique la salida del programa. Debería obtener una frecuencia (que le diga cuántas actualizaciones por segundo recibe el receptor; definitivamente desea que sea de al menos 10 Hz). También obtendrá una medida de distancia y boquilla. Pruebe la lata moviendo el potenciómetro de la boquilla y moviendo un trozo de tarjeta frente al sensor de distancia. Si todo funciona, continúe con el siguiente paso: ¡preparar la computadora para hablar con el wiimote!

Paso 6: Configuración de la computadora: procesamiento y Wiimote

Configuración de la computadora: procesamiento y Wiimote
Configuración de la computadora: procesamiento y Wiimote

Nuestro principal aquí es hacer que el procesamiento se comunique con el wiimote. Estas instrucciones son específicas de Linux, pero todas deberían funcionar en Mac y Windows con un poco de investigación sobre cómo procesar los datos del wiimote. Después de instalar el procesamiento, encontré algunas instrucciones en el foro, pero todavía tenía algunos problemas. Esto es lo que tuve que hacer:

  1. instalar procesamiento
  2. instalar bibliotecas bluez: sudo apt-get install bluez-utils libbluetooth-dev
  3. crear./processing/libraries/Loc y./processing/libraries/wrj4P5
  4. descargue bluecove-2.1.0.jar y bluecove-gpl-2.1.0.jar y colóquelos en./processing/libraries/wrj4P5/library/
  5. descargue wiiremoteJ v1.6 y coloque el.jar en./processing/libraries/wrj4P5/library/
  6. descargue wrj4P5.jar (usé alpha-11) y póngalo en./processing/libraries/wrj4P5/library/
  7. descargue wrj4P5.zip y descomprímalo en./processing/libraries/wrj4P5/lll/
  8. descargar Loc.jar (usé beta-5) y ponerlo en./processing/libraries/Loc/library/
  9. descargue Loc.zip y descomprímalo en./processing/libraries/Loc/lll/

Luego utilicé un código inspirado en Classiclll para que los botones y la barra de sensores funcionaran. El código / boceto adjunto simplemente dibuja un círculo donde el wiimote encuentra la primera fuente de infrarrojos.

Para verificar su bluetooth, presione los botones uno y dos en el wiimote, luego intente escanear $ hcitool en la terminal. Debería ver el wiimote de nintendo detectado. Si no es así, tendrá que mirar más a fondo la configuración de su bluetooth. Si todo está bien, cargue el programa wiimote_sensor.pde (adjunto) e inícielo. En la parte inferior de estado de la pantalla, debería ver: BlueCove versión 2.1.0 en bluez tratando de encontrar una wii Presione los botones 1 y 2 en el wiimote. Después de que se detecte, mueva su fuente de infrarrojos (la lata de aerosol) frente a ella. ¡Debería ver un círculo rojo siguiendo su movimiento! Asegúrese de que esto funcione antes de continuar. Si no puede hacer que funcione, busque en el foro de procesamiento.

Paso 7: configurarlo todo

Preparándolo todo
Preparándolo todo

Descargue el software virtualGraffiti a continuación. ¡Extraerlo en el directorio de tu cuaderno de bocetos y luego seguir estos pasos!

* Encienda la lata de aerosol, verifique que la luz LED de estado esté parpadeando. * encienda la computadora, conecte el receptor de la lata de aerosol, * configure la pantalla y el proyector, * verifique que el LED de estado del receptor de la lata de aerosol esté parpadeando, * comience a procesar y cargue el programa virtualGraffiti, * verifique que esté obteniendo el indicador de serie RX y TX Los LED parpadean en la placa arduino, * presione ambos botones en wiimote, * realice una calibración de 4 puntos cuando se le solicite (coloque la lata de aerosol sobre cada objetivo por turno, luego presione la boquilla hasta que la escritura se vuelva roja). * ¡divertirse!

Paso 8: recursos, enlaces, agradecimientos, ideas

Enlaces Aquí están los enlaces que fueron invaluables para hacer que este proyecto funcione: Información de RF: https://narobo.com/articles/rfmodules.html Arduino: www.arduino.cc Procesamiento: www.processing.org Uso de wii con procesamiento: 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 # Calibración de 4 puntos de longitudes de onda: https://www.zaunert.de/jochenz/wii/¡Gracias! Sin mucha gente publicando su trabajo, este proyecto hubiera sido mucho más difícil y costoso. Muchísimas gracias a todo el equipo de código abierto, las personas que piratearon el wiimote, Classiclll por hacer que wiimote sea fácil de usar con el procesamiento, Jochen Zaunert por el código para realizar la calibración, el equipo de procesamiento, el equipo de arduino, Lou por la ayuda de carpintería y todos aquellos que exploran, hacen ¡y luego publique sus hallazgos en línea! Sistemas de otras personas * Acabo de encontrar https://friispray.co.uk/, con software de código abierto y un cómo * este sistema permite el uso de plantillas: ¡genial! https://www.wiispray.com/, sin código o cómo * sistema de graffiti virtual de yrwall, sin código o cómo. Ideas para la exploración * use 2 wiimotes para hacer un seguimiento de volumen en 3D y elimine el sensor de distancia en la lata: https://www.cl.cam.ac.uk/~sjeh3/wii/. Esto sería bueno porque el sensor de distancia es actualmente la parte más débil del sistema. También significaría que podríamos usar una pantalla de retroproyección adecuada para obtener imágenes más vívidas. * use un wiimote en la lata para detectar el ángulo de la lata de aerosol. Esto agregaría realismo al modelo de pintura en aerosol.

Recomendado: