#include int STEP = 9; int DIR = 10; boolean turn = false; void receiveEvent(int howMany) { //Read Transfer Data while (Wire.available() > 0) { int A = Wire.read(); Serial.print(A); turn = !turn; } } void setup() { Wire.begin(2); //slave address Wire.onReceive(receiveEvent); //Call the reciveEvent function when data is sent Serial.begin(9600); pinMode(STEP,OUTPUT); pinMode(DIR,OUTPUT); } void loop() { if(turn == true) { motergo(); } delay(20); } void motergo() { digitalWrite(DIR,HIGH); // + Direction for(int x = 0; x < 200; x++) { // 200 pulses one revolution digitalWrite(STEP,HIGH); delayMicroseconds(1200); digitalWrite(STEP,LOW); delayMicroseconds(1200); } }