本文整理汇总了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);
}
}
示例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);
//.........这里部分代码省略.........