Paso 2: Código de Arduino
#define CON_MOTOR1 0
#define CON_MOTOR2 0
Escudo del motor utiliza cuatro pins - 4, 5, 6, 7 para manejar los motores
4 y 7, para la dirección, 5 y 6, para la velocidad
#define SPEED_1 5
#define DIR_1 4
#define SPEED_2 6
#define DIR_2 7
Atajos de teclado para los movimientos del robot posible
#define adelante 0
#define 1 hacia atrás
#define izquierda 2
#define derecha 3
Variable para el tampón de bluetooth
int RX_buff;
/ * * Esta función se utiliza para administrar movimientos reales * /
{} void go (int newDirection, int velocidad)
Boolean motorDirection_1, motorDirection_2;
interruptor (newDirection) {}
caso delantero: motorDirection_1 = true; motorDirection_2 = true; rotura;
al revés del caso: motorDirection_1 = false; motorDirection_2 = false; rotura;
IZQUIERDA del caso: motorDirection_1 = true; motorDirection_2 = false; rotura;
DERECHO del caso: motorDirection_1 = false; motorDirection_2 = true; rotura;
}
En caso de errores de configuración motor solo cambiar los números de
motorDirection_1 = CON_MOTOR1 ^ motorDirection_1;
motorDirection_2 = CON_MOTOR2 ^ motorDirection_2;
Let's move!
analogWrite (SPEED_1, velocidad);
analogWrite (SPEED_2, velocidad);
digitalWrite (DIR_1, motorDirection_1);
digitalWrite (DIR_2, motorDirection_2);
}
void setup() {}
Serial.Begin(9600);
Juegos de pernos 4, 5, 6, 7 a modo de salida
para (int i = 4; i < 8; i ++)
pinMode (i, salida);
Delay(5000);
}
void loop() {}
Lectura de datos de bluetooth
RX_buff = Serial.read();
Responder a los datos de bluetooth
Si (RX_buff == 1) {}
Go (adelante, 125);
Delay(1000);
}
Si (RX_buff == 2) {}
ir (a la izquierda, 80);
Delay(1500);
}
Si (RX_buff == 4) {}
ir (al revés, 70);
Delay(1500);
}
Si (RX_buff == 3) {}
ir (derecha, 80);
Delay(1500);
}
Parada, si es necesario
Si (RX_buff == 5 || RX_buff == 0) {}
analogWrite (SPEED_1, 0);
analogWrite (SPEED_2, 0);
}
}