Ejercicio: Semáforo

De Edutec Wiki
Saltar a: navegación, buscar


Los componentes

Para esta práctica, necesitaremos unos cuantos componentes electrónicos. Os los explicamos a continuación:

Semaforo 01.jpeg La placa Arduino será lo que nos permitirá interactuar con los sensores y los actuadores desde S4A.
Semaforo 02.jpg El sensor de infrarrojos es un dispositivo que envía luz infrarroja y detecta el rebote contra un objeto. De esta manera, es capaz de calcular la distancia a la que se encuentra este último.
Semaforo 03.png Los LEDs son díodos que emiten luz. A diferencia de las bombillas convencionales, necesitan muy poca intensidad y casi toda la energía que producen es en forma de luz. Prácticamente no emiten calor.
Semaforo 04.png Como Arduino trabaja a 5v y los LEDs a unos 2 ~ 3v, necesitaremos resistencias de 220Ω para reducir este voltaje y evitar dañar los LEDs.
Semaforo 05.jpg Para conectar los componentes en la placa, necesitaremos cables de prototipado. La ventaja de estos cables sobre los convencionales es que no necesitaremos soldarlos, ya que cuentan con conectores integrados.
Semaforo 06.jpg La placa de prototipado está preparada para conectar los cables de prototipado y los diferentes componentes sin necesidad de soldadura. Esta placa en concreto, está preparada para acoplarse al Arduino directamente.

Esquema del circuito

Queremos que la placa quede como el siguiente diagrama:

Semaforo 07.png

Fíjese bien en el número de los pines de entrada y de salida. Le proporcionamos también una fotografía del montaje terminado:

Semaforo 08.png


Los objetos

S4A nos permite interactuar entre el mundo real y el virtual. Es por ello que también realizaremos una simulación dentro de Scratch, donde un coche irá de un lado a otro del escenario si el semáforo es verde, y se detendrá en rojo.

Empezaremos dibujando un paisaje de fondo para el escenario. Si lo prefiere, puede importar éste:

Semaforo 09.gif

Ahora podríamos esconder el objeto Arduino, ya que por ahora no necesitamos tenerlo visible. Como con cualquier objeto normal, lo podemos hacer haciendo clic sobre el bloque de esconder:

Semaforo 10.png

Necesitaremos un coche, que podemos encontrar en la galería de objetos de Scratch, pinchando en el icono que indica:

Semaforo 11.png

Cualquiera de los dibujos de coches nos servirá. Por ejemplo, nosotros hemos elegido este:

Semaforo 12.gif

Como queda un poco desproporcionado, fijaremos su tamaño al 50%:

Semaforo 13.png

Ya tenemos el coche y el escenario. Sólo nos falta un semáforo, que podemos dibujar nosotros mismos o importar desde estas dos imágenes que le proporcionamos. Cada imagen será un vestido, uno para el semáforo verde y el otro para el semáforo rojo:

Semaforo 14.gif Semaforo 15.gif

Coloque estos dos objetos en el escenario, de manera que queden aproximadamente así:

Semaforo 16.gif


El programa de Arduino

Ya podemos empezar a programar el Arduino. Fíjese en la tabla de valores que tiene en el escenario:

Semaforo 17.png

Si ha conectado bien el sensor de infrarrojos, los valores deberían fluctuar cuando acerque y aleje la mano.

Tenga en cuenta que todos los pines analógicos se contagian del valor del pin analógico 0. Esto es normal y no debe sufrir.

Haga una estimación aproximada del valor del pin Analog0 a partir del cual desea que el semáforo se ponga rojo. En nuestro caso hemos elegido el 200, pero dependiendo de su sensor podría ser un valor completamente diferente.

Ahora, cuando el sensor pase de este valor, queremos que el coche se detenga y el semáforo se ponga en rojo. Sobre todo, seleccione el objeto Arduino:

Semaforo 18.png

El programa, de momento será parecido a éste:

Semaforo 19.png

Si lo prueba, verá que el LED verde siempre está encendido, y al acercar la mano al sensor éste se apaga y el rojo se enciende.

Interacción con objetos de Scratch

El objeto Arduino es exactamente igual que cualquier otro objeto de Scratch, con la diferencia de que cuenta con varios bloques más específicos para el control de la placa.

Semaforo 20.png

Para hacer que los otros objetos interactúen con el estado del sensor, podemos utilizar un par de mensajes:

Ahora podemos programar el semáforo virtual así:

Semaforo 21.png

Si prueba el programa, verá que efectivamente hemos logrado sincronizar los LEDs físicos con nuestro semáforo virtual!

Ahora sólo hace falta que el coche también haga caso de estos mensajes y ya tendremos la simulación completa!

El coche

Antes de hacer nada más, quizás podríamos esconder la tabla de sensores, que nos tapa buena parte del escenario:

Semaforo 22.png

Ahora, tenemos que cambiar el tipo de rotación del coche, ya que queremos que al rebotar con los bordes invierta horizontalmente. Seleccione el coche y luego seleccione el tipo de rotación que le mostramos:

Semaforo 23.png

Estas opciones son las mismas que, en Scratch 2.0, podíamos encontrar al pulsar el icono "y" de los personajes.

El programa de este objeto es bastante sencillo. simplemente:

Semaforo 24.png

Conclusión

Si desea comprobar que todo haya funcionado, aqui tiene el programa completo que puede descargar y cargar a S4A:

Control de tráfico

Si todo ha ido bien, al pulsar la bandera verde comprobaréis como el coche se detiene cuando acercamos la mano al sensor. Además, tanto el semáforo físico como el virtual se ponen rojo. Cuando alejamos la mano, los semáforos se ponen verdes y el coche empieza a moverse otra vez.