Moving Forward
Have you ever thought about what direction a car’s wheels have to turn to propel it forward? The wheels turn opposite directions on opposite sides of the car. Likewise, to make the BOE Shield-Bot go forward, its left wheel has to turn counterclockwise, but its right wheel has to turn clockwise.
Remember that a sketch can use the Servo library’s writeMicroseconds function to control the speed and direction of each servo. Then, it can use the delay function to keep the servos running for certain amounts of time before choosing new speeds and directions. Here’s an example that will make the BOE Shield-Bot roll forward for about three seconds, and then stop.
Example Sketch: ForwardThreeSeconds
- Make sure the BOE Shield’s power switch is set to 1 and the battery pack is plugged into the Arduino.
- Enter, save, and upload ForwardThreeSeconds to the Arduino.
- Disconnect the programing cable and put the BOE Shield-Bot on the floor.
- While holding down the Reset button, move the switch to position 3, and then let go. The BOE Shield-Bot should drive forward for three seconds.
// Robotics with the BOE Shield - ForwardThreeSeconds // Make the BOE Shield-Bot roll forward for three seconds, then stop. #include <Servo.h> // Include servo library Servo servoLeft; // Declare left and right servos Servo servoRight; void setup() // Built-in initialization block { tone(4, 3000, 1000); // Play tone for 1 second delay(1000); // Delay to finish tone servoLeft.attach(13); // Attach left signal to pin 13 servoRight.attach(12); // Attach right signal to pin 12 // Full speed forward servoLeft.writeMicroseconds(1700); // Left wheel counterclockwise servoRight.writeMicroseconds(1300); // Right wheel clockwise delay(3000); // ...for 3 seconds servoLeft.detach(); // Stop sending servo signals servoRight.detach(); } void loop() // Main loop auto-repeats { // Empty, nothing needs repeating }