Umdrehungen Pro Sekunde berechnen


hey leute,
ich habe mal wieder ein problem...  :smiley-confuse:

eigentlich ich nur die umdrehungen pro sekunde berechnen (von zwei dc-motoren), dafür habe ich mir zwei mal den fc-03 sensor gekauft. nun wollte ich es erst einmal nur mit einem sensor probiert. das problem ist, dass jedes mal beim einmaligen passieren der lichtschranke mehrere interrupts ausgelöst werden, folglich wird dadurch das ergebnis größer als es normalerweise sein sollte.

hier ist mein code:
code: [select]

volatile byte rpmzaehler;
unsigned int irpm;
unsigned long ltimeold;

void zaehlen()
{
  rpmzaehler++;
  serial.println(rpmzaehler);
}

void setup()
{
  serial.begin(9600);

  attachinterrupt(0, zaehlen, rising);

  rpmzaehler = 0;
  irpm = 0;
  ltimeold = 0;
}

void loop()
{
  if (ltimeold + 1000 < millis())
  {
    ltimeold = millis();
    detachinterrupt(0);

    serial.print("ergebnis: ");
    serial.println(rpmzaehler);

    rpmzaehler = 0;

    attachinterrupt(0, zaehlen, rising);
  }
}


lg. suchtaaa

serial hat in der interruptfunktion nichts zu suchen.

gruß tommy


Arduino Forum > International > Deutsch (Moderator: uwefed) > Umdrehungen Pro Sekunde berechnen


arduino

Comments

Popular posts from this blog

Flip address is out of range arduino uno r3

Arduino Uno not uploading

Indesign and MathType fonts