venerdì 21 maggio 2010

Yamaha DD6 e Python














Adesso posso pilotare la mia Yamaha-DD6 con python!
Mi sono basato sul software scritto da questo tizio per controllare dei servo. 

Grazie al suo codice triggare la Yamaha da terminale è stato abbastanza indolore. Ma ora ecco i miei codici:

Questo è lo sketch di arduino, in pratica si limita ad aspettare una connessione seriale, e se esiste, prende un byte, presume che quel byte sia il numero del pin da triggare (non ho acora messo nessun tipo di controllo) e lo trigga:

void setup()
{
  for (int i = 10; i < 14; i++)
  {
    pinMode(i, OUTPUT);
  }
  Serial.begin(9600);
}

void loop()
{
  if (Serial.available() > 0)
  {
    trig(Serial.read());
  }
}

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

Per quanto riguarda python, ho utilizzato pySerial per la comunicazione seriale.
Queste 8 righe fanno partire una connessione seriale e mandano attraverso questa un byte.
Quando si lancia la funzione trig(n), n è il bit trasmesso e deve corrispondere al numero del pin da triggare (in questo caso n = 11):

import serial

seriale = serial.Serial('/dev/ttyUSB0', 9600, timeout = 1)

def trig(pad):
  seriale.write(chr(pad))

trig(11)

Nota: Con lo stesso firmware si può usare anche Pd per pilotare la Yamaha.

Nessun commento:

Posta un commento