LAKI PINGVINI
ST7789 displej
Kako treba, a kako ne treba
Dejan PETROVIĆ 
1. januar 2021.

Na stranicama SK Labsa mogli ste da čitate o raznim ekranima koje smo povezivali sa mikrokontrolerima iz Arduino ekosistema. U poslednje vreme, na policama online trgovina možemo da vidimo jedan mali SPI ekran od 1,3 inča, u boji, sa dobrim performansama. Ekran je IPS LCD sa uglovima vidljivosti od 80 stepeni. Primeri na mreži se sve češće pojavljuju i možemo da vidimo da je u pitanju prilično fleksibilan ekran. Međutim, u našim testovima nije baš sve prošlo tako sjajno.

Ekran se zasniva na Sitronixovom ST7789 kontroleru koji je sposoban da na ekran izbaci 262 144 boje (šest bita po osnovnoj boji). Sa mikrokontrolerom komunicira putem SPI interfejsa, a u svom RAM-u može da smesti podatke do rezolucije 240 puta 320 tačaka, pri 18 bita. Ovo je ujedno i najveća rezolucija dostupnih ekrana sa ST7789 drajverom. Naš primerak je 240 puta 240 piksela. Drajver u sebi još sadrži sva neophodna strujna kola, tako da od dodatnih komponenata između ekrana i mikrokontrolera imamo samo tri otpornika, kondenzator 0,1 mikrofarada i sveprisutni 8050 tranzistor. Od ovih pet komponenata, čak četiri je zaduženo za switch za uključivanje ekrana. LED za osvetljenje rade na tri volta. Ova činjenica je i bila razlog što smo pored modula uzeli i dva ekrana zasebno. Ideje za ugradnju jednog ovakvog ekrana dolazile su jedna za drugom. Ispostavilo se da smo dobro postupili iz sasvim drugog razloga, a o tome kasnije.

Test broj 1

Modul sa ekranom dolazi sa svom neophodnom pomenutom elektronikom, kao i sa sedam pinova za povezivanje sa mikrokontrolerom. Ekran radi na 3,3 volta, a pinovi nisu tolerantni na više od toga. Na mreži se mogu naći primeri o povezivanju jednog ovakvog ekrana sa petovoltnim GPIO, što smo probali, uprkos tehničkoj dokumentaciji. Probali smo i Uno i Nano i oba puta smo imali sve, samo ne ono što je trebalo da bude na ekranu. I to bez obzira na biblioteku. Moguće i da je do našeg primerka, ali najverovatnije je do činjenice da smo spržili drajver. Probajte da zamislite kako ekran pokušava da ispiše linije od flet kabla nagore i ne uspeva. Samo jedan manji pritisak u tom delu je doveo do „razlivanja” ekrana i on je postao totalno neupotrebljiv. Srećom, imali smo ih još, pa je usledila zamena ekrana (12-pinski flet), što nam nije trebalo. Tehnička dokumentacija je bitnija od svakog primera na mreži. Čak i Adafruit na ovakve module dodaje level shiftere. Ako se odlučite za nabavku ovakvog ekrana, držite se 3,3 volta.

Test broj 2.

Nakon servisiranja našeg modula, posegli smo za ESP32 razvojnom pločom. Nakon testova sa Adafruit ST7789 i Arduino Fast ST7789 bibliotekama gde nismo imali uspeha, probali smo kao treću sreću TFT_eSPI biblioteku koju možete preuzeti direktno iz Library menadžera.

Biblioteka nema opcije odabira unutar primera, već se to radi u okviru User_Setup.h fajla koji otvaramo u nekom editoru. Potrebno je uključiti neke linije, a druge isključiti, pa da krenemo redom. Prvo treba da uključimo podršku za ST7789 (linija 48), dok ostale isključujemo. ESP32 je malo specifičan, pa tako uključujemo i TFT_SDA_READ (linija 61). U zavisnosti od same varijante drajvera, možemo dobiti dva različita paterna u RGB nizu. Nama je odgovarao BGR (linija 67), dok možda u vašem to bude RGB, što je linija iznad. Nakon toga, uključujemo visinu i širinu u pikselima (linije 76 i 79). Na redu su definicije mapiranja samog hardverskog SPI, to jest, pinova na koje povezujemo ekran. Sve ostale treba isključiti, sem onih vezanih za ESP32 (linija 191-196). Ovde možemo dodati i TFT_BL na koji možemo vezati BLK pin, ako želimo da upravljamo osvetljenjem kroz biblioteku. Dalje idu opcije vezane za font, SPI frekvenciju, kao i za upotrebu HSPI porta SPI interfejsa ESP32, ako VSPI iz nekog razloga ne možemo da koristimo. Ove poslednje opcije nismo menjali.

Povezivanje ide prema dokumentaciji same biblioteke. VCC i GND modula idu na naponske linije ESP32. Iako bi neko na prvu loptu pomislio da radimo sa I2C, pinovi SCL i SDA su pinovi SPI interfejsa (SCLK i MOSI) i povezujemo ih na 18 i 23. RES (et) pin ide na 4, DC (data command) ide na 2, dok se poslednji BLK (backlight) može ignorisati. On je na modulu povezan na VCC, a povezivanjem na neki GPIO i dovođenjem logičke nule, možemo da isključimo ekran, što je zgodno ako ne želimo da nam ekran bude stalno uključen.

Biblioteka nudi primere za veći broj različitih ekrana, pa tako neće svi primeri raditi kako treba (samo oni naznačeni za rezoluciju 240×240). Ipak, i oni koji rade sasvim su dovoljni. Dovoljno da vidimo kojom brzinom je ESP32 sposoban da ispisuje na ekranu. Sa prikazom smo izuzetno zadovoljni, sa brzinom ispisa takođe. Ugao vidljivosti nas je oduvao, ali nije za korišćenje pod jačim svetlom. Prikaz je izuzetno čist, jasan, sa odličnim bojama. Naprosto, nemamo zamerku ako uzmemo u obzir cenu, lakoću implementacije u projekte i, na kraju, namenu. Za grafiku i tekst, sve funkcije iz Adafruit GFX biblioteke rade bez pogovora.

Postoji i ekran sa osmim pinom CS, koji nemamo, ali u okviru TFT_eSPI biblioteke postoji definisan pin za tu namenu, pa smo mišljenja da će i on raditi bez problema. Ekran je prilično štedljiv i preporuka proizvođača je za korišćenje kod „wearable” uređaja (satovi, na primer). Mi smo testirali ST7789 i ESP32 u punoj animaciji i potrošnja nije prelazila 100 miliampera. Sa druge strane, nismo uspeli da spustimo ispod 60 miliampera. Recimo, primer TFT_Clock je trošio 100 miliampera, dok smo kada smo isključivali ekran (BLK na GND) dobijali 60 miliampera. Međutim, u Sleep režimu već počinjemo da govorimo o mikroamperima.

• • •

Opisali smo oba naša primera, iako smo kod prvog uništili jedan ekran. To navodimo kao primer šta ne treba da se radi. I to bez obzira na to što je neko u tome uspeo. Naša preporuka je da se uvek i svaki put, koliko god je to moguće, ispoštuje tehnička dokumentacija. Bez obzira na to da li govorimo o nekom modulu ili pravimo šemu za neku našu namensku ploču. Naša želja da probamo neki od primera sa mreže smo platili ekranom. I verujte, prošli smo jeftino.


PRETHODNI TEKST
SLEDEĆI TEKST
Najčitanije
Igre
Telefoni
Hardver
Softver
Nauka
Aktuelno štampano izdanje
MAJ 2025
Microsoft Majorana 1
Kvantna topologija
Topološki kvantni računar otporan je na uticaj kosmičkog zračenja, ali i dalje mora da se ohladi skoro do apsolutne nule...
AMD Ryzen 9 9950X3D
Jedan, da svima vlada
Ako vam je potreban najbrži procesor, i za igranje, i za ozbiljnije zadatke, Ryzen 9 9950X3D nema konkurenciju...
Gigabyte GeForce RTX 5070 Ti Aero OC 16G i GeForce RTX 5070 Ti Gaming OC 16G
I za kreativce, i za igrače
Sasvim sposoban da se nosi sa 4K rezolucijom u svim igrama i pruži sasvim pristojne performanse, dok u 1440p apsolutno blista...
Asus ROG Strix Scar 18 (G835LX)
Fantastična zver i kako je kupiti (3)
Laptop namenjen onima koji „ne žale pare” da imaju ono što je trenutno najbolje i najbrže...
Deset najboljih Microsoft PowerToys alatki
Najbolji od najboljih
PowerToys Run je alatka kojoj treba da se okrenete ukoliko vam sistemska rutina za pretragu ne odgovara...
Apple iPhone 16e
Malo muzike za mnogo para
Problem nije samo cena i slabiji grafički podsistem, već i trajanje baterije...
Cemu 2.6
Wii U emulacija
Cemu omogućava pokretanje i privođenje kraju oko 57 procenata igara „napisanih” za Wii U...
.rs: nove usluge eUprave - novi propisi - najava 5G
Mnogo eNoviteta
U novom esDnevniku roditelji će dobijati notifikacije za ocene i izostanke...
Trgovinski rat Istoka i Zapada
Velika igra, nesagledive posledice
Kao u igri „kukavice”, dve supersile kreću se velikom brzinom jedna prema drugoj, izazivajući drugu da prva skrene...
Blue Prince
Jedinstveni dijamant i jedna od najoriginalnijih igara u poslednjih nekoliko godina...
Tempest Rising
Skupa i ambiciozna fotokopija legendarnog RTS klasika Command & Conquer...
South of Midnight
Magična igra koja izgleda kao živa bajka, animirana u stilu filmskog serijala „Spiderverse”...
© 2025 Svet kompjutera. Sva prava zadrzana.
Novi broj - Arhiva - Forum - O nama