Como el siguelíneas tiene dos sensores de infrarrojos, vamos a utilizar uno de ellos para establecer los tiempos, y así indicarle al otro cuando tiene que leer y cuando no. Los datos captados por el sensor que lee solo pueden ser 1 o 0; tendremos que combinar secuencias de 1 y 0 para poder distinguir 7 datos y, por tanto, las 7 notas. Tendrás que trabajar, por tanto, con señales digitales.
Para poder trabajar con los sensores del siguelíneas de forma separada tenemos la instrucción:
Según elijamos Banco 1/2 será un sensor u otro, antes de nada identificar cual es cual. Esta instrucción devuelve un cero (cuando el sensor ve blanco) o un uno (cuando el sensor ve negro).
Si se introduce la intrusión anterior en una espera como se muestra a continuación:
¿Qué haría esta intrusión? Detener la ejecución del programa hasta que "sensor de límite....." vale uno, esto es cuando ve negro ese sensor; en ese momento continúa la secuencia de ejecución del programa.
Análogamente, tenemos esta instrucción que hace que continúe el programa cuando "sensor de límite...." vale cero (pues como está negado, el conjunto pasaría a valer 1), esto es, cuando ve blanco.
Con estas instrucciones podemos establecer los tiempos en los que el otro sensor tiene que leer el código. Para reproducir 7 notas necesitamos combinar 3 ceros y uno, así tendremos:
Nota |
Código |
Colores |
Do |
000 |
blanco-blanco-blanco |
Re |
001 |
blanco-blanco-negro |
Mi |
... |
... |
Sigue tu montando la tabla.
En la imagen mostramos como sería el código de barras para una nota. Como ves, en la columna de la derecha tenemos la temporalización, cada vez que el sensor del banco 1 haga la secuencia negro-blanco deberá el banco 2 hacer la lectura (cuadro verde). En esa imagen la lectura es 001, por lo que se corresponde con la nota Re. Los cuadros son más anchos que un código de barras normal por el ancho del propio sensor, si son muy finos detecta siempre blanco, pues siempre hay algo de reflejo.
Plantéate el reto por etapas, primero intenta hacer la lectura del código de barras, guardando los datos en una lista. Puedes ir viendo si lo hace bien pues la lista es visible por pantalla.
Cuando tengas la lectura del código de barras resuelta, transforma los datos de la lista en notas musicales. Vas a tener que utilizar la siguientes instrucción:
Para que repita la comparación tantas veces como elementos tiene la lista.