Tocadiscos binari

Això funciona de manera semblant a un tocadiscos. La diferència rau en que, enlloc d’usar una agulla en un disc de vinil, fem servir tres sensors IR en línia per llegir el patró d’un disc de paper. Si ets d’aquells a qui els agrada tant la música com la tecnologia digital, t’ho passaràs genial tot creant diferents melodies per aquest projecte.

Materials

  • 1 placa Arduino U
  • 1 Shield Bàsica Educativa
  • 1 Piezo
  • 1 IRArray
  • 2 cables negres
  • 5 cables de colors
  • Kit Binary LP
  • disc de paper Binary LP

Instruccions

  1. Connecta la Shield a la placa Arduino.
  2. Connecta l’altaveu piezoelèctric a la breadboard i connecta una pota al Pin digital 8 i l’altra a GND.
  3. Connecta 5 cables a la placa, deixant solt el seu altre extrem. Connecta el cable negre a GND; el vermell, a 5V; i 3 de diferents colors a A1, A2 i A3. Després, els hauràs de connectar a l’IRArray, així que recorda quin color està connectat a cada Pin.
  4. Munta la caixa i la tapa, però no la hi posis encara.
  5. Introdueix la placa Arduino a la caixa, connecta-la a l’ordinador i puja l’exemple BinaryLP.
  6. Passa l’extrem solt dels cables a través del forat de la tapa del tocadiscos.
  7. Posa la tapa a la caixa, i els engranatges a la tapa.
  8. Col·loca l’IRArray al suport.  
  9. Connecta els cables solts a l’IRArray. 5V a 5V, GND a GND, A1 a IR1, A2 a IR2 i A3 a IR3.
  10. Utilitza l’sketch de Processing a la carpeta d’exemples per crear el teu propi disc. Imprimeix el PDF creat i assegura’t de fer-ho a mida real (no ‘ajustar a pàgina’).
  11. Enganxa el disc amb cinta adhesiva a la plataforma giratòria. Assegura’t que les marques estan alineades correctament de manera que quedin centrades. 

Codi

Pots trobar el codi a Arxiu -> Exemples -> ShieldBasicaEducativa-> Màgia -> BinaryLP

Com funciona

Els tres sensors IR a l’IRArray detecten el blanc i negre del disc de paper. Poden detectar 8 combinacions diferents d’aquests colors. Recordes com comptar en binari? Ara et serà útil. En el programa, fem servir l’ordre readBinary() per llegir el disc i rebre un valor de l’1 al 7. Si el patró és blanc, blanc, negre, rebem un ’1′; si el patró és blanc, negre, blanc, rebem un ’2′, etc. Llavors utilitzem aquest valor per tocar una nota. Tu decideixes quina nota reproduir per cada número a la funció playNote(). Per exemple, si rebem un ’1′ toquem NOTE_C4 i si rebem un ’2′ reproduïm NOTE_D4. En aquest cas, estem utilitzant els tons de l’escala Do major. Mira la taula “pitches.h” per veure quins altres tons pots fer servir. Si llegim un ’0′ no sona cap nota específica; enlloc d’això, deixem que l’espai en blanc decideixi quant temps ha de ser reproduïda la nota anterior. Com més llarg sigui l’espai, més durarà la nota. Si l’última nota coincideix amb l’actual, apaguem l’altaveu durant 20 milisegon, de manera que es puguin distingir totes dues notes.

No funciona?

  1. Revisa les il·lustracions i comprova les teves connexions. Assegura’t que els cables estan fortament connectats.
  2. Corregeix l’IRArray. Mira la referència de l’IRArray.

Continua experimentant!

  • Composa dues melodies diferents.
  • Pensa una nova manera d’usar les lectures binàries.