Organizovao u direktorijume po predavanjima
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
|
||||
int button = 2; // Taster je povezan na pin 2
|
||||
|
||||
int last_button_state = LOW; // Prethodno stanje tastera
|
||||
int button_state = LOW; // Trenutno stanje tastera
|
||||
|
||||
unsigned long last_button_millis = 0;
|
||||
unsigned long debounce_interval = 50; // Interval za ignorisanje dogadjaja na tasteru
|
||||
|
||||
void setup() {
|
||||
pinMode(button, INPUT); // Inicijalizuje pin 2 kao ulaz
|
||||
|
||||
Serial.begin(9600); // Inicijalizuje serijsku konekciju na brzini od 9600 bit/s
|
||||
}
|
||||
|
||||
void loop() {
|
||||
int reading = digitalRead(button); // Gleda u kom je stanju taster
|
||||
|
||||
if (reading != last_button_state){ // Ako se stanje tastera promenilo
|
||||
last_button_millis = millis(); // Pocni da meris vreme
|
||||
}
|
||||
if (millis() - last_button_millis >= debounce_interval){ // Ako je proslo vise od "debounce_interval" milisekundi
|
||||
if (reading != button_state){ // i ocitavanje je razlicito od ocekivanog stanja tastera
|
||||
button_state = reading; // znaci da je ocitano stanje ono koje zelimo na tasteru, a ne neki sum
|
||||
// Stampa stanje tastera
|
||||
}
|
||||
}
|
||||
Serial.println(button_state);
|
||||
last_button_state = reading; // Vazno je podesiti da je "prethodno stanje" tastera za sledecu iteraciju ono sadasnje u ovoj iteraciji
|
||||
delay(1);
|
||||
}
|
BIN
prvo_predavanje/pushbutton_with_debounce/scheme.png
Normal file
BIN
prvo_predavanje/pushbutton_with_debounce/scheme.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 30 KiB |
Reference in New Issue
Block a user