Advertisement
Guest User

Untitled

a guest
Jan 9th, 2011
605
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.52 KB | None | 0 0
  1. #include <Servo.h>
  2. #include <avr/interrupt.h>
  3.  
  4. Servo steering;
  5. Servo throttle;
  6. int bumpswitchPin = 2;
  7. int forwardLED = 12;
  8. int reverseLED = 11;
  9. int bumpswitchState = 0;
  10. int AccelerationSpeed = 105;
  11. int ReverseSpeed = 75;
  12. volatile int bumper;
  13.  
  14.  
  15. void setup() {
  16.   steering.attach(9);
  17.   throttle.attach(10);
  18.   pinMode(forwardLED, OUTPUT);
  19.   pinMode(reverseLED, OUTPUT);
  20.   pinMode(bumpswitchPin, INPUT);
  21.   Serial.begin(115200);
  22.   digitalWrite(bumpswitchPin, LOW);
  23.   attachInterrupt(0, bumperISR, RISING);
  24.   interrupts();
  25.   bumper = 0;
  26.   MoveForward();
  27. }
  28.  
  29. void bumperISR(){
  30.     digitalWrite(forwardLED, LOW);
  31.     digitalWrite(reverseLED, LOW);
  32.     Serial.println("Bumper Hit!!");
  33.     Brakes();
  34.     bumper = 1;
  35. }
  36.  
  37. void Brakes() {
  38.   throttle.write(0);
  39.   Serial.println("Brakes on!!");
  40.   Serial.println('\n');
  41. }
  42.  
  43. void Stop() {
  44.   throttle.write(90);
  45.   Serial.println("Throttle at neutral");
  46.   Serial.println('\n');
  47. }
  48.  
  49. void MoveForward(){
  50.   throttle.write(AccelerationSpeed);
  51.   digitalWrite(forwardLED, HIGH);
  52.   Serial.print("Throttle @ ");
  53.   Serial.println(AccelerationSpeed);
  54.   Serial.println('\n');
  55. }
  56.  
  57. void loop() {
  58.   steering.write(90);
  59.   if (bumper > 0) {
  60.     delay(200);
  61.     Stop();
  62.     delay(200);
  63.     steering.write(55);
  64.     delay(5);
  65.     throttle.write(ReverseSpeed);
  66.     digitalWrite(reverseLED, HIGH);
  67.     Serial.print("Throttle @ ");
  68.     Serial.println(ReverseSpeed);
  69.     Serial.println('\n');
  70.     delay(1350);
  71.     Stop();
  72.     digitalWrite(reverseLED, LOW);
  73.     steering.write(90);
  74.     delay(5);
  75.     delay(500);
  76.     bumper = 0;
  77.     MoveForward();
  78.  }
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement