ideally 0.83cm per move

cannot really accurately make it to 1cm.. either 0.83cm or 1.2cm-ish.
This commit is contained in:
HappyZ 2016-02-06 22:03:28 -08:00
parent b255c768b8
commit 21e29aa564
1 changed files with 19 additions and 33 deletions

View File

@ -16,63 +16,49 @@ MotorWheel wheel2(11,12,6,7,&irq2,REDUCTION_RATIO,int(144*PI));
R2WD _2WD(&wheel1,&wheel2,WHEELSPAN); R2WD _2WD(&wheel1,&wheel2,WHEELSPAN);
bool myLED = HIGH; //bool myLED = HIGH;
String inputString = ""; String inputString = "";
String prevString = "";
boolean stringComplete = false; boolean stringComplete = false;
unsigned int speedMMPS=150; unsigned int speedMMPS=83;
unsigned int uptime=110; unsigned int uptime=300;
unsigned int currentSpeed = 0; unsigned int currentSpeed = 0;
unsigned int myCounter = 0;
void setup() { void setup() {
Serial.begin(9600); Serial.begin(9600);
// reserve 200 bytes for the inputString: // reserve 200 bytes for the inputString:
inputString.reserve(50); inputString.reserve(20);
prevString.reserve(20);
//TCCR0B=TCCR0B&0xf8|0x01; // warning!! it will change millis() //TCCR0B=TCCR0B&0xf8|0x01; // warning!! it will change millis()
TCCR1B=TCCR1B&0xf8|0x01; // Pin9,Pin10 PWM 31250Hz TCCR1B=TCCR1B&0xf8|0x01; // Pin9,Pin10 PWM 31250Hz
TCCR2B=TCCR2B&0xf8|0x01; // Pin3,Pin11 PWM 31250Hz TCCR2B=TCCR2B&0xf8|0x01; // Pin3,Pin11 PWM 31250Hz
_2WD.PIDEnable(0.35,0.02,0,10); _2WD.PIDEnable(0.35,0.02,0,10);
pinMode(13, OUTPUT);
} }
void loop() { void loop() {
if (stringComplete) { if (stringComplete) {
Serial.println("You input: "+inputString); // Serial.println("You input: "+inputString);
Serial.println(myCounter);
Serial.write(myCounter);
if (inputString.equals("go\n")) { if (inputString.equals("go\n")) {
_2WD.setCarAdvance(0); if (!inputString.equals(prevString))
_2WD.setCarAdvance(0);
currentSpeed = _2WD.setCarSpeedMMPS(speedMMPS,uptime); currentSpeed = _2WD.setCarSpeedMMPS(speedMMPS,uptime);
Serial.println("Current speed: "+String(currentSpeed)); // Serial.println("Current speed: "+String(currentSpeed));
_2WD.setCarSlow2Stop(uptime); _2WD.setCarSlow2Stop(uptime);
Serial.println("Current speed stop: "+String(_2WD.getCarSpeedMMPS())); // Serial.println("Current speed stop: "+String(_2WD.getCarSpeedMMPS()));
myCounter += 1;
digitalWrite(13, myLED); // turn the LED on (HIGH is the voltage level)
if (myLED == HIGH)
myLED = LOW;
else
myLED = HIGH;
} else if (inputString.equals("back\n")) { } else if (inputString.equals("back\n")) {
_2WD.setCarBackoff(0); if (!inputString.equals(prevString))
_2WD.setCarBackoff(0);
currentSpeed = _2WD.setCarSpeedMMPS(speedMMPS,uptime); currentSpeed = _2WD.setCarSpeedMMPS(speedMMPS,uptime);
Serial.println("Current speed: "+String(currentSpeed)); // Serial.println("Current speed: "+String(currentSpeed));
_2WD.setCarSlow2Stop(uptime); _2WD.setCarSlow2Stop(uptime);
Serial.println("Current speed stop: "+String(_2WD.getCarSpeedMMPS())); // Serial.println("Current speed stop: "+String(_2WD.getCarSpeedMMPS()));
myCounter += 1; } else if (inputString.equals("speed\n")) {
digitalWrite(13, myLED); // turn the LED on (HIGH is the voltage level) // Serial.println("Current speed: "+String(_2WD.getCarSpeedMMPS()));
if (myLED == HIGH)
myLED = LOW;
else
myLED = HIGH;
} }
// _2WD.demoActions(speedMMPS, 1000, 500);
prevString = inputString;
// clear the string: // clear the string:
inputString = ""; inputString = "";
stringComplete = false; stringComplete = false;