I'm trying to get this code to work with an arduino mega but having no luck, It works fine with the Uno but I get no connection between Arduino and Max MSP when using the mega board and can't figure out why?
I'm new to arduino but I think I understand the concept of the code, the arduino reads the inputs from Pins 0-6 and uses 'int x' to store the value of the pins, this then gets printed to the serial monitor and Max reads the serial connection and unpacks the data (at the patch end). I don't understand why this isn't working with the mega though, do they not have the same architecture?
The code is posted below:
int x = 0; // a place to hold pin values
int ledpin = 13;
void setup()
{
Serial.begin(115200); // 115200 is the default Arduino Bluetooth speed
digitalWrite(13,HIGH); ///startup blink
delay(600);
digitalWrite(13,LOW);
pinMode(13,INPUT);
}
void loop()
{
if (Serial.available() > 0){ // Check serial buffer for characters
if (Serial.read() == 'r') { // If an 'r' is received then read the pins
for (int pin= 0; pin<=5; pin++){ // Read and send analog pins 0-5
x = analogRead(pin);
sendValue (x);
}
for (int pin= 2; pin<=13; pin++){ // Read and send digital pins 2-13
x = digitalRead(pin);
sendValue (x);
}
Serial.println(); // Send a carriage returnt to mark end of pin data.
delay (5); // add a delay to prevent crashing/overloading of the serial port
}
}
}
void sendValue (int x){ // function to send the pin value followed by a "space".
Serial.print(x);
Serial.write(32);
}
Any help would be appreciated on this, I've even tried writing my own code but like I say I'm new to arduino and keep getting tripped up by error messages.