Arama butonu
Bu konudaki kullanıcılar: 1 misafir
1
Cevap
376
Tıklama
0
Öne Çıkarma
Yağmur sensörü kodu için,digital çıkış almam gerekiyor.
A
7 yıl
Çavuş
Konu Sahibi

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");
}

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



G
7 yıl
Yarbay

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

??



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.