#include int servo = 0; int d1=0; int angle; int pwm; void setup() { pinMode(servo, OUTPUT); Serial.begin(9600); Wire.begin(9); // change address Wire.onReceive(receiveEvent); } void loop() { if (d1 == 1) { for (angle = 0; angle <= 140; angle += 10) { servoPulse(servo, angle); } for (angle = 140; angle >= 0; angle -= 10) { servoPulse(servo, angle); } } else { } delay(500); } void receiveEvent(int howMany) { while (Wire.available()) { d1 = Wire.read(); } } void servoPulse (int servo, int angle) { pwm = (angle*11) + 500; // Convert angle to microseconds digitalWrite(servo, HIGH); delayMicroseconds(pwm); digitalWrite(servo, LOW); delay(50); // Refresh cycle of servo }