Bit·Band. Música amb Arduino

Bit·Band. Música amb Arduino

La creació de so amb Arduino ens permet entendre els fonaments físics del so i artístics de la música … amb 1 altaveu de 8 Ω7 sensors tàctils1 joystick, connectats a una placa Arduino UNO.
Al projecte, que hem treballat a 1r de Batxillerat, l’hem anomenat BitBand, i està format per un BitPad (keypad), un TeclaBit (teclat), una FlauBit (flauta), un BitDió (acordió) i una BitTarra (guitarra). La disposició dels components en cada cas depèn de la forma i l’ergonomia de l’instrument dissenyat, que hem fet amb materials quotidians i reciclats:

El projecte consisteix a generar el so corresponent a les 7 notes musicals i als 5 semitons en funció de la detecció de 7 sensors tàctils i de la posició d’un dels potenciòmetres d’un joystick.
Abans però, hem hagut d’informar-nos sobre el so i la música, i fer pràctiques inicials de computació física amb els components a utilitzar.

Aquest és l’esquema de connexions, en què s’ha afegit un potenciòmetre per regular el volum de l’altaveu més potent utilitzat finalment, i un interruptor ON/OFF:

El programa utilitza:

• 12 variables de valor constant: 7 per les freqüències de les notes musicals i 5 per les dels semitons en l’octava 4.

• Una variable, que hem anomenat octava, el valor de la qual depén de la posició d’un dels potenciòmetres del joystick. El seu valor pot ser 0.5, 1 o 2 i es defineix mitjançant una funció: assigna_octava.

• Dues funcions: assigna_nota i assigna_semito, que utilitzen la funció tone per definir la freqüència de vibració de l’altaveu en funció del sensor (digital) que estigui activat.
Aquesta freqüència és la corresponent a la nota (to) o semitò associat al sensor, multiplicat pel valor de la variable octava. D’aquesta manera podem treballar amb l’octava 4 (valors de referència), la 3 (valors d’octava 4 / 2), i la 5 (valors d’octava 4 * 2).
L’execució d’una o altra d’aquestes funcions depèn de la posició de l’altre potenciòmetre del joystick, com es veu a l’esquema del programa en Bitbloq:

BitBand_Bitbloq

El programa s’ha desenvolupat en Bitbloq, i està compartit a l’espai Explora.
El codi Arduino corresponent està compartit a Github.
El material d’aprenentatge utilitzat està allotjat al nostre lloc web void learn (arduino);
L’àlbum de fotos està allotjat a flickr. Es pot accedir clicant sobre la foto de l’equip:

Aquest projecte l’hem presentat a la Fira de Projectes del programa Impulsem la Robòtica. Tecnologies Creatives a l’Aula. La crònica de l’activitat està penjada al web de l’Institut Bellvitge.