counter zählt bis 30, dann zurück
von
am 03.04.2013 um 14:32 (2766 Hits)
Hallo Freunde, das ist derAuszug aus dem Sketch zur Pelletverbrauchsberechnung. Folgendes Problem: Der counter0 zählt die Umdehung der Stokerschnecke und counter1 berechnet den Pelletverbrauch, das klappt auch alles prima, aber bei ca. 30 kg Anzeige erscheint vor der Summe ein Minuszeichen und die Verbrauchsanzeige zählt rückwärts gegen 0. Vielleicht kann mir einer der Experten helfen, bin nicht mehr ganz jung (73) und erst seit 6 Mon. begeisterer Arduinofan, somit etwas unerfahren. Meine Suche zum Problem war bisher erfolglos.
Würde mich über Hilfe freuen.
void irq_Svc0() // Entprellung, Zähler, Verbrauchsberechnung
{
if (inputpin2==HIGH)
if(debounce(inputpin2))
digitalWrite(inputpin2,HIGH);
long unsigned act_IRQ0; // Umdrehungen der Stokerschnecke zählen,
act_IRQ0=millis();
{
counter0++; // Zähler für Stokerschnecke,
counter1=counter0*1/10; // Zähler durch 10 teilen zur LCD Anzeige,
if(counter1>20000)counter1=0; // Zähler: gültiger Zustandswechsel, bei 4140 kg reset,
last_IRQ0 = act_IRQ0;
long unsigned act_counter1;
var=counter1 *207/1000; // Pelletverbrauch berechnen, 1 Umdr.= 20,725 gr. Pellets,
if (Serial.read()== ';') // Pelletverbrauch an LCD ausgeben,
Serial.println( var);
Serial.print( var);
}
{
val=digitalRead(inputpin2); // LED - Umdrehungsanzeige Stokerschnecke,
if(val==LOW)
digitalWrite(led13,HIGH); // LED Pin 13
delay(2000),
digitalWrite(led13,LOW);
}
}