giovedì 20 maggio 2010

Yamaha-DD6 e Arduino




Ho appena finito di collegare la mia "nuova" Yamaha DD-6 ad Arduino.
Non è la prima volta che mi cimento a interfacciare una batteria elettronica ad Arduino (Dragga Machine) ma devo dire che questa volta sono stato davvero più pulito.
Ho usato pochissimi pezzi, e inoltre credo che questo metodo si possa tranquillamente implementare su altre batterie elettroniche provviste di pad piezoelettrici.

Ho collegato un pin digitale di Arduino per ogni contatto positivo dei piezo, ma tra questi ho messo una resistenza per proteggere la circuiteria interna della batteria, e un diodo per proteggere Arduino da eventuali "risalite" di corrente.
In pratica ho ripetuto quattro vole questo schema:




Ovviamente mettendo in comunicazione le masse della batteria elettronica e di arduino.
Alla fine ho ottenuto questo:



E l'ho avvitato sopra la PCB originale:




Ecco un particolare del collegamento al piezo:



Per ognuno dei quattro contatti ho usato un mini-jack per poter collegare facilmente qualunque cosa voglia usare per "triggare".


Finora ho provato solo con Arduino, ma dovrebbe bastare un qualunque impulso da 5V.



Infine ecco un semplicissimo sketch che ho usato come test, come vedete, per triggare basta "alzare" il pin per poi "abbassarlo" subito dopo, 5 millisecondi vanno benissimo.

int pad0 = 10;
int pad1 = 11;
int pad2 = 12;
int pad3 = 13;

int del = 500;

void setup()
{
  for (int i = pad0; i < 4; i++)
  {
    pinMode(i, OUTPUT);
  }
}

void loop()
{
  trig(pad0);
  delay(del);
  trig(pad1);
  delay(del);
  trig(pad2);
  delay(del);
  trig(pad3);
  delay(del);
}

void trig(int pad)
{
  digitalWrite(pad, HIGH);
  delay(5);
  digitalWrite(pad, LOW);
}

Prossimamente scriverò uno sketch per poter pilotare la batteria qualunque cosa possa mandare messaggi in seriale, come ad esempio Pd, python eccetera.
Anche provare a usarla con ttymidi dev'essere interessante... 

Aggiornamento 21-05-2010:
Sono riuscito a triggare i pad attraverso python e una connessione seriale, i dettagli sono qui.
E con lo stesso sketch usato per python si può usare anche Pd per pilotarla.

Nessun commento:

Posta un commento