bclose

Nuestro primer programa Scratch

Primeros pasos programando

Objetivos

 

    • Primera toma de contacto con S4A Scratch for Arduino.
    • Realizar nuestro primer programa.
    • Cargarlo en nuestro Arduino y comprobar que funciona.
 

Material requerido.

 ArduinoUNO

Arduino Uno o compatible con S4A y con el firmware para S4A cargado.

 CableUSBUn cable USB adecuado al conector de tu Arduino.
 PCUn PC con el entorno S4A correctamente instalado y configurado.

PRIMEROS PASOS

No tiene ningún sentido tratar de explicar para qué sirven cada una de las opciones y bloques que encontramos en el entorno S4A, porque probablemente se os olvidarían la mayoría al de diez minutos (O menos, que ya nos conocemos).  Igual que la mejor manera de aprender a andar es andando, la mejor manera de aprender a programar es ir programando poco a poco.

De momento nos basta con saber que al arrancar S4A nos encontramos una pantalla con 5 zonas diferentes. Iremos explicando qué son y para qué sirven cada una de ellas a lo largo del curso.

 
  1. Tipos de bloques.
  2. Listado de bloques de una determinada categoría.
  3. Contenido de un objeto: programas, disfraces y sonidos.
  4. Escenario.
  5. Listado de objetos. 

 

Zonas de trabajo

El ejercicio típico para empezar a programar suele ser el blinking LED (LED intermitente), porque es fácil de programar e ilustra la capacidad de Arduino para interactuar con el mundo exterior.

 
  • Es interesante destacar aquí, los PCs de sobremesa a los que estamos ya tan habituados, son rapidísimos y con capacidades muy lejos del alcance de Arduino y otros pequeños procesadores de bajo costo. Pero en cambio, estos son capaces de interactuar con el mundo exterior fácilmente algo que queda casi fuera del alcance de los potentes PCs.
  • Esta capacidad de interactuar con el exterior y no simplemente realizar operaciones internas aisladas, ha sido bautizada como computación fisica y abre unas posibilidades inmensas, como las impresoras 3D, los Drones y automatismos de todo tipo.
  • Y aun mas interesante, están al alcance de cualquiera con interés y no hace falta ser ingeniero para comprobarlo, como esperamos poderos demostrar

Arduino tiene varias maneras de relacionarse con el mundo exterior. Vamos a empezar por los pines  digitales de entrada y de salida.

Aunque las placas Arduino tienen la capacidad de utilizar cualquiera de los pines digitales como entrada o salida, en el entorno S4A vienen ya predefinidos:

 
  • Entradas digitales: para leer información digital del mundo exterior. En S4A corresponden a los pines 2 y 3. (En rojo)
  • Salidas digitales: para enviar una señal digital al mundo exterior. En S4A corresponden a los pines 10, 11 y 13. (En amarillo). 
Arduino

Las señales digitales son aquellas que sólo pueden tomar dos valores, 0 y 1 (HIGH y LOW). En Arduino corresponden a valores de 5V para HIGH y 0V para LOW.

 
  • Aunque al principio puede sonar raro, muchas cosas son digitales. Por ejemplo puedes salir de casa o no, pero no hay un termino intermedio (Filósofos abstenerse)
  • Puedes aprobar si o no. Cuando alguien te explica que no ha aprobado pero en realidad es como si si, suele acabar en recuperación.
  • Esta dualidad tan sencilla es la base de funcionamiento de toda la computación actual aunque aun os parezaca increible.  

 

NUESTRO PRIMER PROGRAMA: BLINKING LED

 

Nuestro primer programa será un LED que parpadea cada segundo. Para ello vamos a utilizar la salida digital 13 porque tiene conectado un LED directamente en la placa Arduino.  De esta manera no tendremos que realizar ningún montaje y nos podremos centrar en explicar los bloques que compondrán el programa y como cargarlo en la placa.

Uso en Scratch

Para empezar nos fijamos en la parte de arriba a la izquierda del S4A. Ahí es donde se escogen las diferentes categorías de bloques que hay.

En este caso seleccionaremos la categoría “Control” y vemos como debajo aparece la lista de bloques que entran dentro de ese grupo de “Control”.

Las areas scratch
 
  • Los bloques de “Control” son los que indican a nuestro programa cómo y cuándo interpretar los demás bloques.
  • Todos son de color amarillo.
  • Si os fijáis en los bloques veréis que tienen una forma determinado a modo de pieza de un puzle.
  • Sólo determinados bloques encajan con otros, lo que nos ayudará a la hora de componer las estructuras de nuestros programas. 

Normalmente los programas los empezaremos con el primero de los bloques (El de la bandera verde) y todos los demás están por debajo de éste. Pulsamos con el botón izquierdo del ratón encima de él y lo arrastramos hacia la parte central de S4A. Con este bloque lo que hacemos es que el programa se ejecute cuando pulsemos la bandera verde de la parte de arriba a la derecha y hasta que pulsemos en el hexágono rojo.

Zona de ejecucion

Como queremos que el programa se ejecute un número indefinido de veces, vamos a coger ahora el bloque de control “por siempre”. Si nos fijamos en la forma de este bloque veremos que la parte de arriba encaja con la parte de abajo del bloque con el que hemos empezado.

Además el bloque “por siempre” tiene un hueco en medio en el que podremos encajar otras instrucciones, de manera que todo lo que esté dentro de él se ejecute en secuencia hasta el final. Una vez que termina, vuelve a empezar desde el principio del bloque, haciendo un ciclo sin fin.

Bloque scratch

Lo que vamos a hacer ahora es elegir los bloques que enviarán las señales a la salida digital para encender y apagar el LED. Este tipo de bloques están en la categoría de “Movimiento”.

De los bloques que aparecen vamos a utilizar los de “digital 13 encendido” y “digital 13 apagado”.  Primero cogeremos “digital 13 encendido” y lo metemos, arrastrando, dentro de del bloque “por siempre”.

Los bloques de “Control” son los que indican a nuestro programa cómo y cuándo interpretar los demás bloques. Todos son de color amarillo. Si os fijáis en los bloques veréis que tienen una forma determinado a modo de pieza de un puzle. Sólo determinados bloques encajan con otros, lo que nos ayudará a la hora de componer las estructuras de nuestros programas.

Si en este punto damos a la bandera verde para ejecutar el programa, veremos que el LED se enciende y se mantiene encendido hasta que paremos el programa.

Como queremos que esté encendido dos segundos, vamos a la categoría “Control”, seleccionamos  el bloque “esperar 1 segundos”, y lo ponemos a continuación de “digital 13 encendido”.

Con esto lo que hacemos es que el programa se quede en la situación en la que está durante 1 segundo (o el tiempo que nosotros le indiquemos).

Bloque scratchComo lo que queremos es que se pague ahora y se mantenga apagado dos segundos, repetimos lo mismo pero con el bloque “digital 13 apagado”.

mas pasos

Ya hemos terminado nuestro primer programa. Sólo nos queja ejecutarlo y ver si funciona correctamente.

Para ello damos a la bandera verde, o también podemos hacer click con el botón izquierdo encima de cualquiera de los bloques de instrucciones. Veremos que todos los bloques de nuestro programa y la bandera verde del escenario se iluminan y el LED de nuestra placa Arduino comienza a parpadear cada dos segundos.

Programa completo

Podéis descargaros el programa desde aquí: Blinking_Led.

Por último, y si queremos guardar nuestro programa iremos a la pestaña “Archivo”, y le daremos a “Guardar Como…”. En ese menú tenemos también las opciones de “Abrir…” para abrir un proyecto que hayamos guardado anteriormente y “Guardar” para guardar el archivo encima del que tenemos abierto.

También es interesante saber que en la pestaña “Editar” tenemos la opción de “Deshacer”, por si nos hemos equivocado y queremos volver atrás.

Opcion salvar

 

Resumen de la sesión

 

En esta sesión hemos aprendido varias cosas importantes:

 
  • La estructura básica de un programa.
  • A seleccionar bloques y añadirlos a nuestro programa.
  • La importancia de la forma y color de los bloques y cómo interactúan entre sí.
  • Como ejecutar y parar un programa.

 

 

 

 

 

No Comments

Give a Reply

WordPress Anti-Spam by WP-SpamShield