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;