int speed1 = 11; int g1a = 10; int g1b = 9; int flag = 0; unsigned long time =0; int val=0; int pot=0; void stop() { digitalWrite(g1a, LOW); digitalWrite(g1b, LOW); analogWrite(speed1, 0); } void izquierda(int iz) { digitalWrite(g1a, HIGH); digitalWrite(g1b, LOW); analogWrite(speed1, iz); } void derecha(int der) { digitalWrite(g1a, LOW); digitalWrite(g1b, HIGH); analogWrite(speed1, der); } void setup() { Serial.begin(57600); delay(100); pinMode(g1a, OUTPUT); pinMode(g1b, OUTPUT); pinMode(14, INPUT); stop(); //digitalWrite(14,HIGH); } void loop() { if ((!digitalRead(14))&&(!flag)) { Serial.print(0x01,BYTE); flag=1; } else if ((digitalRead(14))&&(flag)) { Serial.print(0x00,BYTE); flag=0; } if (Serial.available()) { val = Serial.read(); } if ((val&0x01)==0x01) { pot=val>>1; //Serial.println(pot); if (pot<64) { izquierda(map(pot, 63, 0, 0, 255)); } else if (pot>=64) { derecha(map(pot, 64, 127, 0, 255)); } //val=0x00; } else if ((val&0x01)==0x00) { izquierda(0); derecha(0); } /*if ((!digitalRead(14))&&(!flag)) { flag=1; derecha(200); Serial.print(0x01,BYTE); time=millis(); } else { if (((millis()-time)>=5000)&&(flag) ) { flag=0; derecha(0); Serial.print(0x00,BYTE); } }*/ // Serial.println(analogRead(0)); }