Answered step by step
Verified Expert Solution
Link Copied!
Question
1 Approved Answer

I have a 2 software form my Project. When hc-sr04 is 3 cm, I want my vehicle to stop and switch to 2nd software using

I have a 2 software form my Project. When hc-sr04 is 3 cm, I want my vehicle to stop and switch to 2nd software using interrupt and then back to 1st software. How can I do it.we want to have a combined code with an interrupt program that, includes black line following and also passing through an obstacle if it comes so, if you could mix up that we want by the codes which we sent or could you make a new codes with the sensors we have hc-sr04, 4 way tracking module (cny70), 2 6V 250 RPM dc motors ,L 298N VOLTAGE REGULATOR motor driver and ariuno uno

1st software

define echoPin 12 //Ultrasonik sensrn echo pini Arduino'nun 12.pinine

#define trigPin 13 //Ultrasonik sensrn trig pini Arduino'nun 13.pinine tanmland.

#define MotorR1 7

#define MotorR2 6

#define MotorRE 9 // Motor pinlerini tanmlyoruz.

#define MotorL1 5

#define MotorL2 4

#define MotorLE 3

long sure, uzaklik; //sre ve uzaklk diye iki deiken tanmlyoruz.

void setup() {

// ultrasonik sensr Trig pininden ses dalgalar gnderdii iin OUTPUT (k),

// bu dalgalar Echo pini ile geri ald iin INPUT (Giri) olarak tanmlanr.

pinMode(echoPin, INPUT);

pinMode(trigPin, OUTPUT);

pinMode(MotorL1, OUTPUT);

pinMode(MotorL2, OUTPUT);

pinMode(MotorLE, OUTPUT); //Motorlarmz k olarak tanmlyoruz.

pinMode(MotorR1, OUTPUT);

pinMode(MotorR2, OUTPUT);

pinMode(MotorRE, OUTPUT);

Serial.begin(9600);

}

void loop() {

digitalWrite(trigPin, LOW); //sensr pasif hale getirildi

delayMicroseconds(5);

digitalWrite(trigPin, HIGH); //Sensore ses dalgasnn retmesi iin emir verildi

delayMicroseconds(10);

digitalWrite(trigPin, LOW); //Yeni dalgalarn retilmemesi iin trig pini LOW konumuna getirildi

sure = pulseIn(echoPin, HIGH); //ses dalgasnn geri dnmesi iin geen sure llyor

uzaklik = sure / 29.1 / 2; //llen sre uzakla evriliyor

Serial.println(uzaklik);

if (uzaklik < 15) // Uzaklk 15'den kk ise,

{

geri(); // 150 ms geri git

delay(150);

sag(); // 250 ms saa dn

delay(250);

}

else { // deil ise,

ileri(); // ileri git

}

}

void ileri(){ // Robotun ileri ynde hareketi iin fonksiyon tanmlyoruz.

digitalWrite(MotorR1, HIGH); // Sa motorun ileri hareketi aktif

digitalWrite(MotorR2, LOW); // Sa motorun geri hareketi pasif

analogWrite(MotorRE, 150); // Sa motorun hz 150

digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif

digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif

analogWrite(MotorLE, 150); // Sol motorun hz 150

}

void sag(){ // Robotun saa dnme hareketi iin fonksiyon tanmlyoruz.

digitalWrite(MotorR1, HIGH); // Sa motorun ileri hareketi aktif

digitalWrite(MotorR2, LOW); // Sa motorun geri hareketi pasif

analogWrite(MotorRE, 0); // Sa motorun hz 0 (Motor duruyor)

digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif

digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif

analogWrite(MotorLE, 150); // Sol motorun hz 150

}

void geri(){ // Robotun geri ynde hareketi iin fonksiyon tanmlyoruz.

digitalWrite(MotorR1, LOW); // Sa motorun ileri hareketi pasif

digitalWrite(MotorR2, HIGH); // Sa motorun geri hareketi aktif

analogWrite(MotorRE, 150); // Sa motorun hz 150

digitalWrite(MotorL1, LOW); // Sol motorun ileri hareketi pasif

digitalWrite(MotorL2, HIGH); // Sol motorun geri hareketi aktif

analogWrite(MotorLE, 150); // Sol motorun hz 150

}

2nd software

#define SensorSol 10

#define SensorOrta 11

#define SensorSag 12

#define MotorR1 6

#define MotorR2 7 // Sensr ve Motorlarn Arduino'ya baladmz pinlerini tanmlyoruz.

#define MotorRE 9

#define MotorL1 5

#define MotorL2 4

#define MotorLE 3

void setup() {

pinMode(SensorSol, INPUT);

pinMode(SensorOrta, INPUT);

pinMode(SensorSag, INPUT);

pinMode(MotorR1, OUTPUT); // Sensr ve Motorlarn Giri-k bilgilerini belirtiyoruz.

pinMode(MotorR2, OUTPUT);

pinMode(MotorL1, OUTPUT);

pinMode(MotorL2, OUTPUT);

}

void loop() {

if (digitalRead(SensorSol) == 0 && digitalRead(SensorOrta) == 1 && digitalRead(SensorSag) == 0) { // Orta sensr izgiyi grdnde robot ileri gitsin.

ileri();

}

if (digitalRead(SensorSol) == 0 && digitalRead(SensorOrta) == 0 && digitalRead(SensorSag) == 1) { // Sa sensr izgiyi grdnde robot saa dnsn.

sag();

}

if (digitalRead(SensorSol) == 1 && digitalRead(SensorOrta) == 0 && digitalRead(SensorSag) == 0) { // Sol sensr izgiyi grdnde robot sola dnsn.

sol();

}

}

void ileri() { // Robotun ileri ynde hareketi iin fonksiyon tanmlyoruz.

digitalWrite(MotorR1, HIGH); // Sa motorun ileri hareketi aktif

digitalWrite(MotorR2, LOW); // Sa motorun geri hareketi pasif

analogWrite(MotorRE, 150); // Sa motorun hz 150

digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif

digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif

analogWrite(MotorLE, 150); // Sol motorun hz 150

}

void sag() { // Robotun saa dnme hareketi iin fonksiyon tanmlyoruz.

digitalWrite(MotorR1, HIGH); // Sa motorun ileri hareketi aktif

digitalWrite(MotorR2, LOW); // Sa motorun geri hareketi pasif

analogWrite(MotorRE, 0); // Sa motorun hz 0 (Motor duruyor)

digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif

digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif

analogWrite(MotorLE, 150); // Sol motorun hz 150

}

void sol() { // Robotun sola dnme hareketi iin fonksiyon tanmlyoruz.

digitalWrite(MotorR1, HIGH); // Sa motorun ileri hareketi aktif

digitalWrite(MotorR2, LOW); // Sa motorun geri hareketi pasif

analogWrite(MotorRE, 150); // Sa motorun hz 150

digitalWrite(MotorL1, HIGH); // Sol motorun ileri hareketi aktif

digitalWrite(MotorL2, LOW); // Sol motorun geri hareketi pasif

analogWrite(MotorLE, 0); // Sol motorun hz 0 (Motor duruyor)

}

void dur() { // Robotun durma hareketi iin fonksiyon tanmlyoruz.

digitalWrite(MotorR1, HIGH);

digitalWrite(MotorR2, LOW);

digitalWrite(MotorRE, LOW);

digitalWrite(MotorL1, HIGH);

digitalWrite(MotorL2, LOW);

digitalWrite(MotorLE, LOW);

}

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_2

Step: 3

blur-text-image_step3

Ace Your Homework with AI

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

Get Started

Students explore these related Databases questions