Mesafe ile ilgili kod sıkıntısı yaşıyorum
  • arkadaşlar bir proje üzerinde çalışıyorum isterseniz projemden bahsedeyim. robotun üst kısmına bir servo motor koydum ve servonunda üstüne bir hcsr04 mesafe sensörü koydum. Bluetooth ile telefona bağlanıyorum. ileri butonuna basılınca ileri gidiyor robot ve geri butonuna basınca geri gidiyor sağ, sol mantığıda aynı. işte soru ileri ve geride ileri basında mesafe sensörü yönünü ön tarafa dönderiyor ama mesafeyi algılayınca durmuyor.

    konuyu biraz daha açarsam arkadaşlar mesafeyi arduinoya hesaplattım ve şunu yapmak istiyorum

    -eğer ileri tuşuna basarsam servo öne dönsün ve robot ileri gitsin ve eğer mesafe 30 dan küçük olursa ileri gitmesin.
    -eğer geri tuşuna basarsam servo arkaya dönsün ve robot geri gitsin ve eğer mesafe 15 den küçük olursa geri gitmesin


    kodları atıyorum inceleyip yardım ederseniz sevinirim...


    http://robov1denemesss.tr.gg/

    kodları atmak için açtım bu siteyi prim amaçlı değildir.
  • 1) sensor okuma kodunu şununla degıstır

    digitalWrite(trigger_pin, LOW);
    delayMicroseconds(2);
    digitalWrite(trigger_pin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigger_pin, LOW);
    sure = pulseIn(echo, HIGH);
    mesafe = (sure/2) / 29.1;

    2) sensorden mesafe okduktan sonra;
    mesafe=mesafe_durum yazarsan okudugun degerın ne onemı kalır ? her zaman sanki 30cm mesafe olcuyormus gıbı olur

    mesafe=mesafe_durum satırını kaldır.

    Yani tam anlamıyla söylemek gerekirse

    //MESAFE---------------------------
    digitalWrite(trigger_pin, HIGH) ;
    delayMicroseconds(1000) ;
    digitalWrite(trigger_pin, LOW) ;
    sure = pulseIn(echo_pin, HIGH) ;
    mesafe = (sure/2) / 29.5;
    Serial.println(mesafe);
    mesafe = mesafe_durumu;
    //MESAFE---------------------------

    kodunu,

    //MESAFE---------------------------
    digitalWrite(trigger_pin, LOW);
    delayMicroseconds(2);
    digitalWrite(trigger_pin, HIGH);
    delayMicroseconds(10);
    digitalWrite(trigger_pin, LOW);
    sure = pulseIn(echo, HIGH);
    mesafe = (sure/2) / 29.1;
    Serial.println(mesafe);
    //MESAFE---------------------------

    ile değiştir

    bu şekilde kodun çalışacaktır.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Login with Facebook

Tagged

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.