Hirdetés

Új hozzászólás Aktív témák

  • Aryes

    nagyúr

    válasz _q #8541 üzenetére

    Próbáld meg ezt a kódot:

    volatile unsigned long lastDebounceTime = 0; 
       
    void setup() {
    pinMode(buttonPin, INPUT);
    attachInterrupt(digitalPinToInterrupt(buttonPin), buttonInterrupt, FALLING);
    ....
    Hőmérő inicializálás;
    ....
    }

    void loop() {
    óra kiíratása;
    ....
    Hőmérséklet kijelzőre küldése;
    ...
    }

    //gomb megszakítás függvény
    void buttonInterrupt() {
    if ((millis() - lastDebounceTime) > 50) {

    clockHour++;

    if(clockHour > 23)
    {
    clockHour = 0;
    }
    Serial.println(clockHour);
    //delay(200);
    }
    lastDebounceTime = millis();
    }

    Ha még ezzel is pereg a nyomógomb, az 50-et növeld addig, amíg megszűnik a probléma. Szerintem 200-ig simán lehet növelni, cserébe másodpercenként 5 gombnyomástól többet nem fog regisztrálni (mondjuk annál gyorsabban úgysem igen lehet gombot nyomogatni :DDD).

Új hozzászólás Aktív témák