Data from processing not being read correctly in arduino [SOLVED]
in
Integration and Hardware
•
5 months ago
Please help...been stumped all day...
I am sending data to arduino from processing in the form of "+a123"
where + just tells the arduino that data is behind it the a is a command and 123 is any integer value.
I have a GUI in processing with multiple sliders and each slider has a letter assigned (hence the "a") and the value of the slider is the integer behind the letter.
I am sending it out using lines like this using 9600 baud:
myPort.write("+a"+value);
on the arduino end I receive it using:
if (Serial.available() > 0){
inByte = Serial.read();
// only input if a letter, number, =,?,+ are typed!
if ((inByte >= 65 && inByte <= 90) || (inByte >=97 && inByte <=122) || (inByte >= 48 && inByte <=57) || inByte == 43 || inByte == 61 || inByte == 63) {
command.concat(inByte);
}
}// end serial.available
if (inByte == 10 || inByte == 13){
inByte = 0;
if(command.indexOf('+') == 0){
inByte = Serial.read();
// only input if a letter, number, =,?,+ are typed!
if ((inByte >= 65 && inByte <= 90) || (inByte >=97 && inByte <=122) || (inByte >= 48 && inByte <=57) || inByte == 43 || inByte == 61 || inByte == 63) {
command.concat(inByte);
}
}// end serial.available
if (inByte == 10 || inByte == 13){
inByte = 0;
if(command.indexOf('+') == 0){
code = command.substring(1,2);
temp2 = command.substring(2);
code.toCharArray(carray,2);
temp2.toCharArray(carray,4);
value = atoi(carray);
temp2 = command.substring(2);
code.toCharArray(carray,2);
temp2.toCharArray(carray,4);
value = atoi(carray);
if (code=="c"){ DO SOMETHING with value temp1}
The code is to control RGB LEDs with a processing GUI console.
I'll gladly post the whole code but I thought it would just make it harder to solve this.
Basically if I open up the serial monitor in arduino and type in commands such as +a123 followed by [ENTER]
My leds ramp up the red value to 123.
It works perfectly.
When I println the variables in processing.. the display shows good numbers...
When I connect the arduino to processing.... the sliders don't work with the leds
I am thinking the issue is in how I am sending data to arduino since its mixed letters and integer values but im not sure. Since I cant open up the serial monitors while the arduino is connected to the com port, I am stuck and completely blind....
Any ideas?????
1