Hola a todos!
Necesito escribir un firmware para comunicar arduino mega con puredata ya que el standarfirmata que existe no funciona bien(al parecer tiene algunos bugs pues se generan comportamientos muy extraños) con arduino mega. Lo que necesito exactamente es habilitar las entradas analogas, lo cual ya he logrado utilizando el sencillo sketch que pego abajo, pero además necesito poder controlar desde puredata 38 pines digitales como salidas para encender 38 leds. Alguien podria guiarme o dar alguna recomendación en como escribir esa parte del codigo? mis conocimientos son limitados y la verdad no se como hacer para que arduino habilite los 38 pines y este constantemente leyendo desde el puerto serial para encender y apagar leds cuando puredata le indique.
copio el codigo para leer desde las entradas anlogas que encontre en http://www.audiotron.dk/
Cualquier ayuda es bienvenida, saludos!
/*
Arduino to PureData (Arduino2Pd.pde)
v. 0.1, April 30. 2011
Written by Mikkel Bech-Hansen
Based on Arduino2Max sketch Daniel Jolliffe
This program sends values from the analog sensors of an Arduino board,
via serial to PureData.
*/
int x = 0; // temp. variable to store current value.
int numberOfPins = 16; //Set number of pins. Default = 6. For Arduino Mega = 16
void setup() {
Serial.begin(9600); //Set baud rate. Can be increased, but must be set accordingly in PureData patch
}
void loop() {
for (int pin= 0; pin<=numberOfPins-1; pin++){ // Read and send analog pins 0-15
x = analogRead(pin);
sendValue (x);
}
}
void sendValue (int x){ // function to send the pin value followed by a "space".
Serial.write(x);
}