Esempio n. 1
0
void Robot::turnLeft(float angle)
{
    ori -= angle*M_PI/180;
    ori = ori>2*M_PI?ori-2*M_PI:ori;
    ori = ori<0?ori+2*M_PI:ori;
    motor_turnLeft((angle+TURN_LEFT_OFFSET*angle/30.0)*M_PI/180);
    updateRadar();
}
Esempio n. 2
0
void loop() {
	if (Serial.available()) {
		String readString = "";
		while (Serial.available()) {
			delay(3);
			if (Serial.available() > 0) {
				char c = Serial.read();
				readString += c;
			}
		}
		
		if (readString.charAt(0) == 'M') {
			switch (readString.charAt(1)) {
			case 'f' : case 'F':
				motor_forward();
				break;
			case 'b': case 'B':
				motor_backward();
				break;
			case 'l': case 'L':
				motor_turnLeft();
				break;
			case 'r': case 'R':
				motor_turnRight();
				break;
			case 's': case 'S':
				motor_stop();
				break;
			case 'm': case 'A':
				isUltra = !isUltra;
				break;
				
			case 'p': case 'P':
				char c = readString.charAt(2);
				ChangeSpeed((c - '0') * factor + minSpeed);
				break;
			}
		}
	} else {
		if (isUltra) {
			//ultraCarProcess();
		}
		else {
			//motor_stop();
		}
	}
}