/ Arduino / meccaNeckTest.ino
meccaNeckTest.ino
 1  #include <MeccaBrain.h>
 2  
 3  MeccaBrain head(2);
 4  MeccaBrain leftArm(3);
 5  MeccaBrain leftArmMid(4);
 6  MeccaBrain rightArm(5);
 7  
 8  
 9  void setup() {
10    // put your setup code here, to run once:
11    Serial.begin(9600);
12    Serial1.begin(9600);
13  }
14  
15  void loop() {
16    //put your main code here to run repeatedly
17    //only loop 20 times per second
18    delay(50);
19  
20    if (Serial.available() > 0) {
21      String data = Serial.readStringUntil('\n');
22      parseHeadData(data);
23      parseLeftArmData(data);
24    }
25  }
26  
27  void parseHeadData(String data){
28    int iStartH = data.indexOf("H");
29    int iEndH = data.indexOf("/", iStartH);
30    String sH0 = data.substring(iStartH+1, iEndH);
31    int h0 = sH0.toInt();
32    int h0Angle = (int)(h0/180.0*255.0);
33  
34    head.setServoPosition(1, h0Angle);
35    head.communicate();
36  }
37  
38  void parseLeftArmData(String data){
39    int iStartL = data.indexOf("L");
40    int iEndL = data.indexOf("/", iStartL);
41    String sL0 = data.substring(iStartL+1, iEndL);
42    int l0 = sL0.toInt();
43    int l0Angle = (int)((1.0-(l0/180.0))*255.0);
44  
45    leftArmMid.setServoPosition(0, l0Angle);
46    leftArmMid.communicate();
47  }
48