Rodes

Construir robots que es puguin moure sobre dos rodes és bastant habitual. Per fer-ho, necessites servos de gir continu. Això pot ser problemàtic, ja que quan fan girs ràpids demanen més corrent que la que l’Arduino els pot subministrar. Per tant, necessites utilitzar un condensador, i que quan les rodes canviïn el sentit ho facin suaument. Aquesta segona part l’hem inclòs a la llibreria, així que no te n’has de preocupar.

Materials

  • 1 placa Arduino U
  • 1 Shield Bàsica Educativa
  • 2 Servos de gir continu
  • 1 condensador de 100 microF
  • 2 cables

Instruccions

  1. Connecta el servo de la roda esquerra a D10 i el servo de la roda dreta a D9.
  2. Connecta el condensador entre GND i 5V, la pota curta a GND i la llarga a 5V.

  1. Puja el codi: Arxiu -> Exemples -> BasicEducationShield -> Ajuda -> 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);
}

Quan el codi estigui pujat, les rodes haurien de començar a girar cap endavant durant 2 segons; després, cap endarrere 2 segons més. turnLeft() fa que les rodes girin en direcció oposada l’una de l’altra, de manera que el vehicle gira en sentit contrari a les agulles del rellotge (antihorari); turnRight() el fa girar en l’altre sentit, de manera que el vehicle gira d’acord amb les agulles del rellotge. standStill() fa que ambdós servos s’aturin.

No funciona?

  1. Assegura’t que els servos estan connectats als mateixos Pins que s’utilitzen al codi. Comprova que la roda esquerra està connectada al primer Pin digital a begin(left, right) i que la dreta ho està al segon. Si això no és correcte, el robot anirà cap endarrere quan hauria d’anar cap endavant, etc.