Když jsem po tom chtěl tohle : "Vytvoř program pro arduino. Třída jménem tlacitko. Třída obsahuje metodu getStatus. Tato metoda obsahuje debounce tlačítka pomocí millis()."
Tak mi to odpovědělo tohle :
Zde je příklad programu pro Arduino, který obsahuje třídu "tlacitko" s metodou "getStatus". Tato metoda obsahuje debounce tlačítka pomocí funkce millis():
Kód: Vybrat vše
#define BUTTON_PIN 3
#define DEBOUNCE_DELAY 50 // ms
class Tlacitko {
public:
Tlacitko() {
pinMode(BUTTON_PIN, INPUT_PULLUP);
}
bool getStatus() {
// Debounce tlačítka pomocí millis()
static unsigned long lastDebounceTime = 0;
static bool lastButtonState = HIGH;
bool buttonState = digitalRead(BUTTON_PIN);
if (buttonState != lastButtonState) {
lastDebounceTime = millis();
}
if ((millis() - lastDebounceTime) > DEBOUNCE_DELAY) {
lastButtonState = buttonState;
}
return lastButtonState;
}
};
Tlacitko tlacitko;
void setup() {
// Inicializace
}
void loop() {
if (tlacitko.getStatus() == LOW) {
// Tlačítko bylo stisknuto
} else {
// Tlačítko není stisknuto
}
}
PS: neumí to někdo testnout ? já nemám zrovna na čem :/