Construir robots que se puedan mover sobre dos ruedas es bastante común. Para ello, necesitas servos de giro continuo. Esto puede ser problemático ya que cuando hacen giros rápidos demandan más corriente de la que Arduino puede suministrarles. Por lo tanto, necesitas utilizar un condensador y que cuando las ruedas cambien el sentido sea suavemente. Hemos incluido esta segunda parte en la librería, por lo que no has de preocuparte.
Materiales
- 1 placa Arduino Uno
- 1 shield Básica Educativa
- 2 Servos de rotación continua
- 1 condensador de 100 microF
- 2 cables
Instructions
- Conecta el servo de la rueda izquierda a D10 y el servo de la rueda derecha a D9.
- Conecta el condensador entre GND y 5V, la pata corta a GND y la larga a 5V.
- Carga el código: Archivo -> Ejemplos -> BasicEducationShield -> Ayuda -> Wheels
/* Wheels */ #include <BasicEducationShield.h> #include <Servo.h> //wheels(left, right) Wheels wheels=Wheels(10, 9); void setup(){ //Initialize the servo wheels wheels.begin(); } void loop(){ //Makes the wheel spin forward wheels.goForward(); delay(2000); //Makes the wheels spin backwards wheels.goBackwards(); delay(2000); //Makes the wheels spin in opposite direction so that //the vehicle will spin left wheels.turnLeft(); delay(2000); //Makes the wheels spin in opposite direction so that //the vehicle will spin right wheels.turnRight(); delay(2000); //Makes the wheels stop wheels.standStill(); delay(2000); }
Cuando el código esté cargado, las ruedas deberían empezar a girar hacia delante durante 2 segundos, luego hacia atrás otros 2 segundos. turnLeft()
hace que las ruedas giren en dirección opuesta una de la otra, de forma que el vehículo gira en sentido contrario de las agujas del reloj (antihorario), turnRight()
lo hace girar en el sentido opuesto de forma que el vehículo gira en sentido horario. standStill()
hace que ambos servos se paren.
¿No funciona?
- Asegúrate de que los servos están conectados en los mismos pines que los utilizados en el código. Asegúrate de que el primer pin digital en
begin(left, right)
es donde la rueda izquierda está conectada y el segundo donde lo está la derecha. Si tienes esto mal, el robot irá hacia atrás cuando se supone que tiene que ir hacia delante, etc.