Podemos observar como el prototipo diseñado y que vamos a utilizar es el mismo que el de la entrada anterior, por lo que no hay que explicar mucho más. Los giros se realizan de manera muy sencilla de esta forma: basta con invertir el sentido de una de las ruedas dependiendo de en que sentido queramos hacer el giro.
//Importamos la libreria AFMotor.h #include <AFMotor.h> //Creamos los dos motores que estan conectados al M1 y M2 respectivamente con una frecuencia de 64KHZ AF_DCMotor motor(1, MOTOR12_64KHZ); AF_DCMotor motor2(2, MOTOR12_64KHZ); int velocidad; //Función 'Setup' void setup(){ //Ajustamos la una velocidad velocidad = 150; //Lo iniciamos parados motor.run(RELEASE); motor2.run(RELEASE); //Inicializamos Serial Serial.begin(9600); Serial.println("Test Motor"); //Le damos la velocidad a los motores motor.setSpeed(velocidad); motor2.setSpeed(velocidad); } //Función 'Loop' void loop(){ Serial.println("BiRueda Autonomo (Giro sí mismo Test)"); //Movimiento hacia delante motor.run(FORWARD); motor2.run(FORWARD); //Dejamos 2 segundos de movimiento delay(2000); //Paramos motor.run(RELEASE); motor2.run(RELEASE); //Dejamos 1 segundos de parado delay(1000); //Un segundo de giro en un sentido motor.run(FORWARD); motor2.run(BACKWARD); delay(1000); //Paramos motor.run(RELEASE); motor2.run(RELEASE); //Dejamos 1 segundos de parado delay(1000); //Movimiento hacia atrás motor.run(BACKWARD); motor2.run(BACKWARD); //Dejamos 2 segundos de movimiento delay(2000); //Paramos motor.run(RELEASE); motor2.run(RELEASE); //Dejamos 1 segundos de parado delay(1000); //Un segundo de giro en un sentido motor.run(BACKWARD); motor2.run(FORWARD); delay(1000); //Paramos motor.run(RELEASE); motor2.run(RELEASE); //Dejamos 1 segundos de parado delay(1000); }
Podéis observar como funciona con el vídeo, recordando que aún las ruedas no están bien calibradas (de ahí la desviación que sufre)