Cechą e-papieru – zarówno czarno-białego, jak i kolorowego – jest wyraźny obraz, który pozostaje widoczny także po odłączeniu zasilania. W wersji kolorowej uzyskuje się ponadto żywe barwy. Dodatkową zaletą jest kąt widzenia – ponad 170 stopni. E-papier może być używany bez podświetlenia (odbija wtedy padające na niego światło otoczenia), co skutkuje wyjątkowo niskim zużyciem energii.
Istotną wadą e-papieru jest jednak bardzo długi okres odświeżania, wynoszący od 3 do 8 sekund. Jest to główny powód, dla którego e-papier nie trafił jeszcze na dobre do urządzeń przenośnych. Jego zastosowania ograniczają się obecnie głównie do czytników e-book’ów oraz wyświetlaczy w zegarach pokazujących tylko godziny i minuty.
Fotografia przedstawia prototyp zegara Autora. Podzespoły użyte w projekcie są wymienione w liście elementów.
Układ i działanie
Konstrukcja składa się z modułu ESP32 (MOD1), czarno-białego wyświetlacza e-papierowego o przekątnej 19 cm (MOD2), modułu zegara czasu rzeczywistego (RTC) DS3231 (MOD3), stabilizatora 3,3 V HT7333A (IC1) i kilku innych elementów.
Głównym elementem układu jest wyświetlacz o przekątnej 19 cm i rozdzielczości 800×480 pikseli. Wyświetlany jest obraz analogowego zegara ze wskazówkami, w tym sekundową, która jednak nie porusza się co sekundę, lecz co dwie lub trzy sekundy – ze względu na ograniczenia prędkości odświeżania e-papieru.
W przypadku zaniku zasilania sieciowego układ pobiera prąd około 60 mA z ogniwa LiPo 3,7 V, które umożliwia nieprzerwane działanie zegara przez ponad dwa dni. Jest to więcej niż wystarczające!
Oprogramowanie
Do programu wymagane są pliki biblioteczne, które należy zainstalować w katalogu bibliotek Arduino. Pliki te wraz z programem można znaleźć w dziale "do pobrania" lub na stronie www.electronicsforyou.com. Jeśli używany jest wyświetlacz e-papierowy inny niż proponowany, wystarczy „odkomentować” wiersz z odpowiednim sterownikiem wyświetlacza. Do odmierzania czasu i daty jest używany układ RTC, a jego adres I²C jest wpisany w programie. Domyślny adres I²C dla większości RTC to 0x68.
W przeciwieństwie do typowego programu na Arduino, gdzie wszystkie czynności powtarzają się wewnątrz jakiejś pętli, w programie obsługującym e-papier nie wszystko można powtarzać. W e-papierze wyświetlacz jest podzielony na dwie strony: pierwotną i następną. Na stronach tych trzeba pisać w przeciwnych kolorach, aby po wygaśnięciu strony pierwotnej i rozpoczęciu następnej przeciwne kolory zniosły się nawzajem. Wtedy wszystko zostanie wyświetlone poprawnie. Jeśli na stronie pierwotnej piszemy białym kolorem na czarnym tle, to na następnej stronie musimy napisać tę samą grafikę lub tekst czarnym kolorem na białym tle. W ten sposób zapewniamy, że treść wyświetlacza będzie się prawidłowo zmieniać w pętli, w naszym przypadku co sekundę. Niezastosowanie się do tej zasady spowoduje pojawienie się na ekranie migoczącego „ducha”, zmieniającego się w sposób ciągły.