Popis
Toto zapojení slouží k měření průtoku tekutiny přes čidlo.
Obvod
Příklad kódu
/*
Mereni mnozstvi prutoku tekutiny pres prutokomer
*/
volatile int FlowMeter1Count; //zde budeme ukladat pocty vzestupnych hran signalu
int pinFlowMeter1 = 2; //pin na kterem je signalovy vodic merice prutoku
int Calc;
void flowMeter1() { // funkce, ktera bude volana prerusenim
FlowMeter1Count++; //navysime pocet vzestupnych hran = pocet prichozich signalu z prutokomeru
}
void setup() { // funkce setup() je volana pouze jednou pri startu
pinMode(pinFlowMeter1, INPUT); //inicializujeme pin se signalovym vodicem prutokomeru
Serial.begin(9600); // nastavime seriovy port
attachInterrupt(0, flowMeter1, RISING); //pripojime preruseni, ktere bude reagovat na vzestupnou hranu signalu, 0 = Pin 2 na Arduino Uno, 1 = Pin 3 na Arduino Uno
}
// funkce loop() bezi stale dokola, dokud je zapojeno napajeni
void loop() {
FlowMeter1Count = 0; // na zacatku kazdeho cyklu vynulujeme promenou, ktera pocita pocty vzestupnych hran
interrupts(); // povolime preruseni
delay(1000); // pockame 1 sekundu
noInterrupts(); // zakazeme preruseni
// vypocitame prutok
Calc = (FlowMeter1Count * 60 / 7.5); //(frekvence impulzu x 60) / 7.5 = prutok v L/hodinu
Serial.print(Calc, DEC); // vytiskneme vysledek vypocitany vyse
Serial.println(" L/hodinu"); // vytiskneme text "L/hodinu"
}