FOR Petlje sa Senzorom Vlaznosti Tla (Praktična Primjena)
Mnogi početnici pokušavaju izbjeći for petlju zato što se čini kao jako komplikovana. U ovoj lekciji ćemo navesti samo jedan suhi primjer for petlje i odmah prelazimo na praktičnu primjenu. Smatram da je praktična primjena najbolji i najlakši način da se nešto savlada i dugotrajno zapamti.
U ovoj lekciji ćemo objasniti:
- Šta je to for petlja i kada se koristi?
- Kako izvršiti preciznije mjerenje pomoću for petlje
Šta je to for petlja i kada se koristi?
For petlja se koristi kao brojač naredbi obuhvaćenim vitičastim zagradama { }.
Najbolje bi bilo da ukucate kod kao na slici i pogledate šta će Vam ispisati na serial printu:
Ko što možete primjenitit for petlja se satoji iz tri dijela :
U prvom dijelu petlje napisali smo int brojac = 0; – čime smo varijabli ” brojac ” dodijelili vrijednost nula, tj vrijednost od koje će krenuti sa brojanjem,
U drugom dijelu petlje napisali smo uslov brojac < 100; – čime smo rekli da varijabla ” brojac ” počinje od 0 do 99 (logično, jer je prvi manji broj od 100, broj 99),
U trećem dijelu petlje napisali smo brojac ++ – čime smo dali naredbu varijabli brojač da se svakim povećanjem brojača, nakon odgode delay 100 (100 milisekundi) poveća za 1.
Ukratko: kreira se varijabla brojac i istoj se dodjeljuje željena vrijednost, postavlja se uslov do kojeg broja da broji i na kraju postavlja se uslov na koji način da broji.
Kako izvršiti preciznije mjerenje (kalibraciju) pomoću for petlje:
U prošloj lekciji naučili smo kako koristiti senzor vlažnosti FC-28. Kako bi tačnije izmjerili vrijednost vlažnosti tla, tj. kako bi dobivali preciznije podatke koristiti ćemo for petlju.
Ukucajte kod sa slike i testirajte rezultate:
Na slici iznad možete vidjeti broj svakog mjerenja, kao i izmjerenu vrijednost. Na kraju smo dodali Varijablu Suma kako bi pratili da li nam je zbrajanje kroz petlju tačno. Bitno je naglasiti da for petlja, u našem primjeru, kreće od broja 0 do 10 što znači da uradi 10 brojanja, a da smo stavili znak <= 10 – petlja bi radila 11 ponavljanje.
Naša petlja je postavljena tako da svakih 500 milisekundi uradi jedno mjerenje i dodaje na prethodno. Kada se izvrši 10 mjerenja, za šta je potrebno 5 sekundi varijabla suma izadje iz petlje. Varijabla prosjek je zadužena da podijeli ukupne vrijednosti sabrane u varijabli suma sa zadanim brojem na varijabli brojMjerenja.
U našem primjeru je bi bilo:
prosjek = suma / brojMjerenja = 6855 / 10
prosjek = 685,5 (zbog int tipa podatka je 685)
Kako nam se varijable suma i prosjek ne bi beskonačno povećavale, na kraju koda, navedenim varijablama moramo dodijeliti vrijednost 0.
For petlja ima jako široku primjenu u Arduino svijetu i sigurno ćete je često koristiti. Izmjenom delay() vrijednosti u for petlji direktno utičete na brzinu izvršavanja koda. Obratite pažnju koja Vam je dozvoljena vrijednost očitanja u jednom periodu za željeni senzor. Nekim senzorima je potrebno i do dvije sekunde delay-a kako bi pravilno radili. U tom slučaju delay u petlji bi trebao biti minimalno dvije sekunde. također, povećanjem varijable brojMjerenja povećavate broj ponavljanja u petlji i dobivate tačnije mjerenje. For petlja oduzima poprilično vremena jer program ne može da nastavi sa izvršavanjem dok se ne ispuni uslov u petlji. Na Vama je da nađete optimalan broj ponavljanja i delay za Vaš projekat.
U sljedećoj lekciji objasnit ćemo šta je to PWM signal i kako ga kombinovati sa for petljom.