Skocz do zawartości

Zliczanie impulsów - czujnik przepływu


malarzpl

Pomocna odpowiedź

Witam. Jestem poczatkującym poznającym programowanie, po kursach arduino znalazłem sobie taki projekt:

Zabezpieczenie wrzeciona frezarki chlodzonego wodą przed przegrzaniem, czyli:

-kontrola przepływu wody w układzie (jak bedzie zbyt niskie to zatrzyma frezowanie).

-kontrola temperatury chlodziwa i wyswietlanie temperatury na wyswietlaczu ( zatrzymanie jak za wysokie) jak bedzie problem to dojdzie sterowanie wentylatorem chlodnicy)

Z tym drugim raczej nie bedzie problemu, ale z tym pierwszym:

Zakupiłem czujnik przepływu wody o parametrach:

Dane techniczne i wymiary

Zasilanie: 5-18V DC

Wyjście: Sygnał NO, wyjście tranzystorowe OC (10mA) >4,7 V DC (napięcie wejściowe 5 V DC)

Montaż: gwint zewnętrzny 1/4 cala"

Pobór mocy: 15mA (DC 5V)

Min. przepływ do zadziałania czujnika: 0.25L/min ± 3%

Maks. przepływ: 3L/min ± 3%

Przelicznik objętościowy: 7055 imp/L ±10%

Przelicznik impulsowy: F=89*Q {Q=[L/m] F=[Hz]}

Podpialem do UNO, troche szukałem kodu, czytalem różne sposoby i stworzylem taki:


int impuls = 0; //Utworzenie zmiennej liczonych impulsów
unsigned long lastmillis = 0;
void impulsator() { impuls++;}

void setup() {
  Serial.begin(9600);
pinMode(2, INPUT_PULLUP); //impulsatorem zwieranie do masy
pinMode(13,OUTPUT); //dioda
attachInterrupt(digitalPinToInterrupt(2), impulsator, FALLING);
}

void loop() {

if (millis() - lastmillis >= 1000) {
   lastmillis = millis(); 
   noInterrupts();
   if ((impuls >= 10) && (impuls <= 100)) { 
    digitalWrite(13, HIGH);}
   else{digitalWrite(13, LOW); }  
    Serial.println(impuls);
   impuls=0;  
   interrupts() ; }

}

Wydaje mi się, że ładnie zlicza impulsy i wywala co sekunde. Do moich potrzeb to by wystarczyło, jednak zastanawia mnie czy dobrze to jest napisane?

Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.