Little google eye crawler!

Description:

This week Molly and I teamed up to have a crawler for the TUI crawler challenge! We used 2 servomotors and a large battery pack, and some earplugs for grip on the carpet. It was difficult to stabilize the body – we tried markers, triangle shaped highlighters, and ended up using the servo box with clips to raise it.

img_1683

 

Components

  • 1x Bread board
  • 1x Arduino
  • 1x servomotor
  • 1x box
  • 2x paperclip
  • 1x battery pack
  • 4x ear plug
  • 10x+ rubber bands and hair ties

Code


/*
 * Code modified from this code: http://www.robotoid.com/appnotes/arduino-operating-two-servos.html
 */
#include <Servo.h>
Servo servoLeft;          // Define left servo
Servo servoRight;         // Define right servo
int pos7 = 0;
int pos8 = 0;
void setup() { 
  servoLeft.attach(8);  // Set left servo to digital pin 8
  servoRight.attach(7);  // Set right servo to digital pin 7
  servoLeft.write(0);
  servoRight.write(0);
} 
void loop() {            // Loop through motion tests
  moveR();             // Example: move forward        
  moveL();
//  moveR();                      
//  moveL();
//  moveR();                      
//  moveL();
}
// Motion routines for forward, reverse, turns, and stop
void moveR() {
  //servoLeft.write(0);
  //servoRight.write(130);
  for (pos7 = 0; pos7 <= 120; pos7 += 5) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    servoRight.write(pos7);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
  for (pos7 = 120; pos7 >= 0; pos7 -= 10) { // goes from 180 degrees to 0 degrees
    servoRight.write(pos7);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
}
void moveL() {
  //servoLeft.write(130);
  //servoRight.write(0);
  for (pos8 = 0; pos8 <= 120; pos8 += 5) { // goes from 0 degrees to 180 degrees
    // in steps of 1 degree
    servoLeft.write(pos8);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
  for (pos8 = 120; pos8 >= 0; pos8 -= 10) { // goes from 180 degrees to 0 degrees
    servoLeft.write(pos8);              // tell servo to go to position in variable 'pos'
    delay(15);                       // waits 15ms for the servo to reach the position
  }
}

 

 

Leave a Reply