#include int RelayPin1 = 10; int RelayPin2 = 9; Servo s1; int angle =120; int anglestep =1; void setup() { Serial.begin(9600); pinMode(RelayPin1, OUTPUT); pinMode(RelayPin2, OUTPUT); s1.attach(5); s1.write(angle); Serial.println("GB GoPro 360Mount"); } void loop() { while (Serial.available()) { char inChar = (char)Serial.read(); switch(inChar) { case 'X': digitalWrite(RelayPin1, LOW); digitalWrite(RelayPin2, LOW); break; case 'L': digitalWrite(RelayPin1, HIGH); digitalWrite(RelayPin2, LOW); delay(50); break; case 'R': digitalWrite(RelayPin1, LOW); digitalWrite(RelayPin2, HIGH); delay(50); break; case 'U': if (angle > 30 && angle <= 150) { angle = angle - anglestep; if(angle <30) { angle = 30; }else{ s1.write(angle); delay(50); } } break; case'D': if (angle >= 30 && angle <= 150) { angle = angle + anglestep; if (angle >150){ angle = 150; }else{ s1.write(angle); delay(50); } } } } }