Seqüenciador

Reprodueix ritmes i canvia’n la seqüència en temps real, és a dir: allò bàsic per convertir-te en un artista del Hip Hop. Et caldrien també habilitats de raper, però això pertany a un altre tipus de curs.

Materials

  • 1 placa Arduino
  • 1 Shield Bàsica Educativa
  • 4 resistències de 680 ohm
  • 1 resistència de 220 ohm
  • 1 resistència de 470 ohm
  • 1 resistència de 1.2K ohm
  • 1 altaveu de 8 ohm
  • 1 targeta micro SD
  • 4 cables solts negres
  • 4 cables solts de colors
  • 1 cable connector negre
  • 7 cables de colors
  • 1 kit Seqüenciador

 

Instruccions

  1. Connecta la Shield per la part superior de l’Arduino.
  2. Introdueix l’extrem d’un cable negre pelat a través dels forats d’un dels costats de cada cor. Utilitzant un cable de color prèviament pelat, fes el mateix per l’altre forat de cada cor.
  3. Munta la taula del Seqüenciador.
  4. Col·loca una resistència a cada peça en forma de cor (220Ω, 470Ω, 680Ω, 1.2KΩ) i usa la peça superior per subjectar-la al seu lloc.
  5. Connecta tres resistències de 680 ohm a través del pont de la breadboard.
  6. Connecta un dels extrems de les resistències a 5V.
  7. Connecta l’altre extrem de la resistència als Pins analògics A1 i A3. El Pin analògic A4 té una resistència integrada a la Shield; per això no necessitem connectar una resistència aquí.
  8. Connecta tres cables de colors de la taula del seqüenciador a la breadboard a A1, A2 i A3, i el quart directament a A4.
  9. Connecta els cables negres de la taula del seqüenciador a GND.
  10. Mou els arxius de so anomenats seq0.wav, seq1.wav, seq2.wav, seq3.wav, seq4.wav al directori arrel de la targeta SD.
  11. Connecta l’altaveu al connector d’àudio.
  12. Col·loca la targeta SD al lector SD de la Shield.
  13. Connecta la placa Arduino a l’ordinador i puja l’exemple Sequencer.

Codi

Pots trobar el codi a Arxiu -> Exemples -> Educació Bàsica -> Màgia -> Sequencer

Com funciona

Cada forat amb forma de cor està connectat a un Pin analògic i a terra (GND). Cada cor té una resistència de diferent valor que, en ser situada als forats, connecta els cables als forats. Com que cada cor té una resistència diferent, té també una única lectura. Això significa que podem distingir quin cor està connectat a cada forat. 

Al programa, usem analogRead() per llegir el valor analògic d’un Pin. Comprovem quin cor està connectat a getSeq(), és a dir, quina resistència està sent utilitzada. Si és la resistència de 220 ohm, la funció retornarà un ’1′, de tal manera que sequence serà igual a ’1′. Usem aquest valor per decidir quin arxiu reproduir: en aquest cas, “seq1.wav”. Si cap cor està connectat al forat, es reprodueix l’arxiu silenciós “seq0.wav”. 

El procés es repeteix 4 vegades, una per cada Pin analògic que estem utilitzant. Un cop finalitzat, es repeteix de nou.

No funciona?

  1. Revisa les il·lustracions i comprova totes les teves connexions. Assegura’t que els cables estan fortament connectats.
  2. Tens problemes reproduint els arxius de so? Mira la referència per corregir el reproductor de sons.
  3. Assegura’t que estàs utilitzant les resistències correctes. Mira la referència de resistències per saber com fer-ho.

Continua experimentant!

  • Grava 5 sons wav propis i anomena’ls “seq0.wav”, “seq1.wav”, “seq2.wav”, “seq3.wav” i “seq4.wav”.  Per obtenir un millor resultat, tots han de tenir la mateixa durada i “seq0.wav” ha de ser silenciós. Pots utilitzar Audacity (http://audacity.sourceforge.net/) per gravar sons compatibles amb l’Arduino. Mira la referència per preparar sons Wav per saber-ne més detalls.