Danes so OLED (Organic Light-emitting diode) zasloni postali dostopni tudi hobi elektronikom po razumnih cenah. Na voljo so prikazovalniki tako majhnih dimenzij, da so ravno pravšnji za vgradnjo v projekte manjših dimenzij z baterijskim napajanjem. Odlikuje jih visoka svetlost skupaj z dobrim kontrastom brez osvetlitve ozadja, zato so primerni za prikaz besedila in grafike v večini projektov, ki se jih lotimo.
Obstaja veliko člankov o tem, kako priključiti najbolj znani HD44780 LCD krmilnik na AVR mikrokontrolerje in na njem prikazati znake, za kar je Bascom-AVR več kot primeren za krmiljenje te vrste zaslonov.
Če pa boste poskusili najti malce več informacij o tem, kako priključiti dokaj pogosto uporabljen (Ebay) OLED modul s krmilnikom SSD1306 s 128 x 64 pikami, boste najpogosteje našli sheme povezav s platformo Arduino ali primere programov v programskem jeziku C. Vendar sem za ta članek na vsak način želel uporabiti programski jezik Bascom-AVR.
Pomembno iz tehnične dokumentacije
Obstajajo nekatere bistvene podrobnosti, ki jih je treba upoštevati v zvezi s prikazovalnikom. Najprej moramo vedeti, da je SSD1306 je v bistvu grafični zaslon. Integrirano vezje, ki je vgrajeno za krmiljenje zaslona zna naenkrat shraniti le osem bitov (1 bajt) podatkov v svoj pomnilnik s točkami in nenehno osveževati viden zaslon s shranjeno sliko točk iz tega pomnilnika. Krmilnik zaslona zna tudi komunicirati z gostiteljskim mikrokontrolerjem prek 3-žične SPI serijske povezave (9 bitov podatkov), 3-žične SPI serijske (8 bitov podatkov), I2C (slave samo sprejema) in dveh vzporednih načinov, predvsem z uporabo z mikrokontrolerji na osnovi 8080 in 8086. Za zadnja dva vzporedna načina potrebujemo vsaj dvoje V/I vrat, zato uporaba vzporednega načina komunikacije zelo skrči razpoložljive vire AVR mikrokontrolerjev.
Predlagam, da kupite zaslon na tiskanem vezju v obliki modula, ki je že prednastavljen za tisti način komunikacije, ki jo želite uporabiti, saj so kratkostičniki za izbiro načina komunikacije nameščeni na površini kot zelo majhne SMD povezave.
Besedilo je samo blok grafičnih pik
Naslednje pomembno dejstvo je, da zaslon nima vgrajenih ASCII znakov pisave, tako da mora gostiteljski mikrokontroler vsak posamezni znak poslati prikazovalniku vsakič v obliki bloka pik. V načinu najmanjše pisave (višina 7 točk, širina 5 slikovnih točk) mora gostiteljski mikrokontroler, poslati 6 bajtov informacije, šesti bajt (vrednost 0, brez pik) namreč zagotovi prazen prostor med dvema sosednjima znakoma. Za gostiteljski mikrokontroler predstavlja to veliko opravila, zato je zaželeno, da se rutine za pošiljanje znakov na zaslonu izvedejo čim hitreje, tako da ne zasedejo preveč procesorskega časa, ki ga potrebuje še za opravljanje drugih nalog. Ena izmed dobrih strani pri komunikaciji je, da lahko prikazovalnik podatke sprejema z zelo veliko hitrostjo.
OLED prikazovalniki (1)
2013_SE205_39