Duyuru

Çöküş
Henüz duyuru yok

Deneyap

Çöküş
X
 
  • Filtrele
  • Zaman
  • Göster
Hepsini Sil
yeni mesajlar

  • Deneyap

    Merhabalar Arduino İde üzerinden hazıraldığıum kodu yüklemeye çalışırken "Deneyap KArtı için derleme hatası" alıyorum. Kodumda herhangi bir sorun yok gibi gözüküyor. Kodumun amacı 2 ayrı ultrasonik sensörden buzzer ile geri dönüş almak.

    Ayrıca bazı pinleri kullanmaya çalıştığımda hata alıyorum, örneğin TX/RX yerine D3 D4 kullanmaya çalıştığımda hata veriyor. 2 3 amaçlı pinleri kullanmak için ayrı bir kütüphane mi gerekiyor ?



    #include "deneyap.h" //deneyap.h kütüphanemizi import ediyoruz
    #include "hcsr04ESP32.h" //sensör kütüphanesini import ediyoruz

    #define trigPin D0 //sensörün trig ve echo pinlerinin bağlı olduğu pinler tanımlanır
    #define echoPin D1
    #define trigPina D8
    #define echoPinb D9
    #define buzzer D4 //buzzer (+) bacağının bağlı olduğu dijital pin tanımlanır
    #define buzzer2 D12

    UltraSonicDistanceSensor distanceSensora(trigPin, echoPin);
    UltraSonicDistanceSensor distanceSensorb(trigPina echoPinb);// Ultrasonik sensor pin konfigurasyonu

    void setup () {
    Serial.begin(9600); // Seri haberleme baslatildi
    pinMode(buzzer, OUTPUT); //buzzerın bağlı olduğu dijital pin çıkış olarak ayarlanır
    pinMode(buzzer2, OUTPUT);
    }

    void loop () {
    float mesafe = distanceSensora.measureDistanceCm();
    float mesafe2 = distanceSensorb.measureDistanceCm();
    Serial.println(mesafe); // Ultrasonik olcum yapiliyor ve seri terminale veri gonderiliyor
    Serial.println(mesafe2);

    //sensör geçersiz aralıkta (2 cm den az veya 400 cm den fazla) bir ölçüm yapmaya çalıştığında negatif değer döndürür. Bu durumu if bloğunda kontrol ediyoruz

    if (mesafe < 0 ){
    Serial.println("Mesafe ölçülemedi veya geçerli aralıkta değil");
    }
    else{
    //belirli mesafe aralıklarında buzzer dan farklı aralıklarla ses çıkartıyoruz. 20 cm den azsa sürekli, 20 - 40 cm aralığında ise 50 ms aralıklarla, 40 - 60 cm aralığında 100 ms aralıklarla buzzer dan ses çıkartılır. 100 cm den uzunsa ses çıkartılmaz
    if(mesafe<20){
    digitalWrite(buzzer,1);
    }
    else if(mesafe<80){
    delay(50);
    digitalWrite(buzzer,1);
    delay(50);
    digitalWrite(buzzer,0);
    }
    else if(mesafe<120){
    delay(150);
    digitalWrite(buzzer,1);
    delay(150);
    digitalWrite(buzzer,0);
    }
    else if(mesafe<160){
    delay(500);
    digitalWrite(buzzer,1);
    delay(500);
    digitalWrite(buzzer,0);
    }
    else{
    digitalWrite(buzzer,0);
    }
    }

    if (mesafe2 < 0 ){
    Serial.println("Mesafe ölçülemedi veya geçerli aralıkta değil");
    }
    else{
    //belirli mesafe aralıklarında buzzer dan farklı aralıklarla ses çıkartıyoruz. 20 cm den azsa sürekli, 20 - 40 cm aralığında ise 50 ms aralıklarla, 40 - 60 cm aralığında 100 ms aralıklarla buzzer dan ses çıkartılır. 100 cm den uzunsa ses çıkartılmaz
    if(mesafe2 <20){
    digitalWrite(buzzer2,1);
    }
    else if(mesafe2 <80){
    delay(50);
    digitalWrite(buzzer2,HIGH);
    delay(50);
    digitalWrite(buzzer2,LOW);
    }
    else if(mesafe2 <120){
    delay(150);
    digitalWrite(buzzer2,HIGH);
    delay(150);
    digitalWrite(buzzer2,LOW);
    }
    else if(mesafe2 <160){
    delay(500);
    digitalWrite(buzzer2,HIGH);
    delay(500);
    digitalWrite(buzzer2,LOW);
    }
    else{
    digitalWrite(buzzer2,LOW);
    }
    }
    }



  • #2
    Merhabalar,

    Aslı boracetkin tarafından gönderilmiş Mesajı göster

    UltraSonicDistanceSensor distanceSensorb(trigPina echoPinb);// Ultrasonik sensor pin konfigurasyonu
    satırını
    Kod:
    UltraSonicDistanceSensor distanceSensorb(trigPina, echoPinb);
    olacak şekilde değiştirmelisiniz.

    Derleme neticesinde IDE'nin alt kısmındaki uyarı ve hata kodlarını incelediğiniz takdirde sorunun nerden kaynaklı olduğunu tehşis edebilirsiniz.


    Aslı boracetkin tarafından gönderilmiş Mesajı göster

    Ayrıca bazı pinleri kullanmaya çalıştığımda hata alıyorum, örneğin TX/RX yerine D3 D4 kullanmaya çalıştığımda hata veriyor. 2 3 amaçlı pinleri kullanmak için ayrı bir kütüphane mi gerekiyor ?
    Bu husus ile ilgili herhangi bir sorun yok, gerekli tanımlamalar kütüphanede yapılmış durumda. Bir ihtimal, kütüphaneniz eski sürümde kalmış olabilir.

    Yorum Yap


    • #3
      Aslı ozgbostan tarafından gönderilmiş Mesajı göster
      Merhabalar,


      satırını
      Kod:
      UltraSonicDistanceSensor distanceSensorb(trigPina, echoPinb);
      olacak şekilde değiştirmelisiniz.

      Derleme neticesinde IDE'nin alt kısmındaki uyarı ve hata kodlarını incelediğiniz takdirde sorunun nerden kaynaklı olduğunu tehşis edebilirsiniz.




      Bu husus ile ilgili herhangi bir sorun yok, gerekli tanımlamalar kütüphanede yapılmış durumda. Bir ihtimal, kütüphaneniz eski sürümde kalmış olabilir.
      ozgbostan Teşekkür ederim fakat şuanda A fatal error occurred: Failed to connect to ESP32: Invalid head of packet (0xFC) hatası alıyorum ne yapmalıyım ?
      En son düzenleyen boracetkin; 08-22-2021, 09:53 PM.

      Yorum Yap


      • #4
        Aslı boracetkin tarafından gönderilmiş Mesajı göster

        ozgbostan Teşekkür ederim fakat şuanda A fatal error occurred: Failed to connect to ESP32: Invalid head of packet (0xFC) hatası alıyorum ne yapmalıyım ?
        RX ve TX pinlerine denk gelen bir bağlantınız var mı, onu kontrol edebilirsiniz. Var ise başka pinler ile değiştirmeniz gerekmektedir.

        Yorum Yap


        • #5
          Aslı ozgbostan tarafından gönderilmiş Mesajı göster

          RX ve TX pinlerine denk gelen bir bağlantınız var mı, onu kontrol edebilirsiniz. Var ise başka pinler ile değiştirmeniz gerekmektedir.
          Evet RX ve TX i D2 D3 olarak kullanmaya çalıştım. Dökümantasyonda D2 ve D3 pinlerine bağlı olduğu yazıyordu.

          Yorum Yap


          • #6
            Aslı ozgbostan tarafından gönderilmiş Mesajı göster

            RX ve TX pinlerine denk gelen bir bağlantınız var mı, onu kontrol edebilirsiniz. Var ise başka pinler ile değiştirmeniz gerekmektedir.
            Sorunum çözüldü teşekkür ederim. Fakat şuanda aşağıdaki kodu sizin dediklerinize göre düzeltip attım ama herhangi bir hareketlenme olmuyor sistemde. Pinlerin yerlerini kontrol ettim. @ozgbostan


            #include "deneyap.h" //deneyap.h kütüphanemizi import ediyoruz
            #include "hcsr04ESP32.h" //sensör kütüphanesini import ediyoruz

            #define trigPin D0 //sensörün trig ve echo pinlerinin bağlı olduğu pinler tanımlanır
            #define echoPin D1
            #define trigPina D8
            #define echoPinb D9
            #define buzzer D4 //buzzer (+) bacağının bağlı olduğu dijital pin tanımlanır
            #define buzzer2 D5

            UltraSonicDistanceSensor distanceSensora(trigPin, echoPin);
            UltraSonicDistanceSensor distanceSensorb(trigPina, echoPinb); // Ultrasonik sensor pin konfigurasyonu

            void setup () {
            Serial.begin(9600); // Seri haberleme baslatildi
            pinMode(buzzer, OUTPUT); //buzzerın bağlı olduğu dijital pin çıkış olarak ayarlanır
            pinMode(buzzer2, OUTPUT);
            }

            void loop () {
            float mesafe = distanceSensora.measureDistanceCm();
            float mesafe2 = distanceSensorb.measureDistanceCm();
            Serial.println(mesafe); // Ultrasonik olcum yapiliyor ve seri terminale veri gonderiliyor
            Serial.println(mesafe2);

            //sensör geçersiz aralıkta (2 cm den az veya 400 cm den fazla) bir ölçüm yapmaya çalıştığında negatif değer döndürür. Bu durumu if bloğunda kontrol ediyoruz

            if (mesafe < 0 ){
            Serial.println("Mesafe ölçülemedi veya geçerli aralıkta değil");
            }
            else{
            //belirli mesafe aralıklarında buzzer dan farklı aralıklarla ses çıkartıyoruz. 20 cm den azsa sürekli, 20 - 40 cm aralığında ise 50 ms aralıklarla, 40 - 60 cm aralığında 100 ms aralıklarla buzzer dan ses çıkartılır. 100 cm den uzunsa ses çıkartılmaz
            if(mesafe<20){
            digitalWrite(buzzer,1);
            }
            else if(mesafe<80){
            delay(50);
            digitalWrite(buzzer,1);
            delay(50);
            digitalWrite(buzzer,0);
            }
            else if(mesafe<120){
            delay(150);
            digitalWrite(buzzer,1);
            delay(150);
            digitalWrite(buzzer,0);
            }
            else if(mesafe<160){
            delay(500);
            digitalWrite(buzzer,1);
            delay(500);
            digitalWrite(buzzer,0);
            }
            else{
            digitalWrite(buzzer,0);
            }
            }

            if (mesafe2 < 0 ){
            Serial.println("Mesafe ölçülemedi veya geçerli aralıkta değil");
            }
            else{
            //belirli mesafe aralıklarında buzzer dan farklı aralıklarla ses çıkartıyoruz. 20 cm den azsa sürekli, 20 - 40 cm aralığında ise 50 ms aralıklarla, 40 - 60 cm aralığında 100 ms aralıklarla buzzer dan ses çıkartılır. 100 cm den uzunsa ses çıkartılmaz
            if(mesafe2 <20){
            digitalWrite(buzzer2,1);
            }
            else if(mesafe2 <80){
            delay(50);
            digitalWrite(buzzer2,1);
            delay(50);
            digitalWrite(buzzer2,0);
            }
            else if(mesafe2 <120){
            delay(150);
            digitalWrite(buzzer2,1);
            delay(150);
            digitalWrite(buzzer2,0);
            }
            else if(mesafe2 <160){
            delay(500);
            digitalWrite(buzzer2,1);
            delay(500);
            digitalWrite(buzzer2,0);
            }
            else{
            digitalWrite(buzzer2,0);
            }
            }
            }

            Yorum Yap

            Hazırlanıyor...
            X