car_code

作者: Cabcab | 来源:发表于2018-12-31 15:41 被阅读0次
#define LEFT_AHEAD 13
#define LEFT_BACK 12
#define RIGHT_AHEAD 10
#define RIGHT_BACK 9

#include <Servo.h>
Servo servo_pin_14;

void stopBack();
void turnLeft();
void turnRight();
void goAhead();
void park();
void back();
void backLeft();
void backRight();


void setup(){
  Serial.begin(9600);
  pinMode(LEFT_AHEAD,OUTPUT);
  pinMode(LEFT_BACK, OUTPUT);
  pinMode(RIGHT_AHEAD, OUTPUT);
  pinMode(RIGHT_BACK, OUTPUT);
  digitalWrite(LEFT_AHEAD, LOW);
  digitalWrite(LEFT_BACK, LOW);
  digitalWrite(RIGHT_AHEAD, LOW);
  digitalWrite(RIGHT_BACK, LOW);
  servo_pin_14.attach(14);


}



char incomingByte = ' ';
void loop(){
  if (Serial.available() > 0) {
    incomingByte = Serial.read();
    if (incomingByte == 'A') {
      Serial.println("TURN LEFT");
      turnLeft();
      Serial.read();
    }
    else if (incomingByte == 'D'){
      Serial.println("TURN RIGHT");
      turnRight();
      Serial.read();
    }
    else if (incomingByte == 'W'){
      Serial.println("GO AHEAD");
      goAhead();
      Serial.read();
    }
 
    else if (incomingByte == 'S'){
      Serial.println("PARK");
      park();
      Serial.read();
    }
    
    else if (incomingByte == 'X'){
      Serial.println("BACK");
      back();
      Serial.read();
    }
    
    else if (incomingByte == 'Q'){
      Serial.println("LeftAhead");
      goAhead();
      turnLeft();
      Serial.read();
    }
    
    else if (incomingByte == 'E'){
      Serial.println("RightAhead");
      goAhead();
      turnRight();
      Serial.read();
    }
    
    else if (incomingByte == 'Z'){
      Serial.println("LeftBACK");
      back();
      backLeft();
      Serial.read();
    }
    
    else if (incomingByte == 'C'){
      Serial.println("rightBACK");
      back();
      backRight();
      Serial.read();
    }
    
  }
}


void back(){
  stopBack();
  analogWrite(LEFT_AHEAD,100);
  analogWrite(RIGHT_AHEAD,100);
  servo_pin_14.write(75);
}

void goAhead(){
  stopBack();
  analogWrite(LEFT_BACK,110);
  analogWrite(RIGHT_BACK,100);
  servo_pin_14.write(75);                                           
}


void turnRight(){
  stopBack();
  analogWrite(RIGHT_BACK,200);
  analogWrite(LEFT_BACK,90);
  servo_pin_14.write(100 );
  delay(100); 
  digitalWrite(LEFT_BACK, LOW);
  digitalWrite(RIGHT_BACK, LOW);
  digitalWrite(LEFT_AHEAD, LOW);
  digitalWrite(RIGHT_AHEAD, LOW);
  delay(100);
}

void turnLeft(){
  stopBack();
  analogWrite(LEFT_BACK,200);
  analogWrite(RIGHT_BACK,90);
  servo_pin_14.write(1 );
  delay(100);
   
  digitalWrite(LEFT_BACK, LOW);
  digitalWrite(RIGHT_BACK, LOW);
  digitalWrite(LEFT_AHEAD, LOW);
  digitalWrite(RIGHT_AHEAD, LOW);
  delay(100);
}

void park(){
  stopBack();
  digitalWrite(LEFT_AHEAD, LOW);
  digitalWrite(RIGHT_AHEAD, LOW);
  servo_pin_14.write(75 );
}

void stopBack(){
  digitalWrite(LEFT_BACK, LOW);
  digitalWrite(RIGHT_BACK, LOW);
}

void backLeft()
{
   stopBack();
  analogWrite(LEFT_BACK,90);
  analogWrite(RIGHT_BACK,200);
  servo_pin_14.write(1 );
  delay(300);
   
  digitalWrite(LEFT_BACK, LOW);
  digitalWrite(RIGHT_BACK, LOW);
  digitalWrite(LEFT_AHEAD, LOW);
  digitalWrite(RIGHT_AHEAD, LOW);
  delay(100);
}
void backRight()
{
  stopBack();
  analogWrite(LEFT_BACK,200);
  analogWrite(RIGHT_BACK,90);
  servo_pin_14.write(1 );
  delay(300);
   
  digitalWrite(LEFT_BACK, LOW);
  digitalWrite(RIGHT_BACK, LOW);
  digitalWrite(LEFT_AHEAD, LOW);
  digitalWrite(RIGHT_AHEAD, LOW);
  delay(100);
}

相关文章

网友评论

      本文标题:car_code

      本文链接:https://www.haomeiwen.com/subject/zkxwlqtx.html