+ All Categories
Home > Devices & Hardware > Fare Musica con Arduino

Fare Musica con Arduino

Date post: 01-Dec-2014
Category:
Upload: stefano-panichi
View: 380 times
Download: 3 times
Share this document with a friend
Description:
In questo workshop esploriamo le potenzialità musicali della scheda Arduino e di alcuni suoi shield, come il Wave Shield ed il Music Shield. Potete trovare il video qui: http://youtu.be/p1weY_R2r64
12
Stefano Panichi e Giulio Fieramosca Arduino e Musica Giulio Fieramosca Stefano Panichi
Transcript
Page 1: Fare Musica con Arduino

Stefano Panichi e Giulio Fieramosca

Arduino e MusicaGiulio Fieramosca

Stefano Panichi

Page 2: Fare Musica con Arduino

Stefano Panichi e Giulio Fieramosca

Tone

Page 3: Fare Musica con Arduino

Stefano Panichi e Giulio Fieramosca

Tone

● Il sistema più semplice per generare suoni con Arduino;

● Consiste nella generazione di un'onda quadra a frequenza variabile;

#define BUZZER_PIN 3#define PITCH_PIN A0unsigned int value = 0;unsigned int value_play = 0;

void setup() {}

void loop() { value = map(analogRead(PITCH_PIN),

0, 1024, 330, 880); if (value > value_play) { value_play++; } else if (value < value_play) { value_play--; } tone(BUZZER_PIN, value_play, 20);}

Page 4: Fare Musica con Arduino

Stefano Panichi e Giulio Fieramosca

Sinusoidino

● Shield che permette di generare onde più complesse mediante l'uso di un DAC a rete resistiva esterna;

● Poco flessibile, impegna le risorse della CPU (timer) e 8 uscite;

Page 5: Fare Musica con Arduino

Stefano Panichi e Giulio Fieramosca

Sinusoidino – Schema

Scala di resistenze

Filtro

Filtro Offset

Isolamento (Buffers)

Page 6: Fare Musica con Arduino

Stefano Panichi e Giulio Fieramosca

Theremino!

● Usiamo sinusoidino per realizzare un semplice Theremin: un sensore di distanza varia la frequenza;

Page 7: Fare Musica con Arduino

Stefano Panichi e Giulio Fieramosca

Sinusoidino

void setup() {

cli();

TCCR1A = 0;

OCR1A = 159;

TCCR1B |= (1 << WGM12);

TCCR1B |= (1 << CS10);

TIMSK1 |= (1 << OCIE1A);

sei();

}

ISR(TIMER1_COMPA_vect) {

if (offset >= CAMPIONI) {

offset = 0;

}

offset +=incrementoPlay;

PORTD =pgm_read_byte_near(sine20000 + offset);

}

const byte sine20000[] PROGMEM = {127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 127, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128...........

Page 8: Fare Musica con Arduino

Stefano Panichi e Giulio Fieramosca

Wave Shield

● Shield che esegue tracce musicali dalla scheda SD;

● L'uscita è soltanto mono, è limitato al formato audio wav e non é possibile riprodurne più di uno contemporaneamente;

Page 9: Fare Musica con Arduino

Stefano Panichi e Giulio Fieramosca

Audio Board VS1053

● Scheda che consente di– riprodurre dati ogg,

mp3, aac, wma, flac;

– registrare audio ogg;

– riprodurre informazione MIDI;

– Leggere i files da una sd card;

Page 10: Fare Musica con Arduino

Stefano Panichi e Giulio Fieramosca

Evoluzione di Theremino● Con due fotoresistenze controlliamo volume

e frequenza in uscita.void loop() { toneValue = map(analogRead(PITCH_PIN), 0, 1023, 0, 127); volValue = map(analogRead(VOL_PIN), 0, 1023, 30, 127);

if (toneValue > tonePlay) toneOld = tonePlay++; else if (toneValue < tonePlay) toneOld = tonePlay--;

if (volValue > volPlay) volOld = volPlay++; else if (volValue < volPlay) volOld = volPlay--;

midiNoteOff(0, toneOld, volOld); midiNoteOn(0, tonePlay, volPlay);

delay(10);}

Page 11: Fare Musica con Arduino

Stefano Panichi e Giulio Fieramosca

Stefano Panichi

Giulio Fieramosca

it.linkedin.com/in/stefanopanichi/

@StefanoPanichi

[email protected]

google.com/+StefanoPanichi

it.linkedin.com/in/giuliofieramosca

facebook.com/giulio.fieramosca

[email protected]

google.com/+GiulioFieramosca

Grazie per l'attenzione

Page 12: Fare Musica con Arduino

Stefano Panichi e Giulio Fieramosca

Presentazione realizzata con software open source(LibreOffice Impress, Gimp, Arduino)

Quest'opera è distribuita con Licenza CC-BY-SAe realizzata da Stefano Panichi e Giulio Fieramosca


Recommended