Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SoftwareSerial.h>
- const byte rxPin = 9;
- const byte txPin = 10;
- // Set up a new SoftwareSerial object
- SoftwareSerial mySerial(rxPin, txPin);
- int IN1 = 2;
- int IN2 = 7;
- int IN3 = 4;
- int IN4 = 3;
- const int LSpeed = 6;
- const int RSpeed = 5;
- int speedR = 150; //0-2e55
- int speedL = 150;
- String str;
- int blueToothVal;
- #define trigPin 11 //ULTRASONIC input 1
- #define echoPin 12 //ULTRASONIC input 2
- long duration, distance;
- void setup() {
- Serial.begin(9600);
- mySerial.begin(9600);
- pinMode(IN1, OUTPUT);
- pinMode(IN2, OUTPUT);
- pinMode(IN3, OUTPUT);
- pinMode(IN4, OUTPUT);
- pinMode(LSpeed, OUTPUT);
- pinMode(RSpeed, OUTPUT);
- pinMode(trigPin, OUTPUT);
- pinMode(echoPin, INPUT);
- }
- void loop() {
- analogWrite(LSpeed, speedL);
- analogWrite(RSpeed, speedR);
- delay(50);
- digitalWrite(trigPin, LOW);
- delayMicroseconds(2);
- digitalWrite(trigPin, HIGH);
- delayMicroseconds(10);
- digitalWrite(trigPin, LOW);
- duration = pulseIn(echoPin, HIGH);
- distance = duration * 0.034 / 2;
- Serial.println(distance);
- delay(10);
- if (distance <= 30) {
- STOP();
- delay(300);
- BACKWARDS();
- delay(400);
- STOP();
- delay(300);
- RIGHTT();
- delay(700);
- STOP();
- }
- else {
- bluetooth();
- }
- }
- void bluetooth() {
- while (mySerial.available()) // Read bluetooth commands over Serial1 // Warning: If an error with Serial1 occurs, make sure Arduino Mega 2560 is Selected
- {
- {
- str = mySerial.readStringUntil('\n'); // str is the temporary variable for storing the last sring sent over bluetooth from Android device
- //Serial.print(str);
- }
- blueToothVal = (str.toInt()); // convert the string 'str' into an integer and assign it to blueToothVal
- Serial.println(blueToothVal);
- switch (blueToothVal) {
- case 1:
- FRONT();
- delay(10);
- break;
- case 2:
- BACKWARDS();
- delay(10);
- break;
- case 3:
- LEFTT();
- delay(10);
- //STOP();
- break;
- case 4:
- RIGHTT();
- delay(10);
- //STOP();
- break;
- case 5:
- STOP();
- break;
- } // end of switch case
- } // end of while loop Serial1 read
- }
- void STOP() {
- digitalWrite(IN1, 0);
- digitalWrite(IN2, 0);
- digitalWrite(IN3, 0);
- digitalWrite(IN4, 0);
- }
- void FRONT() {
- digitalWrite(IN1, 0);
- digitalWrite(IN2, 1);
- digitalWrite(IN3, 0);
- digitalWrite(IN4, 1);
- }
- void BACKWARDS() {
- digitalWrite(IN1, 1);
- digitalWrite(IN2, 0);
- digitalWrite(IN3, 1);
- digitalWrite(IN4, 0);
- }
- void RIGHTT() {
- //delay(100);
- digitalWrite(IN1, 0);
- digitalWrite(IN2, 1);
- digitalWrite(IN3, 1);
- digitalWrite(IN4, 0);
- }
- void LEFTT() {
- //delay(100);
- digitalWrite(IN1, 1);
- digitalWrite(IN2, 0);
- digitalWrite(IN3, 0);
- digitalWrite(IN4, 1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement