Şimdi Ara

ARDUINO İLE MESAFEÖLÇER

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
2
Cevap
0
Favori
120
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Bunu onlarca forumda, projede bulabilirsiniz.Kendimce bir iki değişik özellik ekledim ve paylaşmak istedim.Son derece basit bir proje.

    #include<LiquidCrystal.h>
    LiquidCrystal lcd (12, 11, 5, 4, 3, 2);
    const int trigger = 7;
    const int echo = 6;
    const int buton = 10;
    const int anahtar = 9;
    const int sariled = 13;
    const int kirmiziled = 8;
    float mesafe;
    int sure;
    void setup() {
    pinMode(echo, INPUT);
    pinMode(trigger, OUTPUT);
    pinMode(buton, INPUT);
    pinMode(anahtar, INPUT);
    pinMode(sariled, OUTPUT);
    pinMode(kirmiziled, OUTPUT);
    lcd.begin(16, 2);
    digitalWrite(sariled, LOW);
    lcd.home();
    lcd.print(" HOSGELDiNiZ");
    delay(5000);
    lcd.clear();

    }

    void loop() {
    int anahtardurumu = digitalRead(anahtar);
    if (anahtardurumu == HIGH) {
    digitalWrite(trigger, HIGH);
    delay(1);
    digitalWrite(trigger, LOW);
    sure = pulseIn(echo, HIGH);
    mesafe = (sure / 2) / 28.8;
    int durum = digitalRead(buton);
    lcd.setCursor(2, 0);
    lcd.print("MESAFEOLCER");

    if (durum == HIGH && mesafe>0 && mesafe<400) {
    lcd.setCursor(3, 1);
    lcd.print(mesafe);
    lcd.setCursor(8, 1);
    lcd.print(" cm");
    digitalWrite(kirmiziled, HIGH);
    delay(1000);
    digitalWrite(kirmiziled, LOW);
    }
    digitalWrite(sariled, HIGH);
    }
    else if (anahtardurumu == LOW) {
    lcd.setCursor(0, 0);
    lcd.print(" ");
    lcd.setCursor(0, 1);
    lcd.print(" ");

    digitalWrite(sariled, LOW);

    }
    }

    Sistemin çalışma prensibi:
    Arduinoya güç verdiğimizde 5 sn HOSGELDiNiZ yazacak.Ardından anahtar açık ise butona basarak mesafe ölçümümüzü yapacağız.Bilindiği üzere HCSR04 sensörümüz 4 metreye kadar doğru ölçüm yapabilmekte.Bu yüzden 4 metreden uzakta olduğu anlarda sonucu ekrana yazdırmasın dedim.Butona her basışımızda 1 sn boyunca ölçüm yapıldığını belli eden kırmızı led yanacak.Ayrıca anahtar on iken sarı led, off iken de kırmızı led yanacak.Son olarak 28.8 değeri ise ses hızının sıcaklığa bağlı olarak değişmesiyle elde edilen bir değer.Bu değer 20 C sıcaklıkta 29.1 'dir.Oda sıcaklığında ise yaklaşık olarak 28.5 gibi bir değerde oluyor.Sistemin yüzde yüz doğru çalışmasını istiyorsak lm35 gibi bir sıcaklık sensörüyle anlık ortam sıcaklığını alıp ona göre 28.5;28.6;29.1 gibi değerleri arduinonun anlık hesaplamasını sağlayabiliriz.







  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.