Salve ragazzi, avrei bisogno di usare un arduino mega con pure data, e attraverso pduino ci sono in mezza parte riuscito... pduino (0.5beta8) mi da il supporto per i soli primi 13 pin digitali, ma a me servono tutti e 53 pin digitali... credo che il problema sia dello sketch su arduino, poiche sto usando l'esempio "SimpleDigitalFirmata" dalla libreria degli esempi di arduino...
Ho aggiornato sia firmata (2.2) che pduino (0.5beta8)...
Uhm, non so se possa servire, ma arduino mega me lo rileva come una interfaccia network O_O
Se può servire, sto su mac 10.6.7
Riporto il codice dello sketch se può servire
/* Supports as many digital inputs and outputs as possible.
*
* This example code is in the public domain.
*/
#include <Firmata.h>
byte previousPIN[TOTAL_PORTS]; // PIN means PORT for input
byte previousPORT[TOTAL_PORTS];
void outputPort(byte portNumber, byte portValue)
{
// only send the data when it changes, otherwise you get too many messages!
if (previousPIN[portNumber] != portValue) {
Firmata.sendDigitalPort(portNumber, portValue);
previousPIN[portNumber] = portValue;
}
}
void setPinModeCallback(byte pin, int mode) {
if (IS_PIN_DIGITAL(pin)) {
pinMode(PIN_TO_DIGITAL(pin), mode);
}
}
void digitalWriteCallback(byte port, int value)
{
byte i;
byte currentPinValue, previousPinValue;
if (port < TOTAL_PORTS && value != previousPORT[port]) {
for(i=0; i<8; i++) {
currentPinValue = (byte) value & (1 << i);
previousPinValue = previousPORT[port] & (1 << i);
if(currentPinValue != previousPinValue) {
digitalWrite(i + (port*8), currentPinValue);
}
}
previousPORT[port] = value;
}
}
void setup()
{
Firmata.setFirmwareVersion(0, 1);
Firmata.attach(DIGITAL_MESSAGE, digitalWriteCallback);
Firmata.attach(SET_PIN_MODE, setPinModeCallback);
Firmata.begin(57600);
}
void loop()
{
byte i;
for (i=0; i<TOTAL_PORTS; i++) {
outputPort(i, readPort(i));
}
while(Firmata.available()) {
Firmata.processInput();
}
}
Anche solo il dirmi cosa devo cercare e/o cosa devo modificare mi andrebbe più che bene ![]()
Grazie mille ![]()