Wyświetlacze Sharp Memory LCD

Sharp od paru lat oferuje małe energooszczędne wyświetlacze Memory LCD na potrzeby urządzeń wearables i temu podobnych. Dzięki interfejsowi SPI mogą bez problemu współpracować z mikrokontrolerami.

Sharp Memory LCD i ESP32

Sharp oferuje kilka modeli wyświetlaczy wykonanych w technologii Memory LCD. Przekątne zaczynąją się od nieco ponad 1 cala a kończą na 4,4 calowym monochromatycznym wyświetlaczu o rozdzielczość 320x240. Ten największy model ma też największe zapotrzebowanie na energię elektryczną - 100 - 600 mikrowatów (statyczne - dynamiczne zapotrzebowanie na energię elektryczną). Najmniejsze ekrany nie przekraczają 50 mikrowatów - spory nacisk położono na ich energooszczędność.

Nie są to typowe wyświetlacze znane z np. smartphonów. Większość z nich jest monochromatyczna i ma niską rozdzielczość. Nazwa Memory LCD wzięła się z cech jakie te wyświetlacze posiadają - łączą zalety ekranów ePapierowych z LCD. Każdy piksel jest w stanie przechowywać informacje przez co obrazu nie trzeba stale odświeżać jak w zwykłych ekranach LCD. W odróżnieniu od ePapieru mogą być odświeżane szybko (na potrzeby np. animacji) jak i mogą pracować w ujemnych temperaturach.

Piksele Sharp Memory LCD

Na Mouserze najmniejsze wyświetlacze kosztują nieco poniżej 100 zł (LS013B7DH03), a za największy zapłacimy 335 zł (LS044Q7DH01). Wyświetlacz zakończony jest taśmą, którą można podłączyć do płytki dostępnej na tindie.com. Gotową płytkę z wyświetlaczem oferuje też Adafruit.

Do komunikacji wyświetlacze te wykorzystują interfejs SPI (MOSI, SCK, CS). Dodatkowo potrzebować będziemy mikrokontroler wyposażony w ponad 4kB pamięci RAM (proporcjonalnie do ilości pikseli). Oznacza to że np. Arduino UNO odpada. ESP32, czy Arduino M0 są kompatybilne. W zależności od modelu potrzebne będzie 5V lub 3.3V źródło zasilania. Logika operuje na 3.3V.

Dla Arduino i ESP32 programowanego poprzez Arduino IDE wykorzystać można bibliotekę Adafruit. Dostępna jest też biblioteka dla Raspberry Pi, czy dość podstawowa dla Micropythona. Na Githubie znaleźć można też porty pod inne mikrokontrolery i platformy.

ESP32 i wyświetlacz Sharp Memory LCD

Do testów wykorzystałem ESP32 programowane poprzez Arduino IDE oraz 4,4" wyświetlacz i płytkę-adapter z Tindie. Wraz z biblioteką Adafruit dostajemy przykładowy projekt, który wystarczy tylko skonfigurować pod ESP32.

Taśma ekranu ma kilka linii, które wyprowadzone są na płytkę-adapter:

Złącze wyświetlacza Opis Pin ESP32
SCLK zegar - SCK SPI 18
SI MOSI SPI 23
SCS chip select (CS) dowolny pin w trybie wyjścia
DISP włącza/wyłącza ekran dowolny pin w trybie wyjścia (lub nie podłączone)

Jako że biblioteka Adafruit na chwilę obecną nie używa sprzętowego SPI to tak naprawdę użyć można dowolnych pinów z cyfrowym wejściem/wyjściem. Jeżeli używamy inne komponenty na sprzętowym SPI to do sofwarowego SPI trzeba będzie użyć innych pinów.

Do Arduino IDE dodajemy bibliotekę Adafruit dla tych wyświetlaczy jak i Adafruit GFX. W przykładach znajdziemy gotowca, w którym wystarczy podać numery pinów i rozdzielczość wyświetlacza, np:

#define SHARP_SCK   21
#define SHARP_MOSI 22
#define SHARP_SS  16

Adafruit_SharpMem display(SHARP_SCK, SHARP_MOSI, SHARP_SS, 320, 240);

Po wgraniu kodu powinniśmy zobaczyć na wyświetlaczu rysowaną prostą grafikę oraz tekst. Można też wyświetlać 1-bitowe bitmapy skonwertowane do tablic tak jak dla OLEDów:

display.drawBitmap(sx, sy,  bitmapa, x, y, 0);

Gdzie x,y to wymiary bitmapy, sx, sy to startowy piksel na wyświetlaczu od którego bitmapa zostanie wyświetlona.

Płytka-adapter ma złącze zaciskowe, które może nie kontaktować najlepiej. Jeżeli wyświetlacz nie działa sprawdź czy taśma kontaktuje.

Ekran charakteryzuje się wysokim kontrastem, ale wymaga dobrego oświetlenia by być dobrze widocznym pod różnymi kątami. Wyświetlacz radzi sobie z QR-kodami jak i tekstem. Można więc tworzyć różnorakie interfejsy użytkownika, czy wyświetlać informacje.

RkBlog

Elektronika i Python, 12 October 2017

Comment article
Comment article RkBlog main page Search RSS Contact