# MONTAJE 7 Telesketch

##### <span style="color: rgb(22, 145, 121);">**¿Qué es el Joystick?**</span>

Son dos potenciómetros, uno en el eje X y otro en el eje Y además de un pulsador digital cuando se pulsa hacia dentro.

El potenciómetro X está conectado en los pines A0 del Arduino y el del eje Y al A1 por lo tanto si has leído los capítulos de ARDUINO **sus valores varía desde 100 hasta 1024.** El pulsador está conectado al D10.

![](https://libros.catedu.es/uploads/images/gallery/2022-03/embedded-image-p7kviww7.png)

<p class="callout info"><span style="color: rgb(22, 145, 121);">**<span style="color: rgb(0, 0, 0);">LAS COSAS CLARAS: IGUAL DA ESTA INSTRUCCIÓN</span>**  
[![2025-04-30 19_54_37-EchidnaML.png](https://libros.catedu.es/uploads/images/gallery/2025-04/scaled-1680-/2025-04-30-19-54-37-echidnaml.png)](https://libros.catedu.es/uploads/images/gallery/2025-04/2025-04-30-19-54-37-echidnaml.png)  
**<span style="color: rgb(0, 0, 0);">QUE ESTA: ( poniendo A0) </span>  
[![2025-11-22 23_41_08-EchidnaML.png](https://libros.catedu.es/uploads/images/gallery/2025-11/scaled-1680-/2025-11-22-23-41-08-echidnaml.png)](https://libros.catedu.es/uploads/images/gallery/2025-11/2025-11-22-23-41-08-echidnaml.png)  
<span style="color: rgb(0, 0, 0);">Preferimos la primera pues EchidnaML se adapta a la versión de la placa</span>**<span style="color: rgb(0, 0, 0);"> *es decir, que si en el futuro el joystick x en una versión furura es por ejemplo A5 la instrucción primera se adapta y lo envía a la A5 siendo transparente al alumnado, mientras que en la segunda tienes que saber que ha cambiado a A5*</span>  
</span></p>

#### <span style="color: rgb(22, 145, 121);">**Reto Telesketch**</span>

<span style="color: rgb(0, 0, 0);">Si no sabes lo que es esto, no has tenido infancia 😊😁</span>

**[![TELSKET.jpg](https://libros.catedu.es/uploads/images/gallery/2024-12/scaled-1680-/telsket.jpg)](https://libros.catedu.es/uploads/images/gallery/2024-12/telsket.jpg)**

<p class="callout info">Vamos a realizar el mismo ejemplo que [este vídeo de Jorge Lobo](https://youtu.be/Hx5DjQw7e_U) pero en vez de realizado en Snap4Arduino lo vamos a hacer en EchidnaScratch y en mBlock.</p>

<iframe allowfullscreen="allowfullscreen" height="314" id="bkmrk--8" src="//www.youtube.com/embed/Hx5DjQw7e_U" width="560"></iframe>

##### <span style="color: rgb(22, 145, 121);">**Solución con EchidnaScratch**</span>

Todos los programas de este curso se encuentran en este repositorio: [https://github.com/JavierQuintana/Echidna](https://github.com/JavierQuintana/Echidna)

Simplemente vamos a considerar estas condiciones:

- <p class="callout success">*Si el joystick en el **eje X** es menor que **300** es que estás inclinando el Joystick hacia la izquierda, luego el Sprite tiene que modificar su variable **decrementando** su valor, un valor fijo que lo definiremos como PASO*</p>
- <p class="callout success">*Si el joystick en el **eje X** es mayor que **700** es seguro que estás inclinando el Joystick hacia la derecha luego hay que **incrementar** el valor de la ordenada X el valor predefinido PASO*</p>
- <p class="callout success">*Idem para el **eje Y***</p>
- <p class="callout success">***PASO** es una variable que de momento lo vamos a poner como 3, si es menor, va más preciso pero más lento, si es mayor es más rápido pero el dibujo es menos preciso.*</p>
- <p class="callout success">*Los botones SR y SL nos servirán para subir y bajar el lápiz y borrar*</p>

##### <span style="color: rgb(22, 145, 121);">**¿Lápiz ? ¿Qué lápiz?**</span>

Lápiz es una extensión para poder dibujar. Para instalar una extensión pulsa aquí

[![2024-12-05 15_49_35-EchidnaML.png](https://libros.catedu.es/uploads/images/gallery/2024-12/scaled-1680-/2024-12-05-15-49-35-echidnaml.png)](https://libros.catedu.es/uploads/images/gallery/2024-12/2024-12-05-15-49-35-echidnaml.png)

E instalamos esta extensión

[![2024-12-05 15_50_03-EchidnaML.png](https://libros.catedu.es/uploads/images/gallery/2024-12/scaled-1680-/2024-12-05-15-50-03-echidnaml.png)](https://libros.catedu.es/uploads/images/gallery/2024-12/2024-12-05-15-50-03-echidnaml.png)

Y se instalan nuevas instrucciones para dibujar

[![2024-12-05 15_51_36-EchidnaML.png](https://libros.catedu.es/uploads/images/gallery/2024-12/scaled-1680-/2024-12-05-15-51-36-echidnaml.png)](https://libros.catedu.es/uploads/images/gallery/2024-12/2024-12-05-15-51-36-echidnaml.png)

##### **<span style="color: rgb(22, 145, 121);">Código con EchidnaScratch</span>**

<span style="color: rgb(0, 0, 0);">Recomendamos cambiar el sprite del gato por otro más apropiado, por ejemplo el lápiz y bajarlo a un tamaño 15</span>

<span style="color: rgb(0, 0, 0);">[![2024-12-05 15_54_22-EchidnaML.png](https://libros.catedu.es/uploads/images/gallery/2024-12/scaled-1680-/2024-12-05-15-54-22-echidnaml.png)](https://libros.catedu.es/uploads/images/gallery/2024-12/2024-12-05-15-54-22-echidnaml.png)</span>

<span style="color: rgb(0, 0, 0);">El programa :</span>

- <span style="color: rgb(0, 0, 0);">Inicia las variables que hemos explicado</span>
- <span style="color: rgb(0, 0, 0);">En el bucle, las condicionales hacen que se incremente o decremente las variables X e Y la cantidad definida PASO</span>
- <span style="color: rgb(0, 0, 0);">El botón SR </span>
    - <span style="color: rgb(0, 0, 0);">si se pulsa, pinta</span>
    - <span style="color: rgb(0, 0, 0);">si se suelta no pinta</span>
- <span style="color: rgb(0, 0, 0);">El botón SL borra todo</span>
- <span style="color: rgb(0, 0, 0);">Mover el sprite según las coordenadas X e Y</span>

[![2025-04-30 20_06_40-EchidnaML.png](https://libros.catedu.es/uploads/images/gallery/2025-04/scaled-1680-/2025-04-30-20-06-40-echidnaml.png)](https://libros.catedu.es/uploads/images/gallery/2025-04/2025-04-30-20-06-40-echidnaml.png)

Todos los programas de este curso se encuentran en este repositorio: [https://github.com/JavierQuintana/Echidna](https://github.com/JavierQuintana/Echidna)

<iframe allowfullscreen="allowfullscreen" height="314" src="https://www.youtube.com/embed/a27fEoP_A2w" width="560"></iframe>

##### **<span style="color: rgb(22, 145, 121);">Solución con mBlock</span>**

En mBlock no hay instrucciones especiales para Echidna, hay que hablar pues de A0 para el eje X y A1 para el eje Y por lo tanto las nuevas condiciones son:

<p class="callout success">*Si A0 es menor que 300 es que estás inclinando el Joystick hacia la izquierda, luego el Sprite tiene que modificar su variable x hacia la derecha, es decir decrementando su valor  
![](https://libros.catedu.es/images/image86.png)*[![image-1648727378013.png](https://libros.catedu.es/uploads/images/gallery/2022-03/scaled-1680-/image-1648727378013.png)](https://libros.catedu.es/uploads/images/gallery/2022-03/image-1648727378013.png)  
Si A0 es mayor que 700 es seguro que estás inclinando el Joystick hacia la derecha luego hay que incrementar el valor de la ordenada X  
![](https://libros.catedu.es/uploads/images/gallery/2022-03/embedded-image-6kzsd3fc.png)  
Para los valores del eje Y es igual, cambiando A0 por A1  
</p>

#### <span style="color: rgb(22, 145, 121);">**Programa en mBlock**</span>

Primero pondremo un objeto lápiz y añadiremos la extensión LAPIZ esto se entiende mejor con un vídeo

<iframe allowfullscreen="allowfullscreen" height="314" src="https://www.youtube.com/embed/xft-6Nz3yzE" width="560"></iframe>

Pero no hagas la programación de hacer el cuadrado. Sino este

[![echidna-teleschetch.png](https://libros.catedu.es/uploads/images/gallery/2023-11/scaled-1680-/echidna-teleschetch.png)](https://libros.catedu.es/uploads/images/gallery/2023-11/echidna-teleschetch.png)

Donde BAJAR, SUBIR Y BORRAR SON MENSAJES y X e Y son variables globales a todos los objetos. En el arduino el programa será

[![echidna-teleschetch2.png](https://libros.catedu.es/uploads/images/gallery/2023-11/scaled-1680-/echidna-teleschetch2.png)](https://libros.catedu.es/uploads/images/gallery/2023-11/echidna-teleschetch2.png)

El programa te lo puedes descargar aqui [https://planet.mblock.cc/project/3228849](https://planet.mblock.cc/project/3228849)

**VA MUY LENTO** El resultado lo puedes ver en [este vídeo](https://www.youtube.com/watch?v%3DJzyd5cPb2-Y):

<iframe allowfullscreen="allowfullscreen" height="314" id="bkmrk--13" src="//www.youtube.com/embed/Jzyd5cPb2-Y" width="560"></iframe>

Por curiosidad puedes ver el mismo programa en **Snap4Arduino** en este vídeo:

<iframe allowfullscreen="allowfullscreen" height="314" id="bkmrk--15" src="//www.youtube.com/embed/j1lsYq6X5-U" width="560"></iframe>

Puedes ver que es mucho **más rápido** que mBlock.