//funciona !! int dc11=0; //13 int dc12=1; //12 float speedx=0.5; int tiemp=10; int dc21=3; //10 int dc22=9; //3 int pc1=6; //7 int pc2=4; //9 int pc3=5; //8 int pincont1=0; // 00 AtrĂ¡s int pincont2=0; // 01 derecha // 10 izquierda // 11 avanza int pincont3=0; // si 1 frena void setup() { // put your setup code here, to run once: pinMode(dc11,OUTPUT); pinMode(dc12,OUTPUT); pinMode(dc21,OUTPUT); pinMode(dc22,OUTPUT); pinMode(pc1,INPUT); pinMode(pc2,INPUT); pinMode(pc3,INPUT); digitalWrite(dc12,LOW); digitalWrite(dc22,LOW); digitalWrite(pc1,LOW); digitalWrite(pc2,LOW); digitalWrite(pc3,LOW); } void loop(){ pincont3=digitalRead(pc3); if(pincont3==1) { digitalWrite(dc11,LOW); digitalWrite(dc12,LOW); digitalWrite(dc21,LOW); digitalWrite(dc22,LOW); } else { pincont1=digitalRead(pc1); pincont2=digitalRead(pc2); if(pincont1==0 && pincont2==0) {digitalWrite(dc11,LOW); digitalWrite(dc21,LOW); digitalWrite(dc12,HIGH); digitalWrite(dc22,HIGH); delay(round(tiemp*speedx)); } if(pincont1==1 && pincont2==0) {digitalWrite(dc11,HIGH); digitalWrite(dc12,LOW); digitalWrite(dc21,LOW); digitalWrite(dc22,HIGH); delay(round(tiemp*speedx)); } if(pincont1==0 && pincont2==1) {digitalWrite(dc11,LOW); digitalWrite(dc12,HIGH); digitalWrite(dc21,HIGH); digitalWrite(dc22,LOW); delay(round(tiemp*speedx)); } if(pincont1==1 && pincont2==1) {digitalWrite(dc11,HIGH); digitalWrite(dc21,HIGH); digitalWrite(dc12,LOW); digitalWrite(dc22,LOW); delay(round(tiemp*speedx)); } digitalWrite(dc11,LOW); digitalWrite(dc12,LOW); digitalWrite(dc21,LOW); digitalWrite(dc22,LOW); delay(round(tiemp*(1-speedx))); } }