Eigentlich will 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.
In dem Bild sieht man, wie ich es angeschlossen habe. Den Motor benutze ich noch nicht, da es ja so schon nicht funktioniert. Später soll durch die Lochscheibe und dem Sensor ausgelesen werden, wie oft sich das Rad gedreht hat.
Übrigens ist es ein Arduino Uno
Von Deinen Bildern ausgehend (die Lochscheibe scheint mit den Antriebsrädern verbunden zu sein) wäre wohl Umdrehungen pro Minute die bessere Wahl, da das pro Sekunde eher sehr geringe Werte werden dürften oder habe ich ein stark untersetzendes Getriebe übersehen?
Suchtaa: @HotSystems Die Werte aus dem Sensor stimmen immer(HIGH = Gegenstand, LOW = Kein Gegenstand), ob mit der Lochscheibe oder auch mit einem Eineurostück.
Versteh ich grad nicht, wo ist dann dein Problem ?
Das in der Variable RpmZaehler bspw. 4 oder teilweise bis zu 20 drin steht, obwohl ich lediglich einmal mit einem Eineurostück durch die Lichtschranke gegangen bin. Normalerweise sollte dann doch in RpmZaehler nur eine 1 drin sein, dies ist aber eben nicht der Fall.
Du bist mit dem Problem nicht alleine, der FC-03 könnte eine Macke haben: FC-03 and attachInterrupt() problems!?!?. Das dürfte möglicherweise für Deinen FC-33 genauso gelten.
Abhilfe: Oszi dran und Signal analysieren. Dann Gegenmaßnahmen auswählen, beispielsweise mittels RC-Glied oder Software "entprellen".
Wobei eine "prellende" Lichtschranke mit Elektronik in den Müll gehört, nicht in den Verkauf.