コード例 #1
0
ファイル: HolonomicDriveTest.c プロジェクト: murrz/Aluminati
void holoMove(float x, float y, float rotateX) {
	// Joystick input must be within {-100 - 100}
	float leftOriWheel;
	float rightOriWheel;

	// Movement
	leftOriWheel	= getMotorPower(getAngle(x, y), LEFT_ORIENTATION_HOLO_WHEEL) * getPower(x, y);
	rightOriWheel	= getMotorPower(getAngle(x, y), RIGHT_ORIENTATION_HOLO_WHEEL) * getPower(x, y);

	motor[FLWheel] = (int) (((((rightOriWheel/100)*FULL_MOTOR_POWER)	+	rotateX)/200)*100);
	motor[FRWheel] = (int) (((((leftOriWheel/100)*FULL_MOTOR_POWER)		+	-rotateX)/200)*100);
	motor[BLWheel] = (int) (((((leftOriWheel/100)*FULL_MOTOR_POWER)		+	rotateX)/200)*100);
	motor[BRWheel] = (int) (((((rightOriWheel/100)*FULL_MOTOR_POWER)	+	-rotateX)/200)*100);
}
コード例 #2
0
ファイル: BXCommandMode.cpp プロジェクト: cueBall86/BXDrone
void CMD_MotorsSwitch(){
           boolean pow;
           int m;
           while(!Serial.available()){
                if( checkTimeOut() ) return;
            }
          
           digitalWrite(SERIALPIN, LOW);
           m = Serial.read();
           digitalWrite(SERIALPIN, HIGH);
          
           pow = !getMotorPower(m);
           setMotorPower( m, pow );
           pendMotorsPowerTM();  
}