Şimdi Ara

Yağmur sensörü kodu için,digital çıkış almam gerekiyor.

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
3
Cevap
0
Favori
339
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba;

    Aşağıda kullandığım bir forumdan temin ettiğim kod ile sistemim çalışıyor.Düzenli bir print alıyorum.Ancak ben buradaki rainrate değeri için belli bir değere geldiğinde 13 nolu digital çıkışı açıp kapatmak istiyorum.

    const byte interruptPin = 3;
    const int interval = 500;
    volatile unsigned long tiptime = millis();

    void setup(){
    Serial.begin(9600);

    // Set up our digital pin as an interrupt
    pinMode(interruptPin, INPUT_PULLUP);
    attachInterrupt(digitalPinToInterrupt(interruptPin), count, FALLING);
    }

    void loop() {
    }

    void count() {
    // Grab the current ms count for common calculations
    unsigned long curtime = millis();

    // Make sure we don't record bounces
    if ((curtime - tiptime) < interval) {
    return;
    }

    // How long since the last tip?
    unsigned long tipcount = curtime - tiptime;
    tiptime = curtime;

    // Calculate mm/hr from period between cup tips
    double rainrate = 914400.0 / tipcount;

    Serial.print("Cup tip: ");
    Serial.print(tipcount);
    Serial.println("ms");

    Serial.print("Rain rate: ");
    Serial.print(rainrate);
    Serial.println("mm/hr");
    }







  • if(rainrate > belli_bir_deger)
    digitalWrite(13, HIGH);

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