Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unsigned char Bluetooth_val; //defining variable val
- #define Lpwm_pin 9 //enB
- #define Rpwm_pin 10 //enA
- int pinLF = 4; //in1
- int pinLB = 5; //in2
- int pinRF = 6; //in3
- int pinRB = 7; //in4
- unsigned char Lpwm_val = 150;
- unsigned char Rpwm_val = 150;
- int Car_state = 0;
- void M_Control_IO_config(void)
- {
- pinMode(pinLB, OUTPUT);
- pinMode(pinLF, OUTPUT);
- pinMode(pinRB, OUTPUT);
- pinMode(pinRF, OUTPUT);
- pinMode(Lpwm_pin, OUTPUT); // pin 10 (PWM)
- pinMode(Rpwm_pin, OUTPUT); // pin 9 (PWM)
- }
- void Set_Speed(unsigned char Left, unsigned char Right)
- {
- analogWrite(Lpwm_pin, Left);
- analogWrite(Rpwm_pin, Right);
- }
- void turnR() // going forward
- {
- digitalWrite(pinRB, LOW); // making motor move towards right rear
- digitalWrite(pinRF, HIGH);
- digitalWrite(pinLB, LOW); // making motor move towards left rear
- digitalWrite(pinLF, HIGH);
- Car_state = 1;
- }
- void back() //turning right(dual wheel)
- {
- digitalWrite(pinRB, LOW); //making motor move towards right rear
- digitalWrite(pinRF, HIGH);
- digitalWrite(pinLB, HIGH);
- digitalWrite(pinLF, LOW); //making motor move towards left front
- Car_state = 4;
- }
- void advance() //turning left(dual wheel)
- {
- digitalWrite(pinRB, HIGH);
- digitalWrite(pinRF, LOW ); //making motor move towards right front
- digitalWrite(pinLB, LOW); //making motor move towards left rear
- digitalWrite(pinLF, HIGH);
- Car_state = 3;
- }
- void stopp() //stop
- {
- digitalWrite(pinRB, HIGH);
- digitalWrite(pinRF, HIGH);
- digitalWrite(pinLB, HIGH);
- digitalWrite(pinLF, HIGH);
- Car_state = 5;
- }
- void turnL() //back up
- {
- digitalWrite(pinRB, HIGH); //making motor move towards right rear
- digitalWrite(pinRF, LOW);
- digitalWrite(pinLB, HIGH); //making motor move towards left rear
- digitalWrite(pinLF, LOW);
- Car_state = 2;
- }
- void forwardLeft() {
- advance();
- delay(50);
- turnL();
- delay(100);
- advance();
- delay(50);
- } //G
- void forwardRight() {
- advance();
- delay(50);
- turnR();
- delay(100);
- advance();
- delay(50);
- } //I
- void backLeft() {
- back();
- delay(50);
- turnR();
- delay(100);
- back();
- delay(50);
- } //H
- void backRight() {
- back();
- delay(50);
- turnL();
- delay(100);
- back();
- delay(50);
- } //J
- void hornON(){digitalWrite(13,1);}
- void hornOFF(){digitalWrite(13,0);}
- void setup()
- {
- pinMode(13,OUTPUT);
- M_Control_IO_config();
- Set_Speed(Lpwm_val, Rpwm_val);
- Serial.begin(9600); //initialized serial port , using Bluetooth as serial port, setting baud at 9600
- stopp();
- }
- void loop()
- {
- if (Serial.available()) //to judge whether the serial port receives the data.
- {
- Bluetooth_val = Serial.read(); //reading (Bluetooth) data of serial port,giving the value of val;
- switch (Bluetooth_val)
- {
- case 'F': advance(); //UP
- break;
- case 'B': back(); //back
- break;
- case 'L': turnL(); //Left
- break;
- case 'R': turnR(); //Right
- break;
- case 'S': stopp(); //stop
- break;
- case 'G': stopp();
- break;
- case 'I': stopp();
- break;
- case 'H': stopp();
- break;
- case 'J': stopp();
- break;
- case 'W': stopp();
- break;
- case 'w': stopp();
- break;
- case 'U': stopp();
- break;
- case 'u': stopp();
- break;
- case 'V': hornON();
- break;
- case 'v': hornOFF();
- break;
- case 'X': stopp();
- break;
- case 'x': stopp();
- break;
- case 'D': stopp();
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement