Telesketch o Sketch es un juguete inventado en durante los años 50 por el francés Arthur Granjean, fue presentado en la Exhibición Internacional de Juguetes de Nuremburg, Alemania en 1959. Tardaría solamente un año en ser comercializado en Estados Unidos con el nombre de Etch-A-Sketch por Ohio Art Company y en España por Borrás. Granjean lo llamó originalmente “la Pantalla Mágica”.
Se trata de un juguete relativamente plano y rectangular, con la apariencia de una pequeña pantalla de televisión. Tuvo una gran acogida en los años 80, por lo revolucionario de su idea, y aún hoy sigue haciendo disfrutar a niños de todas las edades, a pesar de haber sido objeto de numerosas modificaciones y evoluciones.
El Telesketch es una versión muy simplificada de un plotter. Veamos cómo está montado y cómo funciona.
El Teleskecth desmontado sin la pantalla
Detalle del interior
Detalle de la punta
Crear una línea recta en diagonal o con una curva suave con un Telesketch es notablemente difícil y una verdadera prueba de coordinación. Una solución es alternar cuidadosamente líneas verticales y horizontales con incrementos muy pequeños, una técnica que guarda semejanza con las líneas pixeladas generadas en las pantallas de los ordenadores.
En esta era de grandes tecnologías, juguetes como este siguen siendo un clásico y su impacto es tan grande que hoy en día hay artistas que lo utilizan como base de su trabajo, como es el caso del retratista George Vlosich.
O que quieren homenajear su diseño en los gadgets más punteros, como esta funda para el iPad:
Telesketch NXT
Como curiosidad, ahora os dejamos uno de los primeros encuentros entre un Mindstorms NXT y un Telesketch.
En este caso, se trata de un NXT controlando un TeleSketch:
Como podéis ver en la imagen siguiente, el montaje de nuestro Telesketch es bastante sencillo: dos motores a los lados de la pantalla, dos ruedas dentadas, algunas piezas para conectarlo todo y nada más.
Código de NXT-G
En la imagen siguiente mostramos un ejemplo de programa explicado:
Código en RobotC
#pragma config(Motor, motorA, MotorX, tmotorNormal, PIDControl, reversed) #pragma config(Motor, motorC, MotorY, tmotorNormal, PIDControl, ) //*!!Code automatically generated by 'ROBOTC' configuration wizard !!*// task main(){ int X; int Y; while (true){ eraseDisplay(); while(nNxtButtonPressed!=2){ X=nMotorEncoder[MotorX]/10; Y=nMotorEncoder[MotorY]/10; if(X<1){ X=1; } else if(X>99){ X = 99; } if(Y<1){ Y = 1; } else if(Y>63){ Y = 63; } nxtSetPixel(X,Y); } } }
- Líneas 6 y 7: definimos 2 variables X,Y que representan nuestra posición en pantalla.
- Línea 9: bucle infinito.
- Línea 12: bucle dependiente del botón intro, que interrumpirá el programa y borrará la pantalla (Línea 10)
- Líneas 13 y 14: Tomamos el valor del tacómetro de los motores dividido entre 10, para hacer el desplazamiento más lento.
- Líneas 15 a 25: filtrado de los valores para evitar salirnos de la pantalla, hay que recordar que tenemos 100 píxels de largo (X), por 64 de alto (Y).
- Línea 27: Función que pinta en pantalla un único píxel, en la posición X, Y.Os ponemos un pequeño vídeo para que veáis cómo funciona este experimento
¡Esperamos que os haya gustado!
Fuentes: