0

So for my arduino project I need to split this line of servos data

180 0 0 0 90 90 0

Which would be parsed as:

servo position1 servo positin2 servo positin3 ...servo position 6

in to separate servo values, but i am new at arduino and c typе languges so a little bit help will be very good. So my question is how can I split these values up?

askedSep 3, 2018 at 19:33
Nikimiskata's user avatar
1

1 Answer1

1

Scanning string formatted data can be done withsscanf (docs). It takes format strings just likeprintf() does, but instead of printing formatted data, it parses formatted data into the given variables.

For example,

String input = "180 0 0 0 90 90 0";//parse input (6 integers)int servoPositions[6];int numScanned = sscanf (input.c_str(),"%d %d %d %d %d %d",     &servoPositions[0], &servoPositions[1],&servoPositions[2],    &servoPositions[3], &servoPositions[4],&servoPositions[5]);//print positions againSerial.println("Parsed servo positions:");for(int i=0; i < 6; i++) {    Serial.print("position ");    Serial.print(i);    Serial.print(": ");    Serial.println(servoPositions[i]);}

Outputs

Parsed servo positions:position 0: 180position 1: 0position 2: 0position 3: 0position 4: 90position 5: 90
answeredSep 3, 2018 at 19:38
Maximilian Gerhardt's user avatar

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.