SH1106_clown_animation

Ebben a mintapéldában animációt készítünk egy SH1106 I2C OLED kijelző felhasználásával.

A szükséges ismeretek megtalálhatók a 2022. február 10-i és a 2022. március 3-i előadásokban. (lásd itt: Foglalkozások 2021/2022-ben )
juggler.jpg

Hardver:

Szoftver:

Első lépésként a small_clowns.zip fájlból kibontott fázisképeket összedolgozzuk egyetlen képpé, például így:
clowns.bmp

A fázisképek mérete 56 x 64 képpont, így a fenti elrendezésben a teljes kép 224 x 128 képpont. Monokróm BMP formátumban mentettük el, clowns.bmp néven

A kijelző kelezéséhez szükségünk lesz az Adafruit_displayio_sh1106 meghajtóra, a kép beolvasásához pedig az Adafruit_imageload programkönyvtárra.

A képernyő inicializálása a 2022. február 10-i előadás szerint történik. Az SH1106 vezérlő 132 x 64 felbontást kezel, de tényleges kijelzés csak a középre igazított 128 x 64-es mezőben van, ezért a 2 képpontnyi eltolásról majd nekünk kell gondoskodni!

A megjelenítés gyűjtőeleme a legfelső szintű Group objektum

Elkészítjük a fehér hátteret, ami egy 128 x 64 pixeles TileGrid (csempe) objektum, x = 2 eltolással)

Betöltjük a 8 db fázisképet tartalmazó clons.bmp képfájlt és sprite néven készítünk belőle egy 56x64 pixeles csempét, amely alapértelmezetten a betöltött kép bal felső sarkából kivágott szeletet jelöli ki. A sprite[0] = n értékadással (ahol n = 0..7) meg tudjuk változtatni, hogy a sprite nevű csempe melyik fázisképet hasítsa ki a betöltött képfájlból (lásd: a 2022. március 3-i előadásban )

Végül a fázisképek váltogatásával futtatjuk az animációt