Dugme Inkrement i Dekrement (Increment / Decrement)
Ovaj tutorijal je nastavak tutorijala Dugme, tipka ili prekidač u Arduino svijetu.
Za one kojima nije jasno sta je Dugme i kako se koristi, više informacija možete naći linku iznad. Inkrement i dekrement ćete jako često koristiti i zato je bitno da na samom početku shvatite na koji način funkcioniše i gdje se sve koristi. U ovom tutorijalu ćemo objasniti šta su to inkrement i dekrement i njihova primjena u praksi. Također za više detalja možete pročitati lekciju FOR PETLJE SA SENZOROM VLAZNOSTI TLA (PRAKTIČNA PRIMJENA).
U ovoj lekciji ćemo objasniti:
- Šema povezivanja i kod za kontrolu dugmeta
- Specifikacija materijala
Šema povezivanja i kod za kontrolu dugmeta
Najjednostavniji način da shvatimo šta je inkrement i dekrement je prikazan na slici ispod.
Kao što možete zaključiti na slici iznad koristili smo varijablu brojac i dodijelili joj vrijedno 0, nakon čega smo varijabli brojač dodjelili inkrement ++. Inkrement ++ je isto kao da smo napisali +1. Kako ne bi pretrpavali slikama i komplikovali, jednostavo vrijednosti varijabli brojac dodijelite vrijednost 20 i umjesto inkrementa u loop() finkciji stavite dekrement (Serial.println(brojac–);) i pogledajte šta će se desiti. Na ovaj način možemo vidjeti koliko se puta izvršila loop() funkcija. U ovisnosti o delay() vrijednosti, toliko brzo će se broj povećavati ili smanjivati.
Sada kad znamo šta je to inkrement i dekrement, možemo krenuti sa praktičnom primjerom!
Kao što možete vidjeti na šemi iznad, postavili smo dva dugmeta. Pin 2 ozačava inkrement, dok pin 3 označava dekrement. Radi lakšeg praćenja i bolje preglednosti, samo smo napravili kombinaciju prošlog tutirijala i gornjeg primjera.
Kratki opis koda:
define BUTTON_PIN_plus 2 i #define BUTTON_PIN_minus 3, označavaju pinove koje koristimo za inkrement i dekrement, dok int brojac;, kojem smo didijelili vrijednst 0 označava varijablu za čuvanje i ispis vrijednosti.
pinMode(BUTTON_PIN_plus, INPUT); i pinMode(BUTTON_PIN_minus, INPUT); označeni su kao inputi, jer će kontroler stalno provjeravati njihovo stanje (da li je LOW ili HIGH).
byte buttonState_plus i byte buttonState_minus su varijable u koje se smještaju očitane digitalne vrijednosti (digitalRead) sa pinova i koje će služiti u nastavku za if usporedbu.
Dva postavljena if uslova samo čekaju kada će jedno od dva dugmeta biti pritisnuto tj. da li će se njihovo stanje promjeniti iz LOW u HIGH. Program kreće sa zadane vrijednosti varijable brojac = 0. Za razliku od Tutorijala gdje smo objašnjavali šta je to Dugme ili Pushbutton, gdje smo stalno ispisivali da li je dugme pritisnuto ili ne, u ovom tutorijalu smo u sam if uslov postavili ispis. Takvim pristupom se ispis neće desiti dok se stanje ne promjeni. Prilikom povezivanja hardverskog dijela, koristili smo opciju 3 iz prošle lekcije, a to je pull-down otpornik.
Znanje koje smo stekli u ovom tutorijalu praktično možemo primjeniti u nekoliko situacija:
- kada želimo pomoću dugmeta da se krećemo kroz Meni (Menu) na ekranu (diplay-u)
- da povećavamo i smanjivamo željene varijable (npr. zadajemo maksimalne vrijednosti temepature, vlaznosti i drugih parametara)
Specifikacija materijala:
- 1x Arduino Uno
- 1x Breadboard
- 2x Dugme / Pushbutton
- 2x 10kΩ otpornik
- 6x Komunikacijski kablovi