Bluetooth ile Ultrasonik Mesafe Sensörü Çalışmıyor

baris5259

Üye
Katılım
1 May 2019
Mesajlar
2
Puanları
1
Yaş
22
Merhaba arkadaşlar,

Projem: HC-05 Bluetooth kontrollü ve Ultrasonik Mesafe Sensörlü (park sensörlü) araba.
Malzemelerim
Ardunio UNO R3 Klon
HC-05 Bluetooth Modülü
HC-SR04 Ultrasonik Mesafe Sensörü

Projemde hem bluetooth ile rc arabamı kontrol etmek istiyorum hem de park sensörü olarak ultrasonik mesafe sensörünü kullanmak istiyorum. Fakat ikisi aynı anda çalışmıyor. Mesafe ölçme kodunu loop'tan hemen sonra yazarsam ultrasonik sensör mesafeyi ölçüyor ama bu sefer Bluetooth'tan sinyal gelmiyor. Mesafe ölçme kodunu Bluetooth'tan gelen bir değer ile çalıştırmak isteyince de bu sefer Bluetooth'tan gelen sinyal kopuyor veya gelen sinyaller de 1 dakika civarında bir gecikme oluyor. Bu arada mesafe park sensörü kodunu şuanda kullanmıyorum sadece mesafe ölçüyorum aynı anda ikisini çalıştırabilmek için deniyorum. Kodum aşağıdaki gibidir. İnceleyip yardımcı olursanız sevinirim.

Tahminim muhtemelen Bluetooh ile Ultrasonik sensör aynı seri haberleşmeyi kullanmaması gerekli.Bunun için softSerial kütüphanesini kullanarak 2 farklı seri haberleşme başlatsam da yine çalışmadı.

KOD:
Kod:
//L298N Bağlantısı

const int motorA1  = 5;  // L298N'in IN3 Girişi

const int motorA2  = 6;  // L298N'in IN1 Girişi

const int motorB1  = 10; // L298N'in IN2 Girişi

const int motorB2  = 9;  // L298N'in IN4 Girişi

int state; //Bluetooth cihazından gelecek sinyalin değişkeni

int vSpeed = 255;   // Standart Hız, 0-255 arası bir değer alabilir



int trigPin = 3;

int echoPin = 4;

long sure;

long uzaklik;



void setup()

{

  pinMode(motorA1, OUTPUT);

  pinMode(motorA2, OUTPUT);

  pinMode(motorB1, OUTPUT);

  pinMode(motorB2, OUTPUT);

  pinMode(trigPin, OUTPUT); /* trig pini çıkış olarak ayarlandı */

  pinMode(echoPin, INPUT); /* echo pini giriş olarak ayarlandı */

  Serial.begin(9600);

}



void loop() {



  sensor(); 



  //Gelen veriyi 'state' değişkenine kaydet

  if (Serial.available() > 0)

  {

    state = Serial.read();   

  }     



  // Uygulamadan ayarlanabilen 4 hız seviyesi.(Değerler 0-255 arasında olmalı)

  if (state == '0') {

    vSpeed = 0;

  }

  else if (state == '1') {

    vSpeed = 100;

  }

  else if (state == '2') {

    vSpeed = 180;

  }

  else if (state == '3') {

    vSpeed = 200;

  }

  else if (state == '4') {

    vSpeed = 255;

  }

  /***********************İleri****************************/

  //Gelen veri 'F' ise araba ileri gider.

  if (state == 'B')

  {

    ileri();

    Serial.println("İleri");

  }

  /**********************İleri Sol************************/

  //Gelen veri 'G' ise araba ileri sol(çapraz) gider.

  else if (state == 'G')

  {

    ilerisolcapraz();

  }

  /**********************İleri Sağ************************/

  //Gelen veri 'I' ise araba ileri sağ(çapraz) gider.

  else if (state == 'I')

  {

    ilerisagcapraz();

  }

  /***********************Geri****************************/

  //Gelen veri 'B' ise araba geri gider.

  else if (state == 'F')

  {

    geri();

    Serial.println("Geri");

  }

  /**********************Geri Sol************************/

  //Gelen veri 'H' ise araba geri sol(çapraz) gider

  else if (state == 'H')

  {

    gerisol();

  }

  /**********************Geri Sağ************************/

  //Gelen veri 'J' ise araba geri sağ(çapraz) gider

  else if (state == 'J')

  {

    gerisag();

  }

  /***************************Sol*****************************/

  //Gelen veri 'L' ise araba sola gider.

  else if (state == 'L')

  {



    Serial.println(" SOL");

    sol();

  }

  /***************************Sağ*****************************/

  //Gelen veri 'R' ise araba sağa gider

  else if (state == 'R')

  {

    sag();

    Serial.println(" SAG");

  }

  /************************Stop*****************************/

  //Gelen veri 'S' ise arabayı durdur.

  else if (state == 'S')

  {

    dur();

  }

}



void sensor()

{

  digitalWrite(trigPin, LOW); /* sensör pasif hale getirildi */

  delayMicroseconds(5);

  digitalWrite(trigPin, HIGH); /* Sensore ses dalgasının üretmesi için emir verildi */

  delayMicroseconds(10);

  digitalWrite(trigPin, LOW);  /* Yeni dalgaların üretilmemesi için trig pini LOW konumuna getirildi */

  sure = pulseIn(echoPin, HIGH); /* ses dalgasının geri dönmesi için geçen sure ölçülüyor */

  uzaklik = sure / 29.1 / 2; /* ölçülen sure uzaklığa çevriliyor */

  Serial.print("Uzaklik ");

  Serial.print(uzaklik); /* hesaplanan uzaklık bilgisayara aktarılıyor */

  Serial.println(" CM olarak olculmustur.");

  delay(500);

}



//MOTORKOMUTLARI

void ileri()

{

  analogWrite(motorA1, vSpeed);

  analogWrite(motorA2, 0);

  analogWrite(motorB1, vSpeed);

  analogWrite(motorB2, 0);

}

void ilerisolcapraz()

{

  analogWrite(motorA1, vSpeed );

  analogWrite(motorA2, 0);

  analogWrite(motorB1, 100);

  analogWrite(motorB2, 0);

}

void ilerisagcapraz()

{

  analogWrite(motorA1, 100);

  analogWrite(motorA2, 0);

  analogWrite(motorB1, vSpeed);

  analogWrite(motorB2, 0);

}

void geri()

{

  analogWrite(motorA1, 0);

  analogWrite(motorA2, vSpeed);

  analogWrite(motorB1, 0);

  analogWrite(motorB2, vSpeed);

}

void gerisol()

{

  analogWrite(motorA1, 0);

  analogWrite(motorA2, 100);

  analogWrite(motorB1, 0);

  analogWrite(motorB2, vSpeed);

}

void gerisag()

{

  analogWrite(motorA1, 0);

  analogWrite(motorA2, vSpeed);

  analogWrite(motorB1, 0);

  analogWrite(motorB2, 100);

}

void sol()

{

  analogWrite(motorA1, vSpeed);

  analogWrite(motorA2, 150);

  analogWrite(motorB1, 0);

  analogWrite(motorB2, 0);

}

void sag()

{

  analogWrite(motorA1, 0);

  analogWrite(motorA2, 0);

  analogWrite(motorB1, vSpeed);

  analogWrite(motorB2, 150);

}

void dur()

{

  analogWrite(motorA1, 0);

  analogWrite(motorA2, 0);

  analogWrite(motorB1, 0);

  analogWrite(motorB2, 0);

}
 
Moderatör tarafında düzenlendi:
Konu Sah
baris5259

baris5259

Üye
Katılım
1 May 2019
Mesajlar
2
Puanları
1
Yaş
22
Yardımcı olacak kimse yok mu ?
 

Yeni mesajlar

Forum istatistikleri

Konular
118,069
Mesajlar
832,327
Kullanıcılar
429,424
Son üye
13049653472

Yeni konular

Üst