#include #include #define SLAVE_ADDRESS 0x08 const int pasos= 6; int x=1;int y;int z; int i=0; //char buf; int buf; Stepper myStepper2(pasos,4,5,6,7); Stepper myStepper(pasos,8,9,10,11); void reposo(){ digitalWrite(4, 0); digitalWrite(5, 0); digitalWrite(6, 0); digitalWrite(7, 0); digitalWrite(8, 0); digitalWrite(9, 0); digitalWrite(10, 0); digitalWrite(11, 0); } void bajar(){ if(z==1){ z=0; myStepper2.step(-pasos); } } void setup() { myStepper.setSpeed(300); myStepper2.setSpeed(300); pinMode(4, OUTPUT); pinMode(5, OUTPUT); pinMode(6, OUTPUT); pinMode(7, OUTPUT); pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(10, OUTPUT); pinMode(11, OUTPUT); Wire.begin(SLAVE_ADDRESS); Wire.onReceive(receiveData); //Serial.begin(9600); //Serial.println("Inicio"); } void loop() { if(buf==1){ bajar(); if(x==0 && z==0){ x=1;y=0; myStepper.step(pasos); } } else if(buf==2){ bajar(); if(y==0 && z==0){ y=1;x=0; myStepper.step(-pasos); } } else if(buf==3){ bajar(); { if(x==0 && z==0){ x=1;y=0; myStepper.step(pasos); delay(250); } if(y==0 && z==0){ y=1;x=0; myStepper.step(-pasos); delay(250); } } } else{ if(z==0){ z=1; myStepper2.step(pasos); } } reposo(); delay(100); } void receiveData(int byteCount){ while(Wire.available()) buf=Wire.read(); } // i=i+1; // if(i==1) // buf='1'; // else if(i==5) // buf='2'; // else if(i==10) // buf='0'; // else if(i==15) // buf='3'; // else if(i==25) // i=0;