Secuenciador

Reproduce ritmos y cambia la secuencia en tiempo real. Es lo básico para convertirte en un artista del hiphop. Eso, y habilidades de rapero, pero eso es otro tipo de curso.

Materiales

  • 1 placa Arduino
  • 1 shield Educativa
  • 4 resistencias de 680 ohm
  • 1 resistencia de 220 ohm
  • 1 resistencia de 470 ohm
  • 1 resistencia de 1.2K ohm
  • 1 altavoz de 8 ohm
  • 1 tarjeta micro SD
  • 4 cables sueltos negros
  • 4 cables sueltos de colores
  • 1 cable conector negro
  • 7 cables de colores
  • 1 kit Secuenciador

 

Instrucciones

  1. Conecta la shield por la parte superior de Arduino.
  2. Pon el extremo de un cable negro pelado a través de los agujeros de uno de los lados de cada corazón. Utilizando un cable de color previamente pelado, haz lo mismo por el otro agujero de cada uno de los corazones.
  3. Monta la mesa del Secuenciador.
  4. Coloca una resistencia en cada pieza con forma de corazón (220Ω, 470Ω, 680Ω, 1.2KΩ) y usa la pieza superior para sujetarla en su sitio.
  5. Conecta tres resistencias de 680 ohm a través del puente de la breadboard.
  6. Conecta uno de los extremos de las resistencias a 5V.
  7. Conecta el otro extremo de la resistencia a los pines analógicos A1 y A3. (El pin analógico A4 tiene una resistencia integrada en la shield, esto es el motivo por el que no necesitamos conectar una resistencia aquí).
  8. Conecta tres cables de colores de la mesa del secuenciador a la breadboard en A1, A2 y A3 y el cuarto directamente a A4.
  9. Conecta los cables negros de la mesa del secuenciador a GND.
  10. Mueve los archivos de sonido nombrados seq0.wav, seq1.wav, seq2.wav, seq3.wav, seq4.wav al directorio raíz de la tarjeta SD.
  11. Conecta el altavoz al conector de audio.
  12. Coloca la tarjeta SD en el lector SD del shield.
  13. Conecta la placa Arduino al ordenador y carga el ejemplo Sequencer.

Código

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

Cómo funciona

Cada hueco con forma de corazón está conectado a un pin analógico y a tierra (GND). Cada corazón tiene una resistencia de diferente valor que, al ser situada en los huecos, conecta los cables en los huecos. Puesto que cada corazón posee una resistencia diferente, tiene también una única lectura. Esto significa que podemos distinguir qué corazón está conectado a qué hueco.

En el programa usamos analogRead() para leer el valor analógico de un pin. Comprobamos qué corazón está conectado en getSeq(), esto es, qué resistencia está utilizada. Si es la resistencia de 220 ohm, la función devolverá un ’1′ de forma que sequence será igual a ’1′. Utilizamos este valor para decidir que archivo reproducir. En este caso es “seq1.wav”. Si ningún corazón está conectao al hueco, el archivo “seq0.wav” se reproduce, este es un archivo silencioso.

El proceso se repite 4 veces, una por cada pin analógico que estamos usando. Una vez finalizado, se repite de nuevo.

¿No funciona?

  1. Revisa la ilustraciones y comprueba todas tus conexiones. Asegúrate de que los cables están firmemente conectados.
  2. ¿Tienes problemas reproduciendo los archivos de sonido? Mira la referencia para corregir el reproductor de sonidos.
  3. Asegúrate de que estás utilizando las resistencias correctas. Mira la referencia de resistencias para saber como hacerlo.

¡Sigue experimentando!

  • Graba tus propios 5 sonidos wav y llamalos”seq0.wav”, “seq1.wav”, “seq2.wav”, “seq3.wav” y “seq4.wav”. Todos deben de tener la misma duración para un mejor resultado y “seq0.wav” debe ser silencioso. Puedes utilizar Audacity (http://audacity.sourceforge.net/) para grabar sonidos compatibles con Arduino. Mira la referencia para preparar sonidos Wav para más detalles.