Arduino Temelleri 7: Arduino ile Basit Park Sensörü Yapımı

Herkese merhabalar ! Arduino Dersleri serimizin bu yazısında sizlere ultrasonik sensörün çalışma prensibinden bahsedeceğiz. Sonrasında birlikte ultrasonik mesafe sensörü devreleri kurup, uygulamalarımızı yapacağız.

Bir önceki yazımızda NTC Sensörü kullanımından bahsetmiştik >>> Arduino ve NTC Sensörü ile Sıcaklık Ölçümü

HC-SR04 Ultrasonik Mesafe Sensörü Nedir?

Arduino gibi geliştirme kartlarında kullanılmak üzere tasarlanmış olan bu sensör, gerek ucuz olması, gerek kullanım kolaylığından dolayı çoğu robotik projelerinde yer alan bir mesafe ölçüm sensörüdür.   

Üretici firmanın mermiş oldupu bilgiye göre bu sensör 2 cm- 400 cm arasında %1 hata payıyla ölçüm yapabilmektedir.  Ama kullanıcı deneyimlerine bakarak konuşursak, en verimli ölçüm yaptığı mesafe 2 – 200 cm arasındadır.

HC-SR04 Ultrasonik Mesafe Sensörü Özellikleri Ve Pin Çıkışları

Teknik Özellikleri

Çalışma GerilimiDC 5V
Çalışma Akımı15mA
Çalışma Frekansı40KHz
Maksimum Ölçüm4m
Minimum Ölçüm2cm
Ölçüm Aralığı3mm
Ölçüm Açısı15 derece
Tetikleyici Giriş Sinyali10µS TTL
Boyut45 x 20 x 15 mm

HC-SR04 Ultrasonik Sensör Pinout

HC-SR04 Pinout
HC-SR04 Pinout

VCC Arduino’ya 5V pin bağladığımız HC-SR04 Ultrasonik mesafe sensörü için güç kaynağıdır.

Trig (Trigger) pini, ultrasonik ses sinyallerini tetiklemek için kullanılır.

Echo pini, yansıtılan sinyal alındığında bir BPM üretir. Pulse uzunluğu, iletilen sinyalin algılanması için geçen süre ile orantılıdır.

GND Arduino topraklarına bağlanmalıdır.

Mesafe Sensörünün Çalışma Prensibi

HC-SR04 sensörünün çalışma prensibi şu şekildedir ;

Sensörün Trig pininden uygulanan sinyal 40 kHz frekansında ultrasonik bir ses yayılmasını sağlar. Bu ses dalgası herhangi bir cisme çarpıp sensöre geri döndüğünde, Echo pini aktif hale gelir. Biz ise bu iki sinyal arasındaki süreyi ölçerek yani sesin yankısını algılayarak cismin sensörden uzaklığını tespit edebiliriz.

Arduino İle HC-SR04 Ultrasonik Mesafe Sensörü Kullanımı

Ultrasonik mesafe sensörünün çalışma prensibini anladığımıza göre Arduino ile örnek bir proje yapabiliriz.

HC-SR04’ü Arduino’ya bağlamak oldukça kolaydır. Sensörü breadboard’unuza yerleştirmenizi öneririm. Çünkü ufak bir temassızlık durumunda sensörünüz doğru veri sağlamayacaktır.

Gerekli Malzemeler;

Arduino HC - SR04 bağlantı şeması
Arduino HC – SR04 bağlantı şeması

Yukarıdaki devre şemasında göründüğü gibi VCC pinini Arduino’daki 5V pinine, GND pinini Arduino’daki Toprak pinine bağlayın.

Trig pinini Arduino’nun 9. dijital pine, echo pinini ise arduinonun 10. dijital pine bağlayınız.

Devre bağlantısını yaptıktan sonra, gerekli kütüphaneleri kurma kısmına geçebiliriz.

HC-SR04 Ultrasonik Mesafe Sensörü Kütüphanesini Ekleme

Ultrasonik sensörü tetiklemek ve alınan sinyal darbe genişliğini manuel olarak ölçmek için bir kütüphane kullanacağız. Birden fazla kütüphane mevcut ancak en popüler ve kullanışlı olanı newping kütüphanesini ekleyeceğiz.

İndirdiğiniz kütüphaneyi Arduino ide’ye eklemek için “Taslak > Library ekle > Zip Kitaplığı Ekle…“ sekmelerini takip ederek kütüphane yöneticisini açalım ;

Arduino Ide Taslak Menüsü
Arduino Ide Taslak Menüsü

Açılan pencerede indirdiğiniz zip dosyasını bulup seçin. Zip dosyasını seçmeniz yeterli olacaktır, otomatik olarak kütüphane Arduino ide’ye eklenecektir.

Arduino Ide Kütüphane Çağırma Sayfası
Arduino Ide Kütüphane Çağırma Sayfası

Kütüphane dosyanız bu şekilde yüklendiği zaman sol alt köşede “yüklendi” yazısı çıkması gerekir.

Arduino Ide Arayüzü
Arduino Ide Arayüzü

Kütüphanenin yüklendiğinden emin olmak için manuel kontrol yapabilirsiniz.

Manüel kontrol nasıl yapılır bilmiyorsanız, Arduino ide’ye nasıl kütüphane yüklenir konulu blog yazımızı buradan okumanızı tavsiye ederim.

Kütüphane ekleme işlemi bittikten sonra alt tarafta verdiğim kodları Arduino’nuza yükleyebilirsiniz.

// This uses Serial Monitor to display Range Finder distance readings
// Include NewPing Library
#include "NewPing.h"
// Hook up HC-SR04 with Trig to Arduino Pin 9, Echo to Arduino pin 10
#define TRIGGER_PIN 9
#define ECHO_PIN 10
// Maximum distance we want to ping for (in centimeters).
#define MAX_DISTANCE 400  
// NewPing setup of pins and maximum distance.
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
float duration, distance;
void setup() 
{
  Serial.begin(9600);
}
void loop() 
{
  // Send ping, get distance in cm
  distance = sonar.ping_cm();
  
  // Send results to Serial Monitor
  Serial.print("Mesafe = ");
  
  if (distance >= 400 || distance <= 2) 
  {
    Serial.println("Out of range");
  }
  else 
  {
    Serial.print(distance);
    Serial.println(" cm");
  }
  delay(500);
}

Kodu yükledikten sonra, bir hata olmaz ise serial monitörde bu görüntüyü almanız lazım.

Arduino serial monitör
Arduino serial monitör

Arduino ile Basit Park Sensörü Yapımı

Arduino Park Sensörü Yapımı

Diğer bütün sensörler hakkında bilgi almak için yazımızı inceleyin >>> Sensör Nedir? Sensör Çeşitleri Nelerdir?

191 thoughts on “Arduino Temelleri 7: Arduino ile Basit Park Sensörü Yapımı”

  1. omer serdaroglu

    buzzer yerine servo motor koyarsam programda ne gibi bir degisiklige gitmem gerekli.
    Daha once HC-SR04 ve servo motoru ayri ayri kullandim derste ama ikisini nasil kullanacagimi cozemedim. Yardimci olabilirmisniz?

  2. Ata Yolgeçen

    Merhaba ben bu projeyi yaptım birebir aynısı fakat sensörün önüne cisim koyunca ses çıkmıyor. Fakat devreden çok az bir tonda tık tık sesi geliyor

    1. Daha düşük bir direnç kullanırsanız veya direnci çıkartırsanız ses artar fakat buzzerın ömrü azalır

      1. kod sıkıntılı evet bende çalışan kodu paylaşmak istiyorum
        #define echoPin 6
        #define trigPin 7
        #define buzzerPin 8

        int maximumRange = 50;
        int minimumRange = 0;

        void setup() {
        pinMode(trigPin, OUTPUT);
        pinMode(echoPin, INPUT);
        pinMode(buzzerPin, OUTPUT);

        }

        void loop() {

        int olcum = mesafe(maximumRange, minimumRange);
        melodi(olcum*10);

        }

        int mesafe(int maxrange, int minrange)
        {
        long duration, distance;

        digitalWrite(trigPin,LOW);
        delayMicroseconds(2);
        digitalWrite(trigPin,HIGH);
        delayMicroseconds(10);
        digitalWrite(trigPin,LOW);

        duration = pulseIn(echoPin, HIGH);
        distance = duration / 58.2;
        delay(50);

        if(distance >= maxrange || distance <= minrange)
        return 0;
        return distance;
        }

        int melodi(int dly)
        {
        tone(buzzerPin, 440);
        delay(dly);
        noTone(buzzerPin);
        delay(dly);
        }

    2. Buzzer için kullanılan tone ve notone komutları yerine dijitalWrite komutu kullanın
      dijitalWrite (buzzerPin, HIGH);
      dijitalWrite (buzzerPin, LOW);
      Şeklinde değiştirin. Aktif buzzer ve pasif buzzer farkından kaynaklanır, zayıf ses.

  3. ÖNEMLİ!!!
    anlatılanları bire bir uyguladım. direnç kullanınca buzzerdan çok zayıf bir ses geliyor. direnci çıkartınca buzzer normal ses çıkartıyor ama normalde olması gereken belirli periyotlarla bip bip yapacağına sadece biiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiip diye sonu gelmeyen bir çınlama duyuluyor. ne yapmam gerekir

  4. abi ben yaptım ama olmuyor.hocama sordum önce sensör e bir program yüklememiz gerekiyormuş.doğrumudur acaba?

      1. Hasan TÜRKMEN

        Selam cümleten iyi akşamlar Benim sorum olacak Mesafe sensörü yazılımı yazdım ama sorun cıktı. int olcum = mesafe(maxsimumRange, mımımumRange); nasıl aşarım sorunu LÜTFEN yardım. Saygılarımla.

        1. Kerem İzgöl

          Selamlar, aldığınız hatayı tam olarak yazabilirseniz yardımcı olmamız daha mümkün olacaktır.

          1. Arduino:1.8.6 Hourly Build 2018/01/03 03:33 (Windows 7), Kart:”Arduino/Genuino Uno”

            Çalışmanız programın 2738 bayt (8 %) saklama alanını kullandı. Maksimum 32256 bayt.
            Global değişkenler belleğin 32 byte kadarını (1%) kullanıyor. Yerel değişkenler için 2016 byte yer kalıyor. En fazla 2048 byte kullanılabilir.
            Taslak yüklenirken bir hata oluştu

            This report would have more information with
            “Show verbose output during compilation”
            option enabled in File -> Preferences.
            neden u hata

          2. aynı orun bende de oldu ne yapmalıyım int olcum = mesafe(maximumRange, minimumRange); hata veriyor ne yapmalıyım

          3. Deniz Poyraz Soykıray

            Araçlardan port konumunuza bakın belki onda bir yanlışlık olmuş olabilir.

  5. LÜTFEN YARDIM EDİN
    Arduino:1.8.0 (Windows 10), Kart:”Arduino/Genuino Uno”

    Çalışmanız programın 2738 bayt (8 %) saklama alanını kullandı. Maksimum 32256 bayt.
    Global değişkenler belleğin 32 byte kadarını (1%) kullanıyor. Yerel değişkenler için 2016 byte yer kalıyor. En fazla 2048 byte kullanılabilir.
    avrdude: ser_open(): can’t open device “\\.\COM1”: Sistem belirtilen dosyayı bulamıyor.

    Karta yüklenirken sorun oluştu. Tavsiyeler için http://www.arduino.cc/en/Guide/Troubleshooting#upload adresine göz atabilirsiniz.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    1. Kerem İzgöl

      Arduino’nuza kod yüklemeden önce doğru COM portunu seçmemişsiniz. Arduino sürücülerinin doğru yüklendiğinden emin olun ve aşağıda gösterilen menü altından doğru com portunu seçin:

      1. @Kerem İzgöl
        Ben İf ile Tradfik lambası falan yapmayı fln planlıyorum da if komudunu yazıyorum ama kod sürekli çalışıyor Sebebi Nedir

        1. Merhaba,ben de trafik lambası yapmayı planladım ve “if” komutu olmadan yaptım.Sadece “digitalWrite” ve “delay” komutlarıyla yapabilirsin.Nasıl yapacağını bilmiyorsan yazdığım kodu atabilirim:
          int a = 9;
          int b = 10;
          int c = 11;
          void setup() {
          pinMode(a,OUTPUT);
          pinMode(b,OUTPUT);
          pinMode(c,OUTPUT);
          }
          void loop() {
          digitalWrite(a,HIGH);
          delay(15000);
          digitalWrite(a,LOW);
          delay(100);
          digitalWrite(b,HIGH);
          delay(2000);
          digitalWrite(b,LOW);
          delay(100);
          digitalWrite(c,HIGH);
          delay(10000);
          digitalWrite(c,LOW);
          delay(100);

          }
          ve eğer istersen süreyi değiştirebilir veya pin ve kod tanımlamasını farklı adlandırabilirsin.Ben bir oyuncak arabayla test ettim ve gerçek bir trafik lambası gibi çalıştığını gördüm.👍İyi çalışmalar!😀

  6. belirtilenleri bire bir uyguladım ama ilk önce kesintisiz bir bip sesi duyuluyor ve yaklaştıkça kesik kesik gelmeye başlıyor.İlk önce 50 cm uzaklıkta bir cisim yoksa sessiz olması gerekmezmi?

    1. Kerem İzgöl

      COM4 veya başka bir numara olması tamamen sizin bilgisayarınız ile alakalıdır. Sizin Arduino’nuzun bağlı olduğu COM portunu seçmelisiniz. Aygıt yöneticisi’ne girip buradan bulmanız da mümkündür:

  7. Merhabalar aynı devreyi şemadaki gibi kurmama rağmen gücü verdiğim zaman arduino nun ışıkları düşük seviyede yanıp sönüyor, bilgisayara taktığımda ise tanımıyor. Ardunio üstündeki sensöre bağlı olan jumperları çıkarınca bilgisayar arduino yu algılıyor. Sebebi nedir sizce?

    1. Kerem İzgöl

      Bağlantılarınızdan kaynaklı bir sorun olabilir. Bağlantılarınızdan emin iseniz, kullandığınız sensörün bozuk olma ihtimali de mevcuttur.

  8. Bu yazılımı mblock ta aynısını nasıl yapabilirim yardımcı olabilirmisiniz şemasını yazıp atabilirmisiniz :))

  9. merhaba ben buzzerr yerine kulaklık takmak istiyorum kulaklığı nasıl bağlayabilirim ve kodda ne gibi değişiklik yapmam gerekiyor

    1. Kerem İzgöl

      Kulaklığın empedansı buzzer’a göre daha yüksek olacağından büyük ihtimalle oldukça düşük seviyede ses çıkışı alacaksınız. Bu durumun önüne geçmek için bir amfi kartı kullanabilirsiniz.

        1. Kerem İzgöl

          5V bağlantısının olduğu taraf giriş tarafıdır. L ve R sırasıyla sol ve sağ kanal girişlerini gösterir. L ve R girişlerinin ortasındaki bağlantı toprak (GND) içindir. Kartın OUT yazan kısmındaki L ve R ile gösterilen kısım ise sırasıyla sol ve sağ çıkışları gösterir. Bu tarafta her bir hoparlörün + ve – pinleri ayrı olarak yer almaktadır.

  10. Merhaba ikinci kırmızı jumperı takınca arduinonun ışıkları sönüyor çıkarınca tekrar yanıyor ben ne yapacağım neden böyle oluyor

    1. Kerem İzgöl

      Bahsettiğiniz durum ters gerilim veya kısa devreye benziyor. HC-SR04 modülünüzdeki VCC ve GND pinlerinin ters olmadığına dikkat ediniz.

        1. Şey az önce dediğim şey düzeldi şimdi ben bide yaklaştıkça ledin yanıp sönmesi ve uzaklanşınca tamamen sönmesini istiyorum onu nasıl yapıcam

          1. Tarık Mert Özberk (PROGRAMMER)

            Bu konuyu araştırdım.

            Şöyle bir şey yapabilirsiniz 🙂

            malzemeler:

            ARDUINO UNO
            4 ADET LED (istediğiniz renk)
            5 ADET 220 OHM DİRENÇ
            1 ADET BUZZER
            BREAD BOARD
            YETERİ KADAR JUMPER KABLO (erkek olmasını öneririm)

            FRİTİZİNG PROJESİ (veya devre şeması):

            Buradan indirin 🙂 :
            https://www.sendspace.com/file/n39cb5

            kopyala yapıştır

            KODLAR 🙂 🙂 :

            const int trigger_pin = 12;
            const int echo_pin = 13;
            const int aled = 2;
            const int bled = 3;
            const int cled = 4;
            const int dled = 5;
            const int buzzer = 6;
            int sure ;
            int mesafe ;

            void setup() {
            pinMode(aled , OUTPUT);
            pinMode(bled , OUTPUT);
            pinMode(cled , OUTPUT);
            pinMode(dled , OUTPUT);
            pinMode(buzzer , OUTPUT);
            pinMode(trigger_pin , OUTPUT);
            pinMode(echo_pin ,INPUT);
            Serial.begin(9600);

            }

            void loop()
            {
            digitalWrite(trigger_pin , HIGH);
            delayMicroseconds(1000);
            digitalWrite(trigger_pin , LOW);
            sure = pulseIn(echo_pin , HIGH);
            mesafe = (sure/2) / 29.1;

            if (mesafe <= 10)
            {
            digitalWrite(aled , HIGH);
            digitalWrite(buzzer , HIGH);
            delay(250);
            digitalWrite(aled , LOW);
            digitalWrite(buzzer , LOW);
            }
            else if (mesafe <=25)
            {
            digitalWrite(bled , HIGH);
            digitalWrite(buzzer , HIGH);
            delay(500);
            digitalWrite(bled , LOW);
            digitalWrite(buzzer , LOW);
            }
            else if ( mesafe <=50)
            {
            digitalWrite(cled , HIGH);
            digitalWrite(buzzer , HIGH);
            delay(750);
            digitalWrite(cled , LOW);
            digitalWrite(buzzer , LOW);
            }
            else
            {
            digitalWrite(dled , HIGH);
            delay(1000);
            digitalWrite(dled , LOW);

            }
            }

            projeniz böyle

  11. merhaba
    arduino 1.8.2 programını kullanıyorum ve bilgisayarım windows 8 (windows 10 da da denendi)
    Fakat ;
    Çalışmanız programın 2738 bayt (8 %) saklama alanını kullandı. Maksimum 32256 bayt.
    Global değişkenler belleğin 32 byte kadarını (1%) kullanıyor. Yerel değişkenler için 2016 byte yer kalıyor. En fazla 2048 byte kullanılabilir.

    böyle bir hata alıyorum com portu sectim COM6 olarak görüyor bende. Sürücülerim güncel,
    bağlantı kablosunu da değiştirdim hatta sorun karttadır diye yenisini aldım ancak bir türlü düzelmedi.
    Yeni yazılım mı gerekiyor yoksa başka bir çözümü var mı ?
    Şimdiden teşekkürler

    1. Kerem İzgöl

      Yazmış olduğunuz mesaj bir hata mesajı değildir, bu yazılar normal kod yükleme prosedürü içersinde görmeniz gereken yazılardır.

  12. Tarık Mert Özberk (PROGRAMMER)

    Eğer projede sorun çıkarsa özür dilerim 🙁 🙁

    İşinize yaramasını diliyorum 🙂

  13. denetlediğim zaman Arduino:1.8.1 (Windows XP), Kart:”Arduino/Genuino Uno”

    collect2.exe: error: ld returned 5 exit status

    exit status 1
    Error compiling for board Arduino/Genuino Uno.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    hatasını alıyorum yardım edin lütfen

  14. Devre enerji geldiği zaman biranda sensör dereye giriyor ve uzun ne olursa olsun 0 cm yazıyor.. Ben cm yaklaştıkca hem led yanancak 15 cm altına
    düştükçe buzzerden ses gelmesini istiyorum .. Ama devreye enerji verilince biranda sensör 0 cm diyor .. nasıl düzeltilir ..

  15. Bu kısımda yazım hatanız var.”üretmeseler” yazılması gereken yere “üremeseler” yazılmış.
    “Buzzer dediğimiz devre elemanını ufak bir hoparlör olarak düşünebiliriz. Hoparlörler kadar yüksek ve detaylı ses üremeseler de, “bip” leme seslerini çıkartmada oldukça başarılıdırlar.”

  16. İyi günler, ben aynı mesafe sensörünü pro mini ile yapmaya çalışıyorum, Bilgisayara bağlıyken normal çalışıyor. Ancak pil bağladığımda önünde engel yokken dahi engel varmış gibi uyarı veriyor.

  17. yiğit taşkın

    kali linux 2017.1 versiyonuna nasıl arduinı ıde kurabilirim yada kali linuxun hangi versiyonunda arduino ıde var

  18. merhaba burada vermiş olduğunuz park sensörü devresi,ndeki HC-SR04 ultrasonik mesafe sensörü parçasının yerine endüktif sensörü baglantısı yapılsa olurmu olursa kaç metre mesafeyi okur teşekkürler

    1. Kerem İzgöl

      Malesef dediğiniz şekilde bir kullanım mümkün olmayacaktır. İndüktif sensörler (örn. LJ18A3-8-Z/BY ve LJ12A3-4-Z/BX) metal cisimleri algılamada kullanılır ve algılama mesafeleri ürün açıklamalarında da görebileceğiniz üzere 1cm’den bile kısadır. Ayrıca cisim algılandığında sensörün çıkış pini doğrudan lojik 1 olacaktır, yani mesafeye göre artıp azalan bir sonuç elde etmeniz mümkün değildir.

    1. Kerem İzgöl

      int melody(int dly) fonksiyonunda yer alan delay(dly); satırlarını delay(50-dly); olarak değiştirin.

  19. Arduino:1.8.5 (Windows 8.1), Kart:”Arduino/Genuino Uno”

    C:\Users\Ä°lker\Downloads\Trafik_Lambas__kodu\ultrasonik_park_sensoru.ino: In function ‘void setup()’:

    ultrasonik_park_sensoru:11: error: redefinition of ‘void setup()’

    C:\Users\Ä°lker\Downloads\Trafik_Lambas__kodu\Trafik_Lambas__kodu.ino:5:6: note: ‘void setup()’ previously defined here

    C:\Users\Ä°lker\Downloads\Trafik_Lambas__kodu\ultrasonik_park_sensoru.ino: In function ‘void loop()’:

    ultrasonik_park_sensoru:23: error: redefinition of ‘void loop()’

    C:\Users\Ä°lker\Downloads\Trafik_Lambas__kodu\Trafik_Lambas__kodu.ino:11:6: note: ‘void loop()’ previously defined here
    HATA ALIYORUM !!!
    exit status 1
    redefinition of ‘void setup()’

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

  20. mesafe ölçmesi çok dengesiz belirli santimlerde bir kere ötüyor onun duşında ötmüyor tır tır ses geliyor sorun nedir acaba

      1. Şey peki daha az direnç kullansam ses artmaz mı, buzzer ı bozmamam için ne kadar direnç kullanabilirim en az bunu da cevaplarsanız çok sevinirim

        1. Kerem İzgöl

          Daha düşük direnç -> buzzer üzerinden daha fazla akım geçmesi, dolayısıyla daha yüksek ses. Arduino en fazla 50mA akım sağlayabilir, bu değeri aşmamanız buzzer’dan daha çok Arduino’nun zarar görmemesi içindir. En sağlıklı yöntem ise vermiş olduğum transistörlü sürücü devresini kurmaktır.

  21. Lütfen Yardım Edin HOCAM!!!
    Arduino:1.8.5 (Windows Vista), Kart:”Arduino/Genuino Uno”

    avr-g++: error: CreateProcess: No such file or directory

    exit status 1
    Error compiling for board Arduino/Genuino Uno.

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.
    Bütün herşeyi Yapmama Rağmen Bu Hatayı Veriyor

    1. Kerem İzgöl

      Buzzer’ın + ucunu Arduino’nun 8 numaralı dijital pinine, – ucunu da 100-330 Ohm arası değerinde bir direnç ile GND pinlerinden herhangi birisine bağlayın.

  22. sensördeki ölçümü nasıl sesli duyabilirim kulaklıga mesela 3 metre 2 metre diye nasıl yaparım yardımcı olurmusunuz

  23. Arduino:1.8.5 (Windows 10), Kart:”Arduino/Genuino Uno”

    C:\Users\Bayhantm\Desktop\arduino kodlamalar\sketch_apr02a\park sensori\sketch_apr02a\sketch_apr02a.ino: In function ‘void setup()’:

    sketch_apr02a:8: error: ‘trigPin’ was not declared in this scope

    pinMode(trigPin, OUTPUT);

    ^

    sketch_apr02a:9: error: ‘echoPin’ was not declared in this scope

    pinMode(echoPin INPUT);

    ^

    In file included from sketch\sketch_apr02a.ino.cpp:1:0:

    C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:44:16: error: expected ‘)’ before numeric constant

    #define OUTPUT 0x1

    ^

    C:\Users\Bayhantm\Desktop\arduino kodlamalar\sketch_apr02a\park sensori\sketch_apr02a\sketch_apr02a.ino:10:20: note: in expansion of macro ‘OUTPUT’

    pinMode(buzzerPin OUTPUT);

    ^

    sketch_apr02a:10: error: too few arguments to function ‘void pinMode(uint8_t, uint8_t)’

    pinMode(buzzerPin OUTPUT);

    ^

    In file included from sketch\sketch_apr02a.ino.cpp:1:0:

    C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:133:6: note: declared here

    void pinMode(uint8_t, uint8_t);

    ^

    C:\Users\Bayhantm\Desktop\arduino kodlamalar\sketch_apr02a\park sensori\sketch_apr02a\sketch_apr02a.ino: In function ‘void loop()’:

    sketch_apr02a:18: error: ‘meleodi’ was not declared in this scope

    meleodi(olcum*10);

    ^

    C:\Users\Bayhantm\Desktop\arduino kodlamalar\sketch_apr02a\park sensori\sketch_apr02a\sketch_apr02a.ino: In function ‘int mesafe(int, int)’:

    sketch_apr02a:23: error: ‘trigPin’ was not declared in this scope

    digitalWrite(trigPin,LOW);

    ^

    sketch_apr02a:28: error: ‘echoPin’ was not declared in this scope

    duration=pulseln(echoPin,HIGH);

    ^

    sketch_apr02a:28: error: ‘pulseln’ was not declared in this scope

    duration=pulseln(echoPin,HIGH);

    ^

    sketch_apr02a:29: error: ‘distence’ was not declared in this scope

    distence=duration/58.2;

    ^
    merhabalar ben böle bir hata aldım hatayı bulamadım yardımcı olurmusunuz
    exit status 1
    ‘trigPin’ was not declared in this scope

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    1. Kerem İzgöl

      Arduino IDE yazılımınız ile ilgili bir sorun gibi görünüyor, silip tekrardan yüklemeyi dener misiniz?

  24. kodunuz süper çalışıyor lcd (2×16) bir türlü basılmıyor lcd sinide verirmisiniz acaba başka sitelerde hiç biri çalışmıyor

    1. Kerem İzgöl

      Bu program proje olarak kullanmanızdan ziyade, Arduino programlama öğrenebilmeniz için yazılmıştır. Mükemmel çalışacağının garantisini veremeyiz, fakat doğru şekilde montaj yapmanız ve programlamanız sonucunda buzzer, ultrasonik sensör gibi devre elemanlarının çalışmasını öğrenmenize yardımcı olacak şekilde temel bir kullanım sunacaktır.

  25. arduıno programında 1.8.5 surumunde araclarda port bolumunun ustu silik ve gırılmıyor yardım edın lutfen

  26. Uygulamayı yazan Kerem İZGÖL’ e teşekkür ederim.
    Park sensörü uygulaması için mevcut kodları düzenleyerek aşağıdaki kodları kullandım.

    ÖZELİKLERİ:
    Mesafe 80cm den itibaren algılayarak ötmeye başlıyor.
    Buzzer frekansı 700 yapıldı.
    Mesafe 5cm den(dly= 5×7=35 dly <35 kısmı) aşağıya indiğinde sesin sürekli çıkması sağlanıyor.
    mesafe fonksiyonunda 10 çarpanı yerine 7 kullanıldı. mesafe(olcum * 7);
    Bu şekilde daha iyi olduğunu düşünüyorum. Yardımda bulunan öğretmenim Ertaç ÖZENÇ'e de teşekkürlerimi sunarım.
    İyi çalışmalar.

    Kadir DİNÇ
    Aydın Mesleki ve Teknik Anadolu Lisesi
    10-B Sınıfı Öğrencisi

  27. Uygulamayı yazan Kerem İZGÖL’ e teşekkür ederim.
    Park sensörü uygulaması için mevcut kodları düzenleyerek aşağıdaki kodları kullandım.

    ÖZELİKLERİ:
    Mesafe 80cm den itibaren algılayarak ötmeye başlıyor.
    Buzzer frekansı 700 yapıldı.
    Mesafe 5cm den(dly= 5×7=35 dly = maxrange || distance <= minrange)
    return 0;
    return distance;
    }

    int melodi(int dly)
    {
    tone(buzzerPin, 700);
    delay(dly);
    if (dly35)
    {
    noTone(buzzerPin);
    delay(dly);
    }
    }

    1. Kerem İzgöl

      Küçük boyutlu bir hoparlör bağlarsanız büyük ihtimalle bir sorun olmayacaktır. Fakat yine de burada verilen şekilde bir sürücü devre ile hoparlörü sürmenizi tavsiye ederiz. Transistör olarak 2N2222 veya BC547 kullanabilirsiniz.

  28. BU HATAYI ALIYORUM LÜTFEN YARDIM EDİN
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0xe2
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0xe2
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0xe2
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0xe2
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xe2
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0xe2
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0xe2
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0xe2
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0xe2
    avrdude: stk500_recv(): programmer is not responding
    avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xe2
    Karta yüklenirken sorun oluştu. Tavsiyeler için http://www.arduino.cc/en/Guide/Troubleshooting#upload adresine göz atabilirsiniz.

  29. int melody(int dly) bu fonksiyondaki dly tam olarak nedir. her hangi bir tanımlaması yok galiba, burayı tam anlayamadım. bir de melodi(olcum*10) neyi ifade etmektedir?

  30. int melody(int dly) bu fonksiyondaki dly tam olarak nedir. her hangi bir tanımlaması yok galiba, burayı tam anlayamadım. birde melodi(olcum*10) neyi ifade etmektedir?

  31. ben kodların aynısını kopyala yapıştır yazıyorum ancak bazı yerlerde hata veriyor bunu nasıl düzeltebilirim

  32. SIM808 GSM/GPS Shield hakında bir bilgin varsa SIM 808 ile ilgili açıklayıcı bir proje yapabilir misin

  33. Şu şekilde yazmamız mümkün mü ? bana şöyle bir şey lazım; Buzzer ın mesafe sabit kaldığında ses vermesini istiyorum onun dışında ses vermesini istemiyorum .örneğin mesafe 3 saniye boyunca hiç değişmiyorsa sabitse ses almak istiyorum. Mümkün mü mümkün ise kodu değiştirmeye çalışacağım tecrübem az olmasına rağmen kodu söylerseniz tabiki çok iyi olur ama en azından mümkün olup olmadığını bilmek iyi olacak benim için.

    1. Alperen Kopuz

      Merhaba, bağlantıları yazıdaki gibi yaptıktan sonra buradaki kodu doğrudan kullanabilirsiniz. Elle yazmak pratik açısından daha iyi tabii 🙂

  34. aynısını yapınca çalışmayan diyen arkadaşlar direnci sökün o sesini kısıyor. Bir de dirençsiz deneyin. Zaten kodlama burada mevcut.

  35. hamza yağmur

    Ben final ödevi olarak radar projesi yapıyorum ve radarın üzerine ledler ve bluetut modülü koycaktım ama servomotor döndükden sonra ledler yanıyor bu sorunu bir türlü hal edemiyor acaba yardım edrmisiniz.

  36. bu hatanın nedeni nedir
    Arduino:1.8.10 (Windows 7), Kart:”Arduino/Genuino Uno”

    Çalışmanız programın 2690 bayt (8 %) saklama alanını kullandı. Maksimum 32256 bayt.
    Global değişkenler belleğin 28 byte kadarını (1%) kullanıyor. Yerel değişkenler için 2020 byte yer kalıyor. En fazla 2048 byte kullanılabilir.
    Taslak yüklenirken bir hata oluştu
    avrdude: ser_open(): can’t set com-state for “\\.\COM3”

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

  37. genelde ilk seferde çalışmamasının en büyük nedenlerinden birisi buzzer’ın artısını hem 5v hem dijitalpinlere bağlamaktan kaynaklanıyor, o zaman sürekli ses geliyor buzzer’dan. sadece dijital pine bağlanacak buzzer.

  38. Başta buzer çok az ses veriyordu, direnci kaldırıp yerine kablo takınca ses arttı, kabloyu kaldırıp yerine led takınca (Led yönüne dikkat edin yada iki türlüde deneyin) hem ses çok harika oldu hemde led sesle aynı frekansa yanıp sönerek devreye görsel bir güzellik kattı. İlginize…

  39. KEZBAN ŞAHIN

    Çalışmanız programın 2690 bayt (8 %) saklama alanını kullandı. Maksimum 32256 bayt.
    Global değişkenler belleğin 28 byte kadarını (1%) kullanıyor. Yerel değişkenler için 2020 byte yer kalıyor. En fazla 2048 byte kullanılabilir.

    Bu hatanın sebebi nedir ?

  40. Merhabalar kodun aynısını copy-paste yaptım, bana bu hatayı verdi anlatmanız mumcun olur mu niye boyle bir hata olabileceğini?
    -Sahra

    /Users/sahra/Documents/Arduino/prox_sensor_buzz_internet/prox_sensor_buzz_internet.ino: In function ‘void loop()’:
    prox_sensor_buzz_internet:21:3: error: ‘melodi’ was not declared in this scope
    melodi(olcum*10);
    ^~~~~~
    /Users/sahra/Documents/Arduino/prox_sensor_buzz_internet/prox_sensor_buzz_internet.ino:21:3: note: suggested alternative: ‘modf’
    melodi(olcum*10);
    ^~~~~~
    modf
    /Users/sahra/Documents/Arduino/prox_sensor_buzz_internet/prox_sensor_buzz_internet.ino: In function ‘int mesafe(int, int)’:
    prox_sensor_buzz_internet:39:30: error: expected ‘)’ at end of input
    if(distance >= maxrange || distance
    ^~~~~~~~
    prox_sensor_buzz_internet:39:30: error: expected statement at end of input
    prox_sensor_buzz_internet:39:30: error: expected ‘}’ at end of input
    exit status 1
    ‘melodi’ was not declared in this scope

  41. void setup kısmında takılıyor ve kabul etmiyor videodaki kodlara bakarak yazdım aynısı olmasına rağmen kabul etmiyor

  42. Merhaba ben her şeyi yaptım ama kodda böyle bir hata çıkıyor
    Arduino:1.8.7 (Mac OS X), Kart:”Arduino/Genuino Uno”

    /Users/apple/Documents/Arduino/Arduino_Ev_1_Park_Sens_r__/Arduino_Ev_1_Park_Sens_r__.ino: In function ‘void loop()’:
    Arduino_Ev_1_Park_Sens_r__:21:18: error: ‘melodi’ was not declared in this scope
    melodi(olcum*10);
    ^
    /Users/apple/Documents/Arduino/Arduino_Ev_1_Park_Sens_r__/Arduino_Ev_1_Park_Sens_r__.ino: In function ‘int mesafe(int, int)’:
    Arduino_Ev_1_Park_Sens_r__:39:30: error: expected ‘)’ at end of input
    if(distance >= maxrange || distance
    ^
    Arduino_Ev_1_Park_Sens_r__:39:30: error: expected statement at end of input
    Arduino_Ev_1_Park_Sens_r__:39:30: error: expected ‘}’ at end of input
    exit status 1
    ‘melodi’ was not declared in this scope

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    bir yorumda araçlardan düzeltebileceğimiz yazıyordu ben bunu windows 10 olan bilgisayarımda yapıyordum ama bu mac te yok yardımcı olurmusunuz

  43. Barbaros BAŞARAN

    Bu sensörü araç ön tamponuna yada ızgarasına uygulamak istiyorum. Sensör su geçirmemesi için bişey yapılabilir mi?

  44. merhaba bu projeyi aracın önüne ses gelen kısmı da duyabilmem için aracın içine nasıl monte edebilirim

  45. melodi was not declared in this scope
    bu hatayı alıyorum acaba yardımcı olabilir misiniz devreyi aynı şekilde kurdum

  46. Çalışmanız programın 2690 bayt (8 %) saklama alanını kullandı. Maksimum 32256 bayt.
    Global değişkenler belleğin 28 byte kadarını (1%) kullanıyor. Yerel değişkenler için 2020 byte yer kalıyor. En fazla 2048 byte kullanılabilir.
    bu sorunu nasıl aşabiliriz

  47. mehmet emin

    en sonunda buraya yazma kararı aldım ben de niye her kodda hata var (abartmış olabilirim) ben kendin yazdın direk kopyala yapıştır yaptım yine hata veriyor kütüphanemi eklemeliyim

Yorum bırakın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Scroll to Top