Artibot - un robot de pintura de retrato (1 / 2 paso)

Paso 1: Software

La arquitectura incluye una aplicación de iPhone para tomar una fotografía, reducir la resolución a 100 x 100 píxeles y convertir a escala de grises. La imagen fue luego base-64 codificados y subido a una aplicación de Google App Engine que colas de las imágenes para ser dibujado.
El arduino estaba equipado con un escudo de Ethernet por lo que puede comunicarse con el servidor.
Para explicar el software, tenga en cuenta el siguiente dibujo:

En el dibujo anterior, la alfa de ángulo es el ángulo del primer brazo del eje y y ángulo beta es el ángulo del segundo brazo de la línea la sigue a la primera dirección de brazo. Estos son los ángulos de que los servomotores se utilizan como su valor o su posición. R1 y R2 son las longitudes de brazo primera y segunda.
Para calcular la posición de la pluma, usamos estas ecuaciones:
MX = Ox + R1 x sin(alpha)
Mi = Ox - R1 x cos(alpha)
x = Mx + R2 x sin(alpha+beta)
y = mi - R2 x cos(alpha+beta)
en x crece hacia la derecha y y crece hacia abajo y el origen (0,0) está en la esquina superior izquierda.

Realizamos la conversión de (alfa, beta) espacio para el espacio de la imagen en el código de servidor, para hacer el arduino parte más simple. El servidor básicamente recibió una solicitud para un alfa de cierto ángulo y se luego iterar sobre todos los valores de beta, calcular la x, y y mapa para el espacio de la imagen, leer el valor del píxel y volver los valores de todos los betas a arduino.

La secuencia de dibuja fue paso a paso la posición de los hombros (alfa) por grado y para cada tal posición, mueva el motor codo de algunos beta mínimo a un máximo beta.

El flujo general del software arduino fue:
1. fijar - establecer la conexión con el servidor
2. lazo para alfa = minAlpha a maxAlpha
3. llame al servidor para obtener una secuencia de valores de nivel de gris para alpha actual
4. pasar los bytes de encabezado de respuesta HTTP y leer el primer byte de la carga útil. este byte es 0 si el servidor no tiene más datos
5. lazo para beta = minBeta a maxBeta
6. Lee el siguiente carácter que representa el nivel de gris en la versión beta actual
7. Si el gris es más oscuro que un umbral, mover la pluma hacia abajo durante 0,5 segundos y luego (dibuje un punto)
8. una vez hecho esto, no sólo en un bucle - el usuario debe empujar el botón reset para buscar la siguiente imagen desde el servidor

El código del sketch de arduino está disponible aquí:

http://github.com/iroth/artibot

Artículos Relacionados

Brazo de Robot de pintura puntillista

Brazo de Robot de pintura puntillista

No puede ser un Da Vinci o Kahlo, pero este robot de pintura paquetes bastante el golpe artístico para su tamaño. En este Instructable, mal mostrará como fue desde el concepto hasta la finalización y había construido un brazo de robot de pintura util
Robot de pintura de la ventana (arduino, procesamiento, acelerómetro)

Robot de pintura de la ventana (arduino, procesamiento, acelerómetro)

la idea de este proyecto vino de uno de mis favoritos ' ibles: el polargraph. ¿Me encantó el estilo de dibujo y pensamiento lo guay sería hacerlo en el lado de un edificio? Por desgracia los retos para establecer una polargraph tan grande con un pres
Robot de pintura china tradicional

Robot de pintura china tradicional

robot de pintura china tradicionalLa pieza de la máquina es en los modelos de aluminio en la plataforma del tablero para colocar que un disco giratorio junto, en la placa pone el cañón de papel. En instala la doble-con bisagras del brazo, el brazo pa
¿Pintura de retrato tradicional paso a paso

¿Pintura de retrato tradicional paso a paso

alguna vez se preguntó cómo los maestros lograr esos colores ricos y vida como imágenes? Bien leyendo.En este tutorial se puede seguir a lo largo de como crear un hermoso retrato de un niño hecho de aceites utilizando técnicas de pintura tradicional.
Cómo pintar un retrato acrílico

Cómo pintar un retrato acrílico

En este tutorial te mostrará cómo pintar utilizando mi método de 7 pasos que a veces llamo estilo arco iris. Puede seguir y aprender a pintar sin el fastidio de tener que mezcle colores o tonos. Vamos a utilizar acrílicos y sólo 7 colores simbolizado
Ornamento de blinky LED "robot" circuito suave

Ornamento de blinky LED "robot" circuito suave

aprende a hacer un robot fácil y rápido adorno completo con panel de blinky torso! Este es un circuito muy sencillo y requiere habilidades de costura para principiantes y no electrónica experiencia.Paso 1: Reunir los materiales y herramientas Se nece
Quipt: Doma Robots industriales

Quipt: Doma Robots industriales

Robots industriales son verdaderamente increíbles máquinas CNC – – no sólo por su velocidad, potencia y precisión, sino porque también son altamente adaptables. A diferencia de otras máquinas CNC, cuando usted pone una herramienta en el extremo del r
Miedo ojo siguiente retrato

Miedo ojo siguiente retrato

mostrará cómo tomar una foto normal y convertirla en una pintura como retrato con los ojos que te siguen alrededor. Esto fue provocado por un arte de papel del dragón que vi en el que la cabeza del dragón parece seguirte sin importar cómo se movió se
Automatizado de pintura mármol!!!!!!

Automatizado de pintura mármol!!!!!!

ObjetivoHacer una mano de robot crear pintura remolino basado en comandos de voz. Remolino de pintura es una clase de arte, donde en colocar gotitas de pintura en agua y sumergir el papel en la superficie del agua, el papel adorna los patrones hace q
3D Instructables Robot impresos

3D Instructables Robot impresos

Se trata de una impresión 3d del Instructables Robot, hay cuatro piezas que montan para crearlo, dos piernas, un cuerpo y la cabeza. Yo estoy entrando en el desafío RobotEncontrar archivos STL aquí en thingiversePaso 1: Diseñar e imprimir las piezas
Robot-O Awesome O disco-O el Robot de discoteca (decoración)

Robot-O Awesome O disco-O el Robot de discoteca (decoración)

Mi sobrina va a tener una fiesta de cumpleaños temática Disco, y como luz discoteca decoraciones puede ser costoso, decidí hacerme algunas decoraciones frescos.  Durante las vacaciones, era un TV comercial cuenta con una discoteca robot http://www.yo
Pendientes geek: Robot de Instructables, Totoro, Gir, Trifuerza y Wiimotes!

Pendientes geek: Robot de Instructables, Totoro, Gir, Trifuerza y Wiimotes!

que quería hacer unos pendientes muy funky y personalizados para dar a mi hermanita. Ella ama los clásicos--Zelda, Totoro, Nintendo, Invader Zim, Robots, etc. y generalmente le encanta llevar cualquier cosa que grita en voz alta y orgullosos al mundo
Se aferra ventana estática de Instructables Robot

Se aferra ventana estática de Instructables Robot

Me preguntaba cuál será mi siguiente instructivo y subió con una se aferra de la ventana estática de la robusteza de Instructables. Se aferra ventana estática es adhesivas gratis. Se adhieren a la superficie lisa y plana, por sus propiedades estática
Modificar un iRobot Create a pintura

Modificar un iRobot Create a pintura

este es un proyecto de robótica que probablemente podría ser completado por alguien que no tiene experiencia con los robots en todas. Lo digo porque antes de empezar, yo no tenía experiencia con robots. O escribir programas. De hecho, sabía cómo pint