Objetivos

 

  • Montar un circuito con múltiples LEDS para construir un semáforo.
  • Utilizar bloques de salida digital con pines diferentes.
  • Visualizar el semáforo en la pantalla de nuestro PC.
  • Aprender a cambiar el fondo del escenario.
  • Introducir el concepto de algoritmo.
  •  

    Material requerido.

     

    ArduinoUNO Arduino Uno o compatible y con el firmware para S4A cargado.
    Img_3_4Img_3_6 Una Protoboard más cables.
    colores 3 diodos LED de colores.
    Img_3_5

    Cuatro resistencia de 330 Ohmios.

    ESQUEMA ELECTRÓNICO DEL SEMÁFORO

     

    En la sesión anterior vimos cómo conectar correctamente un LED. Ahora vamos a complicar un poco el circuito conectando tres diodos LED que se encenderán y apagarán para construir nuestro propio semáforo.

    Si hemos entendido el circuito con un sólo LED es fácil entender también este circuito. El esquema electrónico sería el siguiente:

    esquema de conexion

  • Hemos conectado cada uno de los diodos LED a diferentes salidas digitales para poder gobernarlos de forma independiente.
  • Sólo necesitamos una resistencia porque está en serie con los tres diodos. La corriente que circule por cualquiera de ellos lo hará también por la resistencia, de forma que protegerá a los tres de quemarse.
  • Cerramos el circuito conectando la resistencia a GND.[/fancy-ul] [/three-fourth]
  •  

    El montaje del circuito en la placa protoboard sería el siguiente:

    s4a montaje varios leds

  • En general, se considera buena costumbre (la recomendamos), montar los circuitos que veamos a partir del esquema electrónico del mismo, más que a partir del diagrama de conexiones de la protoboard.
  • La razón es que con el esquema, la comprensión del circuito es completa y se evita la tentación de copiar la práctica sin necesidad de entenderla.
  • Además, el diagrama electrónico del circuito es su completa descripción y suele resultar más sencillo comprender la función del mismo. En cambio a medida que los circuitos se hacen más complejos, comprender su función desde un esquema de protoboard puede complicarse mucho, y peor aún, llevar a una interpretación errónea.[/fancy-ul] [/three-fourth]
  •  

    PROGRAMACIÓN DEL SEMÁFORO

     

    Un semáforo funciona de forma que se encienden primero el rojo, luego el verde, y por último el amarillo. Después volvería a empezar por el rojo.

    Para programar nuestro semáforo no necesitamos ningún bloque que no hayamos usado antes. La única novedad será elegir en el bloque “digital encendido” y “digital apagado” la salida digital que queramos utilizar.

    arduino scratch

    Comenzaremos el programa con los mismos bloques de control que comenzamos la práctica anterior, ya que queremos que el semáforo funcione continuamente mientras esté pulsada la bandera verde.

    Lo primero que queremos hacer es que se encienda el LED rojo durante 3 segundos y después se apague.  Como es el que hemos conectado a la salida digital 13, seleccionaremos esa salida en los bloques de “Movimiento” de encender y apagar.

    En el bloque de “Control” de “esperar” le ponemos 3 segundos.

    secuencia inicial

  • No queremos que pase tiempo entre que se apague el LED rojo y se encienda el amarillo. Por eso no necesitamos poner otro bloque de “esperar” después de apagar.
  •  

    Hacemos los mismo para el LED verde (pin digital 10) y para el amarillo (pin digital 11), con la excepción de que el amarillo solo queremos que este encendido 1 segundo.

    rojo verde amarillo

    Si damos a la bandera verde para ejecutar el programa, veremos cómo funciona nuestro propio semáforo en la placa Arduino.

     

    VISUALIZACIÓN DEL SEMÁFORO EN PANTALLA

     

    Siguiendo el concepto de la práctica anterior, vamos a tratar de visualizar el comportamiento de nuestro programa en nuestro monitor.

  • Dibujamos los tres disfraces para simular nuestro semáforo en la pantalla del ordenador, uno por cada situación diferente de las que se dan.
  • Incluimos los respectivos bloques de “Apariencia” “cambiar el disfraz a” como hemos aprendido, y seleccionamos que disfraz queremos que usen.[/fancy-ul] [/three-fourth]
  •  

    semaforo scratch

    Al ejecutar el programa veremos cómo funciona nuestro programa del semáforo, tanto en nuestra placa Arduino como en nuestro monitor.

    s4a scratch

     

    COLOCANDO UN FONDO DE ESCENARIO

     

    Hasta ahora todos nuestros escenarios han consistido en un fondo blanco. Ahora vamos a sustituirlo por un fondo en el que colocar nuestro semáforo de forma que le dé un poco más de realismo.

    Para ello seleccionaremos el icono del escenario en el listado de objetos de la parte inferior derecha.

    scratch for arduino

    Para  cambiar el fondo del escenario iremos a “Fondos”, que se encuentra en el mismo sitio que la pestaña de ”Disfraces” de los objetos.

    En este caso en vez de dibujar nosotros un fondo, vamos a utilizar una imagen que ya esté creada dándole al botón “Importar”:

  • Podemos utilizar los fondos que vienen por defecto en S4A o una imagen que tengamos en el ordenador.
  • En lugar de dibujar los objetos, podemos importar una imagen de la misma forma que estamos haciendo con el escenario.
  •  

    scratch

    En este caso yo he elegido una imagen de las que vienen por defecto en S4A en la que aparecen unas vías de tren. El problema es que el semáforo es demasiado grande. Por suerte, con los iconos que hay encima del escenario podemos agrandar, reducir, borrar y duplicar objetos. Si pasamos el ratón por encima nos mostrará para que sirve cada uno.

    semaforo 2

    Reducimos el semáforo y lo colocamos donde queramos. Ahora seleccionamos de nuevo el único objeto que hay en el listado de objetos del escenario y ejecutamos el programa.

    scratch for arduino

    Podéis descargar el programa completo desde aquí: Semáforo.

     

    PROBANDO OTRAS VARIANTES: CONCEPTO DE ALGORITMO

     

    Una variante de este programa, usando el mismo circuito, sería hacer un efecto de ola en el que las luces subieran dejando encendidos los LEDs previos hasta alcanzar el máximo y ahora descender apagando los LEDs superiores hasta apagarlos todos. Os recomiendo intentar resolver el problema como desafío, antes de mirar solución.

  • En realidad la parte más difícil de aprender a programar es aprender a resolver los problemas de un modo que nos permita darle instrucciones a un ordenador para que lo lleve a cabo.
  • Estos procedimientos secuenciales de cómo resolver un cierto tipo de problemas es lo que se conoce como un algoritmo.
  • Según el problema que abordemos el algoritmo será más o menos complicado pero aprender a programar tiene más que ver con desarrollar esta capacidad de resolver problemas lógicos en una secuencia de pasos que podamos codificar en un ordenador.
  • Por cierto, cualquiera puede aprender a programar. No lo dudéis. Solo que como en todo, a unos les lleva más tiempo que a otros desarrollar la habilidad necesaria. Al principio muchos me dicen que les duele la cabeza de pensar en este tipo de cosas, pero os animo a continuar (poco a poco si es preciso) porque os encontrareis que vale la pena.
  •  

    Si se os resiste, podéis ver aquí la estructura programa para hacer el efecto ola.

    • Si queréis montar el circuito con más LEDs, deberías poner una resistencia por cada uno de ellos o por cada dos; o podrías quemarla cuando estén encendidos todos los LEDs.
    • Lo mismo os digo si queréis que estén encendidos los tres LEDs a la vez durante mucho tiempo.

    secuencia de leds en scratch

     

    Resumen de la sesión

     

    En esta sesión hemos aprendido varias cosas importantes:

  • A utilizar varias salidas digitales en un mismo programa.
  • A montar un circuito electrónico un poco más complejo.
  • Cómo cambiar el fondo del escenario y adecuar a él nuestros objetos.
  • Hemos introducido el concepto de algoritmo como un procedimiento secuencial para resolver un problema concreto y lo hemos aplicado a varios ejemplos de programas sencillos con luces.
  •  
     

    Deja una respuesta