Erweiterte Moeglichkeit der FlankenErkennung nach combie's Entwurf.
//class design created by combie
class FlankenErkennung
{
private:
bool state;
int16_t zaehler;
public:
void begin()
{
state = false;
zaehler = 0;
}
void aktZaehler(const int16_t ivar)
{
if (ivar == 0) zaehler = 0; //bei 0 = RESET
else zaehler += ivar; //+/- moeglich
}
bool doTrigger(const bool trigger)
{
bool result = trigger && !state;
state = trigger;
return result;
}
int16_t getZaehler()
{
return zaehler;
}
};
FlankenErkennung FE_1; //Objekt anlegen (FE_1)
//FlankenErkennung FE_2...;
const uint8_t pin_2 = 2; //fuer Flanken Auswertung
void setup()
{
pinMode(pin_2, INPUT);
FE_1.begin(); //Variablen initialisieren
}
void loop()
{
if (FE_1.doTrigger(digitalRead(pin_2))) FE_1.aktZaehler(1);
int16_t FE_1_zaehler = FE_1.getZaehler();
//...
}
Gruß
Grillgemuese ![]()