• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Pomiar prędkości obrotowej
#1
Witam
Czy mógłbym prosić o dokładne omówienie zasady działania poniższego programu ??

Jestem ciemny w temacie a jutro egzamin 

Proszę Smile 

Kod:
#include<LiquidCrystal.h>
LiquidCrystal lcd(3, 5, 9, 10, 11, 12);

float rev = 0;
int rpm;
int oldtime = 0;
int time;

void isr() //interrupt service routine
{
 rev++;
}

void setup()
{
lcd.begin(16, 2);              
attachInterrupt(0, isr, RISING);  
}

void loop()
{
 delay(1000);
 detachInterrupt(0);           t
 time = millis()-oldtime;    
 rpm = (rev / time) * 6000;  
 oldtime = millis();          
 rev = 0;

 lcd.clear();
 lcd.setCursor(0, 0);
 lcd.print("Pomiar predkosci");
 lcd.setCursor(0, 1);
 lcd.print(rpm);
 lcd.print(" obr/min");
 lcd.print("   ");
 attachInterrupt(0, isr, RISING);

}
 
Odpowiedź
#2
program zlicza impulsy dzięki timerowi ale odczyt impulsu odbędzie się na zboczu opadającym czyli każda zmiana z 1 na 0 będzie przesuwać wartość o 1 następnie wyświetla to na lcd
[Obrazek: banerelektronika.jpg]



Jeśli pomogłem podziękuj punktem reputacji Wink
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości