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