Programiranje
Biblioteku za OLED zaslon pronašli smo na internetu i već smo u nekoliko prijašnjih brojeva pokazali kako se zaslon spaja s Arduinom te kako se ispisuju poruke na zaslonu. Potrebno je uključiti biblioteku na početku programa, kao i sve ostale potrebne biblioteke. Korištene varijable su tipa float jer predstavljaju očitanu vrijednost, napon, pomoćnu varijablu „X“ i konstantu „Pom“ koja predstavlja koeficijent za pretvaranje izmjerenog napona u stvarni.
U void setupu se definira početak rada s OLED zaslonom s naredbom „u8g2.begin();“.
Void loop: Prije početka ispisivanja na zaslonu poželjno je očistiti njegovu unutarnju memoriju u koju se upisuju podaci za ispis, a to se vrši naredbom „u8g2.clearBuffer();“ . Prije početka ispisivanja podataka potrebno je odrediti font ispisivanja. Razne fontove možete pronaći na internetu, a oni osim oblika slova i brojki sadrže i veličinu fonta. U našem primjeru korišten je font veličine 14px. Zašto 14? Visina OLED zaslona je 32px, a uz dva reda ispisa i razmak od 4px preostaje 14px za font. Naredbom „u8g2.drawStr(2,15,”Napon”);“ ispisujemo tekst „Napon“ na lokaciji 2px počevši od lijeve strane i 15px počevši od donje strane. Orijentacija zaslona je vodoravna, tako da se priključni pinovi nalaze s lijeve strane ako je zaslon okrenut prema nama. Za ispisivanje vrijednosti varijabli koristi se naredba „u8g2.print(napon);“. No ta naredba nema mogućnost pozicioniranja početka pisanja, tako da prije ispisa vrijednosti varijable moramo definirati mjesto na kojem želimo da se ispiše na zaslonu, koristeći naredbu „u8g2.setCursor(73,15);“. Pozicioniranje mjesta pisanja, tj. pokazivača (eng. cursor): prva vrijednost je mjesto u redu, a druga vrijednost mjesto u stupcu, kako smo već objasnili. 73 je vrijednost počevši od lijeve strane, a 15 je vrijednost počevši od dna zaslona. Varijabli „ocitano“ pridružujemo očitanu vrijednost analognog signala na A0. Očitanu vrijednost dijelimo s 1023 i množimo s konstantom „pom“ i 4 kako bismo dobili stvarnu vrijednost napona.
Prikaz OLED zaslona i Li-Po baterije
U ovisnosti o vrijednosti napona, uređaj će ispisivati preostali kapacitet baterije u obliku postotka. Naredbom „u8g2.sendBuffer();“ šaljemo poruku zaslonu kako bi ju ispisao. Ispitivanje kapaciteta baterije nije potrebno često vršiti jer se neće isprazniti u roku od nekoliko minuta, već nekoliko sati ili dana.
Napomena:
Mjerač kapaciteta baterije testiran je i radi. Potrebno je izvršiti umjeravanje (baždarenje) jer su prilikom izračuna vrijednosti uzete kao idealne, otpornici imaju svoje odstupanje, a žice gubitke. Uređaj je konceptualno ispravan, a korigiranjem vrijednosti napona, mjerenjem stvarnih vrijednosti otpora i konstanti možemo dobiti vrlo precizan uređaj.