当前位置: 首页>>代码示例>>C++>>正文


C++ Motor::set_sentido方法代码示例

本文整理汇总了C++中Motor::set_sentido方法的典型用法代码示例。如果您正苦于以下问题:C++ Motor::set_sentido方法的具体用法?C++ Motor::set_sentido怎么用?C++ Motor::set_sentido使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Motor的用法示例。


在下文中一共展示了Motor::set_sentido方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: line_follower

void line_follower(Motor motorA, Motor motorB) {
    if (sensorA.get_color() == BLANCO && sensorB.get_color() == BLANCO) {
        motorA.set_sentido(ADELANTE);
        motorB.set_sentido(ADELANTE);
    } else if (sensorA.get_color() == BLANCO && sensorB.get_color() != BLANCO) {
        motorA.set_sentido(ATRAS);
        motorB.set_sentido(ADELANTE);
    } else if (sensorA.get_color() != BLANCO && sensorB.get_color() == BLANCO) {
        motorA.set_sentido(ADELANTE);
        motorB.set_sentido(ATRAS);
    }
} 
开发者ID:bgamari,项目名称:libmanyuc,代码行数:12,代码来源:auto.cpp

示例2: main

int main()
{
	// PC connection
	Serial pc(0, 9600);
	
	// Turn all leds on while waiting
	Bus leds(4, LED4, LED3, LED2, LED1);
	leds.mode(Output);
	leds.write_all(1);
    
    // Config motors
    Motor motorB (P22, P21, P23);
    Motor motorA (P25, P24, P26);

	// Turn lights on
    FarolA = 1;
    FarolB = 1;

	// The interface with the remote control
	Serial cmdLink(1, 38400);

	// Read until the control says START
	wait_for_start(cmdLink);
	
    // Seteo velocidad y direccion del motor A
    motorA.set_sentido(ADELANTE);
    motorA.Velocidad = MARCHA_IZQ;

    // Seteo velocidad y direccion del motor B
    motorB.set_sentido(ADELANTE);
    motorB.Velocidad = MARCHA_DER;

    while (1)
    {
        // encendemos los leds de acuerdo con los sensores
        //estado_sensores();

		unsigned char cmd = get_command(cmdLink);
		leds.write(cmd);

		// Stop makes the car stop until the next start
		if (cmd == STOP) {
            motorA.set_sentido(DETENIDO);
            motorB.set_sentido(DETENIDO);
			wait_for_start(cmdLink);
		} 
		
		// Go faster
		else if (cmd == START) {
			motorA.Velocidad = 0.9;
			motorB.Velocidad = 0.9;
		}

		// Enter line_follower mode
		else if (cmd == LINE_FOLLOWER) {
			line_follower(motorA, motorB);
		} 
		
		// Go forward
		else if (cmd == (CENTER+FORWARD)) {
            motorA.set_sentido(ADELANTE);
            motorA.Velocidad = MARCHA_IZQ;
            motorB.set_sentido(ADELANTE);
            motorB.Velocidad = MARCHA_DER;
		} 
		
		// Go backward
		else if (cmd == (CENTER+BACKWARD)) {
            motorA.set_sentido(ATRAS);
            motorA.Velocidad = MARCHA_IZQ;
            motorB.set_sentido(ATRAS);
            motorB.Velocidad = MARCHA_DER;
		} 
		
		// Go left
		else if (cmd > LEFT && cmd < RIGHT) {
            motorB.set_sentido(ADELANTE);
			float f = (cmd - LEFT) / 10.;
			if (f > 0.7) {
                motorA.set_sentido(ATRAS);
                motorA.Velocidad = MARCHA_IZQ*(f-0.2);
                motorB.Velocidad = MARCHA_DER*(f-0.2);
			} else {
				motorA.set_sentido(ADELANTE);
				motorA.Velocidad = MARCHA_IZQ*(0.7-f);
				motorB.Velocidad = MARCHA_DER*(1+f);
			}
		} 
		
		// Go right
		else if (cmd > RIGHT && cmd < BACKWARD) {
            motorA.set_sentido(ADELANTE);
			float f = (cmd - RIGHT) / 10.;
			if (f > 0.7) {
	            motorB.set_sentido(ATRAS);
				motorA.Velocidad = MARCHA_IZQ*(f-0.2);
		        motorB.Velocidad = MARCHA_DER*(f-0.2);
			} else {
	            motorB.set_sentido(ADELANTE);
				motorA.Velocidad = MARCHA_IZQ*(1+f);
//.........这里部分代码省略.........
开发者ID:bgamari,项目名称:libmanyuc,代码行数:101,代码来源:auto.cpp


注:本文中的Motor::set_sentido方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。