OLED[0] - OLED[3]


SSD1306, SH1106 vezérlővel szerelt 128x64, 128x32 OLED kijelzők támogatottak. Előnyei: Könnyen beszerezhető, olcsó, egyszerű bekötés, 3.3V tápfeszültség. SCL, SDA lábakat a Setup/Peripheral menüben kell beállítani. Több kijelző használata esetén az SCL lábak közösek. Flip vertical megfordítja a képet. 4 kijelzőhöz a Lite1 végződésű firmware kell, ebben nincs ledszalag, infra távirányító, cserében van elég szabad ram a stabil működéshez.

OLED[0](CLR)
Törli a kijelzőt.
OLED[0](I)
Inverz kép.
OLED[0](N)
Normál kép.
OLED[0](R)
Reset.
OLED(R)
Reseteli az összes kijelzőt.

TEXT

OLED[0](CLR,TXTL,1)small
Törli a kijelzőt, kis betűkkel bal kezdéssel kiírja: "small"

STR[0]=string| NUM[1]=12.77
OLED[0](CLR,TXTL,1)STR[0]
Törli a kijelzőt, kis betűkkel bal kezdéssel kiírja STR[0] tartalmát.
OLED[0](CLR,TXTL,1)NUM1[1]
Törli a kijelzőt, kis betűkkel bal kezdéssel kiírja: NUM[1] értékét egy tizedesre kerekítve.

OLED[0](CLR,TXTR,2)MediuM
Törli a kijelzőt, közepes betűkkel jobb kezdéssel kiírja: "MediuM"

OLED[0](CLR,TXTC,3)LARGE
Törli a kijelzőt, nagy betűkkel középre kiírja: "LARGE"

OLED[0](TXTC,2)Next Line
Közepes betűkkel horizontálisan középre igazítva kiírja a következő sorba: "Next Line"

OLED[0](CLR,TXTC,2,10)margin-top:10px
Törli a kijelzőt, közepes betűkkel horizontálisan középre igazítva
a kijelző tetejétől 10 pixellel lejjebb kiírja: "margin-top:10px"

OLED[0](TXTC,2,A3)margin-top:3px
Közepes betűkkel horizontálisan középre igazítva
az előző sor alatt 3 pixellel lejjebb kiírja: "margin-top:3px"

OLED[0](CLR,TXTL,1,0,15)margin-left:15px
Törli a kijelzőt, kis betűkkel bal kezdéssel 15 pixel margóval kiírja: "margin-left:15px"

OLED[0](TXTR,1,A5,15)margin-right:15px
Kis betűkkel jobb kezdéssel 15 pixel margóval
az előző sor alatt 5 pixellel lejjebb kiírja: "margin-right:15px"


SÍKIDOMOK

OLED[0](CLR,LINE,0,0,127,63)
Vonalat rajzol x1, y1, x2, y2 koordináták közé.

OLED[0](CLR,RECT,15,10,100,40)
Négyzetet rajzol. Bal felső sarok x, y, hossz, magasság.

OLED[0](CLR,RECTF,15,10,100,40)
Kitöltött négyzetet rajzol. Bal felső sarok x, y, hossz, magasság.

OLED[0](CLR,TRIA,64,0,0,63,127,63)
Háromszöget rajzol x1, y1, x2, y2, x3, y3 koordináták közé.

OLED[0](CLR,TRIAF,64,0,0,63,127,63)
Kitöltött háromszöget rajzol x1, y1, x2, y2, x3, y3 koordináták közé.

OLED[0](CLR,CIRC,63,31,31)
Kört rajzol. Origo x, y, méret rádiusz.

OLED[0](CLR,CIRCF,63,31,31)
Korongot rajzol. Origo x, y, méret rádiusz.

OLED[0](CLR,CIRCQ,63,31,31,3)
Negyed köröket rajzol. Origo x, y, méret rádiusz, quads (0-15):
00100001
01001000


KÉP

OLED[0](CLR,PIC,0,0,128,64)garfield.mono
Képet jelenít meg a tárhelyről. A fájl lehet STR[x] is, kiterjesztése .mono
Bal felső sarok x, y, méret hossz, magasság. A hossz, magasság értékének egyeznie kell a kép valós méretével!

Kép elkészítése offline
Nem találtam olyan programot, ami pár kattintással legenerál egy .mono fájlt, ezért készítettem egyet. Ez a mono mappában a create.cmd Először keresni kell egy olyan képet, aminek a képaránya hasonlít a használt kijelző képarányára. A konvertálni kívánt képet (image.jpg/png/bmp) bemásoljuk a mono mappába, create.cmd elindít. 1-es gombbal a felbontás állítható. A 2-es gombbal az image kiterjesztését kell beállítani. A 3-as gomb az átméretezés módját állítja. A cut-out csak a cél felbontás közelében használható, a kép közepét használja, amíg ráfér a kijelzőre. A 4-es gomb a fekete-fehér konverzió módját állítja. Az 5-ös gomb elkészíti a mono fájlt. A mappában megnézhető a monochrome kép (mono.bmp), az átméretezett kép (boot32.bmp / boot64.bmp). Kész monochrome felbontáshelyes bmp fájl boot32.bmp/boot64.bmp névre átnevezve a 8-as gombbal konvertálható boot32.mono/boot64.mono fájlra. Ha a kép neve boot32.mono (128x32) vagy boot64.mono (128x64), ez a kép lesz látható bootolás alatt. A kész mono fájlt fel kell tölteni a a modul tárhelyére. Átnevezve használható az OLED[0] parancshoz.
Köszönet az ImageMagick csapatnak.

Kép elkészítése online
A használni kívánt képet először valami online képszerkesztő oldalon elkészítjük a kívánt felbontásban (max 128x64).
Az elkészült képet kiterjesztésnek megfelelően az alábbi linkek valamelyikével .mono formátumra konvertáljuk.
https://www.imageconvert.org/jpg-to-mono
https://www.imageconvert.org/png-to-mono
https://www.imageconvert.org/bmp-to-mono
Az elkészült fájl letölt, ESP modulra feltölt, utána használható az OLED[0] parancs.

QR KÓD

Csak akkor működik, ha a Setup/Peripherals menüben a kijelző mellett a QR ki van pipálva.
OLED[0](CLR,QR,R,0,0)www.esp8266.org
QR kódot jelenít meg x (0-79), y (0-15) kezdő koordinátáktól. Telefon felismeri, megjeleníti / végrehajtja a tartalmát.
Részletek:https://github.com/zxing/zxing/wiki/Barcode-Contents

OLED[0](CLR,QR,W)
Ez a kód csatlakoztatja a telefont a WiFi hálózathoz.

FOLYAMATJELZŐ

OLED[0](CLR,PBAR,0,20,127,20)10
ProgressBar-t jelenít meg.
Bal felső sarok x, y, méret hossz, magasság, utána érték (0-100).

NUM[0]VL=10|
NUM[0]VH=50|
NUM[0]=40

OLED[0](CLR,PBAR,0,0,127,20)NUM[0]
NUM[0] értékét mutatja.
OLED[0](CLR,PBAR,0,0,127,20)NUM[0]%
NUM[0] értékét mutatja min max között százalékban.



Példák

Óra, dátum.
CMD[10]:STR[0]=%Y. %MS %D.;STR[1]=%WL;STR[2]=%0h:%0m:%0s|
CMD[11]:OLED[0](CLR,TXTC,3)STR[2];OLED[0](TXTC,2,A0)STR[1];OLED[0](TXTC,2,A2)STR[0]|
TIMES:CMD[10];CMD[11]


Óra, dátum anyanyelven.
Nyelv
STR[10]=Vasárnap|
STR[11]=Hétfö|
STR[12]=Kedd|
STR[13]=Szerda|
STR[14]=Csütörtök|
STR[15]=Péntek|
STR[16]=Szombat|
STR[20]=Január|
STR[21]=Február|
STR[22]=Március|
STR[23]=Április|
STR[24]=Május|
STR[25]=Június|
STR[26]=Július|
STR[27]=Augusztus|
STR[28]=Szeptember|
STR[29]=Október|
STR[30]=November|
STR[31]=December|

Start
CMD[40]:NUM[8]=%M;NUM[8]+19;STR[0]=NUM(8);STR[0]> %D.|
CMD[41]:NUM[9]=%W;NUM[9]+9;STR[1]=NUM(9)|
CMD[42]:STR[2]=%0h:%0m:%0s|
CMD[43]:OLED[0](CLR,TXTC,3)STR[2];OLED[0](TXTC,2,A0)STR[1];OLED[0](TXTC,2,A2)STR[0]|
TIMES:CMD[40];CMD[41];CMD[42];CMD[43]