Tocadiscos binario

Esto funciona parecido a un tocadiscos. La diferencia está en que, en lugar de utilizar una aguja en un disco de vinilo, utilizamos tres sensores IR en línea para leer el patrón de un disco de papel. Si eres de los que te gusta tanto lo musical como lo digital, te lo pasarás genial creando diferentes melodías para este proyecto.

Materiales

  • 1 placa Arduino UNO
  • 1 shield Educativa
  • 1 Piezo
  • 1 IRArray
  • 2 cables negros
  • 5 cables de colores
  • Kit Binary LP
  • disco de papel Binary LP

Instrucciones

  1. Conecta la shield a la placa Arduino.
  2. Conecta el altavoz piezoeléctrico a la breadboard y conecta una pata al pin digital 8 y el otro a GND.
  3. Conecta 5 cables a la placa, dejando suelto su otro extremo, uno negro a GND, uno rojo a 5V y 3 de diferentes colores a A1, A2 y A3. Después serán conectados al IRArray, así que recuerda qué color está conectado a qué pin.
  4. Monta la caja y la tapa. (Pero no pongas la tapa todavía).
  5. Introduce la placa Arduino en la caja, conéctala al ordenador, y carga el ejemplo BinaryLP.
  6. Pasa el extremo suelto de los cables a través del agujero de la tapa del tocadiscos.
  7. Pon la tapa en la caja, y los engranajes en la tapa.
  8. Coloca el IRArray en el soporte. 
  9. Conecta los cables sueltos al IRArray. 5V a 5V, GND a GND, A1 a IR1, A2 a IR2 y A3 a IR3.
  10. Utiliza el sketch de processing en la carpeta de ejemplos para crear tu propio disco. Imprime el PDF creado y asegúrate de imprimir a tamaño real (no ‘ajustar a página’).
  11. Pega el disco con celo a la plataforma giratoria, asegurándote de que las marcas están alineadas correctamente de forma que queden centradas.

Código

Puedes encontrar el código en Archivo -> Ejemplos -> EducationShield>Block3-Magic>Projects>BinaryLP

Cómo funciona

Los tres sensores IR en el IRArray pueden detectar el blanco y negro del disco de papel. Esto significa que puede detectar 8 combinaciones diferentes de blanco y negro. ¿Recuerdas cómo contar en binario? Ahora te será útil. En el programa utilizamos el comando readBinary() para leer del disco y recibir un valor de 1 a 7. Si el patrón es blanco, blanco, negro, recibimos un ’1′. Si el patrón es blanco, negro, blanco, recibiríamos un ’2′, etc. Entonces utilizamos ese valor leído para tocar una nota. Tú decides que nota reproducir para cada número en la función playNote(). Por ejemplo, si recibimos un ’1′ y tocamos NOTE_C4 y si recibimos un ’2′ reproducimos NOTE_D4. En este ejemplo estamos usando los tonos de la escala Do mayor. Mira la tabla “pitches.h” para ver que otros tonos puedes utilizar. Si leemos un ’0′ no tocamos ninguna nota específica, en lugar de ello dejamos el espacio en blanco decidir cuánto tiempo debe ser reproducida la nota anterior. Cuanto más largo sea el espacio, más durará la nota. Si la última nota coincide con la actual, apagamos el altavoz por 20 milisegundos, de forma que se puedan distinguir las dos notas diferentes.

¿No funciona?

  1. Revisa las ilustraciones y comprueba tus conexiones. Asegúrate de que los cables están firmemente conectados.
  2. Corrige el IRArray, mira la referencia del IRArray.

¡Sigue experimentando!

  • Compón dos melodías diferentes.
  • Piensa una nueva forma de utilizar las lecturas binarias.