Introduction: Etch a Sketch Digital

About: Father of 3, husband of one, I never can stand still and I am constantly either fixing something or building something.

La cantidad de horas que habré pasado de pequeño intentando pintar una casita en el Etch A Sketch (o telesketch, como se conocía en España). Todo iba bien hasta que intentaba hacer las diagonales del techo.

Como se puede ver en la segunda imagen, esta versión digital del Etch A Sketch no soluciona el problema de las diagonales, pero nos permite seguir intentándolo!

Step 1: Materiales Utilizados

Pantalla TFT de Seeedstudio https://www.seeedstudio.com/2-8-TFT-Touch-Shield-V...

Arduino Uno

Dos potenciómetros de 10K

Un interruptor

Una cajilla (en este caso, impresa en 3d, pero cualquier caja vale)

Una pila de 9V y su conector (sin foto)

Step 2: Montaje

Conectar 3 cables a cada potenciómetro y pelar el extemo contrario para conectarlo directamente al Arduino.

El cable central de los potenciómetros va uno a A5 y el otro a A4

El de la derecha de cada potenciómetro va al pin 5V y el de la izquierda a cualquier pin GND (si los potenciómetros se mueven al revés en la pantalla, cambiar el cable de 5V a GND del potenciómetro.

La pila de 9V se conecta al pin Vin y a cualquier pin GND con el inetrruptor intercalado en el cable que va a Vin

Una vez que tengas todos los cables puestos, pincha la pantalla en el arduino pillando los cables. (Si, es un poco chapuza, pero te evita hacer un "shield"para conectar la pantalla y el Arduino).

Step 3: Código

Lo primero que tienes que hacer es bajarte la librería para la pantalla: https://github.com/Seeed-Studio/TFT_Touch_Shield_V...

El programa del Etch a Sketch está basado en el ejemplo "paint"que viene en la librería de la pantalla.

Este es el código:

<p>// Paint application - Demonstate both TFT and Touch Screen<br>#include <stdint.h></p><p>#include <TFTv2.h> </p><p>#include <SPI.h></p><p>int potpinlr = 4;  // analog pin used to connect the potentiometer
int potpinud = 5;
int valr;    // variable to read the value from the analog pin
int valud;</p><p>void setup()
{
  Tft.TFTinit();  //init TFT library
    TFT_BL_ON;                      //turn on the background light 
Serial.begin(9600);
}
void loop()
{
valr = analogRead(potpinlr);            // reads the value of the potentiometer (value between 0 and 1023)
valr = map(valr, 0, 1023, 240, 0);   // scale it to use it with the servo (value between 240 and 0)
valud = analogRead(potpinud);            // reads the value of the potentiometer (value between 0 and 1023)   
valud = map(valud, 0, 1023, 0, 320);     // scale it to use it with the servo (value between 0 and 320)
Tft.fillCircle(valr, valud, 3, RED);
 Serial.print ("right left");
  Serial.println (valr);
  Serial.print ("up down"); 
  Serial.println (valud);
  
  delay(10);
}</p>

Step 4: La Cajilla

Con mucho cuidado y pegamento caliente poner todo el conjunto en la cajilla y cerrarlo.

Se puede usar una caja de bombones, un Tupperware o cualquier otro envase pequeño que cortaremos para colocar el interruptor, la pantalla y los dos potenciómetros.

Si tienes una impresora 3D, puedes bajrte mi cajilla de aquí: https://www.tinkercad.com/things/lQKTJbkC4vn-etch-...