Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Trying to put these two code together but it doesnt work. First Code is Robot Arduino Avoiding Obstacle. Second Code is a bluetooth code to

Trying to put these two code together but it doesnt work.

First Code is Robot Arduino Avoiding Obstacle. Second Code is a bluetooth code to control it when we want.. Please help.

#include

#include

#include

#define TRIG_PIN A4

#define ECHO_PIN A5

#define MAX_DISTANCE 200

#define MAX_SPEED 190 // sets speed of DC motors

#define MAX_SPEED_OFFSET 20

NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

AF_DCMotor motor1(1, MOTOR12_64KHZ);

AF_DCMotor motor2(3, MOTOR12_64KHZ);

Servo myservo;

//++++++++++++++++++++++++++++++++++++++++++

//+++++++++++++++++++++++++++++++++++++++++++

boolean goesForward=false;

int distance = 100;

int speedSet = 0;

void setup() {

myservo.attach(9);

myservo.write(65);

delay(2000);

distance = readPing();

delay(100);

distance = readPing();

delay(100);

distance = readPing();

delay(100);

distance = readPing();

delay(100);

}

void loop() {

int distanceR = 0;

int distanceL = 0;

delay(40);

if(distance<=15)

{

moveStop();

delay(100);

moveBackward();

delay(300);

moveStop();

delay(200);

distanceR = lookRight();

delay(200);

distanceL = lookLeft();

delay(200);

delay(50);

if(distanceR>=distanceL)

{

turnRight();

moveStop();

}else

{

turnLeft();

moveStop();

}

}else

{

moveForward();

}

distance = readPing();

}

int lookRight()

{

myservo.write(0);

delay(500);

int distance = readPing();

delay(100);

myservo.write(65);

return distance;

}

int lookLeft()

{

myservo.write(125);

delay(500);

int distance = readPing();

delay(100);

myservo.write(65);

return distance;

delay(100);

}

int readPing() {

delay(70);

int cm = sonar.ping_cm();

if(cm==0)

{

cm = 250;

}

return cm;

}

void moveStop() {

motor1.run(RELEASE);

motor2.run(RELEASE);

}

void moveForward() {

if(!goesForward)

{

goesForward=true;

motor1.run(FORWARD);

motor2.run(FORWARD);

for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // slowly bring the speed up to avoid loading down the batteries too quickly

{

motor1.setSpeed(speedSet);

motor2.setSpeed(speedSet+MAX_SPEED_OFFSET);

delay(5);

}

}

}

void moveBackward() {

goesForward=false;

motor1.run(BACKWARD);

motor2.run(BACKWARD);

for (speedSet = 0; speedSet < MAX_SPEED; speedSet +=2) // slowly bring the speed up to avoid loading down the batteries too quickly

{

motor1.setSpeed(speedSet);

motor2.setSpeed(speedSet+MAX_SPEED_OFFSET);

delay(5);

}

}

void turnRight() {

motor1.run(FORWARD);

motor2.run(BACKWARD);

delay(300);

motor1.run(FORWARD);

motor2.run(FORWARD);

}

void turnLeft() {

motor1.run(BACKWARD);

motor2.run(FORWARD);

delay(300);

motor1.run(FORWARD);

motor2.run(FORWARD);

}

#include

AF_DCMotor motor1(1, MOTOR12_64KHZ);

AF_DCMotor motor2(3, MOTOR12_64KHZ);

#include

#define RX 50

#define TX 51

SoftwareSerial btSerial(RX, TX);

String readString;

String comand = "";

void setup() {

btSerial.begin(9600);

Serial.begin(9600);

motor1.setSpeed(250);

motor2.setSpeed(250);

}

char c ;

void loop() {

if (btSerial.available()) {

while ( btSerial.available()) {

c = (char) btSerial.read();

readString += c;

}

}

if (readString.length() > 0) {

Serial.println(readString);

if (readString == "F") {

motor1.run (FORWARD);

motor2.run (FORWARD);

delay(500);

}

if (readString == "B") {

motor1.run (BACKWARD);

motor2.run (BACKWARD);

delay(500);

}

if (readString.equals("R")) {

motor1.run (FORWARD);

motor2.run (BACKWARD);

delay(500);

}

if (readString.equals("L")) {

motor1.run (BACKWARD);

motor2.run (FORWARD);

delay(500);

}

if (readString.equals("S")) {

motor1.run (RELEASE);

motor2.run (RELEASE);

delay(500);

}

readString = "";

}

}

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Machine Learning And Knowledge Discovery In Databases European Conference Ecml Pkdd 2015 Porto Portugal September 7 11 2015 Proceedings Part 3 Lnai 9286

Authors: Albert Bifet ,Michael May ,Bianca Zadrozny ,Ricard Gavalda ,Dino Pedreschi ,Francesco Bonchi ,Jaime Cardoso ,Myra Spiliopoulou

1st Edition

3319234609, 978-3319234601

More Books

Students also viewed these Databases questions