Unidad 23

En esta unidad vamos a hacer la simulación de un cruce de semáforos, donde vamos a tener un semáforo para coches, con rojo, amarillo y verde, y un semáforo para peatones, con rojo y verde.

Esta actividad se podría hacer perfectamente sin utilizar funciones, pero vamos a utilizar la actividad para introducirlas. Las funciones nos van a ayudar a facilitar la comprensión de nuestro programa y a la reutilización de esas funciones en otros proyectos.

Lo primero que vamos a hacer es añadir los componentes que necesitamos en 123d circuits.

Después nos vamos a Bitbloq. En el apartado de hardware añadimos los componentes y nos vamos al apartado de software.

Las funciones se declaran en el primer apartado, en el denominado variables globales, funciones y clases.

Nosotros vamos a declarar tres funciones, a las que vamos a denominar estado uno, dos y tres. En el primero vamos a encender el led rojo de coches y el verde de peatones.

En el segundo, vamos a encender el amarillo de coches y ninguno en el de peatones.

Y en el tercero, el verde de los coches y el rojo de peatones.

Podríamos pensar que ya hemos terminado pero no se nos puede olvidar ir apagando los led que no necesitamos. En el estado dos tenemos que apagar los que hemos encendido en el uno, en el tres los del dos y en el uno los del tres.

Hemos declarado nuestras tres funciones pero, si cargamos el sketch a Arduino, éste no hará nada. Para llamar a las funciones tenemos que arrastrar el bloque “ejecutar” y seleccionar la función que queremos ejecutar. También tenemos que tener la precaución de añadir una pausa entre cada una de las llamadas a las funciones.

Una vez terminado, copiamos el código y nos vamos a 123d circuits. Lo pegamos y, si todo ha ido bien, nuestro semáforo debe funcionar a la perfección.

Pero vamos a hacer una modificación a nuestro programa. Como la pausa la tenemos que hacer siempre, la vamos a meter dentro de la función. Con eso ya estaría todo.