Happy Bug

Submitted by christineschantz on Tue, 03/19/2013 - 22:04

Description 

For this assignment I created a happy, crawling bug with long, wooden legs. 

 

Challenge

The challenge was the crawling with the wooden sticks. Here I discovered that building an upside down V made the crawling doable. 


Components

  • Arduino Uno + box

  • Breadboard

  • Potentiometer

  • Servomotor + box

  • 3 x rubber band

  • Tape

  • Post-it

  • Wooden stick

Code

/*
* Servo with Potentiometer control
* Theory and Practice of Tangible User Interfaces
* October 11 2007
*/

int servoPin = 7;      // Control pin for servo motor
int potPin   = 0;      // select the input pin for the potentiometer

int pulseWidth = 0;    // Amount to pulse the servo
long lastPulse = 0;    // the time in millisecs of the last pulse
int refreshTime = 20;  // the time in millisecs needed in between pulses
int val;               // variable used to store data from potentiometer

int minPulse = 500;   // minimum pulse width

void setup() {
  pinMode(servoPin, OUTPUT);  // Set servo pin as an output pin
  pulseWidth = minPulse;      // Set the motor position to the minimum
  Serial.begin(9600);         // connect to the serial port
  Serial.println("servo_serial_better ready");
}

void loop() {
  val = analogRead(potPin);    // read the value from the sensor, between 0 - 1024

  if (val > 0 && val <= 999 ) {
    pulseWidth = val*2 + minPulse;  // convert angle to microseconds

    Serial.print("moving servo to ");
    Serial.println(pulseWidth,DEC);

  }
  updateServo();   // update servo position
}

// called every loop().
void updateServo() {
  // pulse the servo again if the refresh time (20 ms) has passed:
  if (millis() - lastPulse >= refreshTime) {
    digitalWrite(servoPin, HIGH);   // Turn the motor on
    delayMicroseconds(pulseWidth);  // Length of the pulse sets the motor position
    digitalWrite(servoPin, LOW);    // Turn the motor off
    lastPulse = millis();           // save the time of the last pulse
  }
}

 

http://www.youtube.com/watch?v=LBQlgJ39_Bk&feature=youtu.be

 

IMG_3046.jpg
0
Your rating: None
Drupal theme by Kiwi Themes.