User Tools

Site Tools


robotservosensor

The rough code program for the single servo and the infrared proximity sensor.

#include <Servo.h>
 
Servo myServo;
//Servo RearServo;
const unsigned int BAUD_RATE = 9600;
int delayTime = 5000;
int sensorPin = 0; //analog pin 0
int pos = 0;
 
void setup() {
  myServo.attach(9);
  //RearServo.attach(3);
  Serial.begin(BAUD_RATE);
}
 
void loop() {
  int val = analogRead(sensorPin);
  Serial.println(val);
  delay(delayTime); //If set too low (fast) the Arduino freezes
 
  for(pos = 0; pos < 162; pos += 1)  // goes from 0 degrees to "180" degrees
  {                                  // in steps of 1 degree
    myServo.write(pos);              
    delay(15);                       // waits 15ms for the servo to reach the position
  }
  for(pos = 162; pos>=1; pos-=1)     // goes from "180" degrees to 0 degrees
                                     // Set to 162 degrees because of a funny issue with the servo
  {                                
    myServo.write(pos);              
    delay(15);                       // waits 15ms for the servo to reach the position
  }  
 
 
  if (Serial.available() > 0) {
    int command = Serial.read();
    if (command == 'r') { // "Try" to reset the servo position if it gets out of whack
      myServo.write(0);
      delay(10);
      Serial.println("Reset");
 
    } else if (command == '1') {
        myServo.write(81);
        Serial.println("Turn 90 degrees");
 
    } else if (command == '2') {
        myServo.write(152);
        Serial.println("Turn 155 degrees");
 
    } else if (command == '3') {
        Serial.println(val);
    }
  }
}
robotservosensor.txt · Last modified: 2014/02/08 23:47 by djacobs