This is an old revision of the document!
ESP8266 - Displej OLED 0.91" 128x32
Project owner: | Cyberian |
Interested: | … |
Related: | |
License: | Uveďte původ-Zachovejte licenci CC BY-SA |
Úvod
Cílem je připojit výše zmíněný displej. Popsat první zkušenosti pro lidi, kteří teprve začínají, zkusit si vyrobit bitmapu a úspěšně ji zobrazit. Předpokladem je základní znalost jazyka Cpp a elementární znalost elektroniky. Nemusíte umět vyloženě základy číslicových obvodů, ale měli by jste vědět, základní info o součástkách a neodpálit si ESP8266 hned při prvním zapojení. Arduino IDE, by jse měli mít již nastaveno na správnou desku.
Co bude potřeba:
- ESP8266 (Nodemcu nebo např. Wemos mini D1)
- 2x 2K7 rezistor
- OLED-091 diymore 128×32 I2C dispej
- nepájivé kontaktní pole, případně pájitelné
Prakticky všechny zapojení, která jsem našel, byli bez pull up rezistorů. Pokud o nich nic nevíte doporučuji si něco načíst. Pull up rezistory (4K7) jsou v našem případě již na spodku desky OLED displeje. Bohužel však nestačili, což jsme zjistili v Labce na osciloskopu, kde místo obdélníkového signálu byla pila. V našem případě vedou pull up rezisotry napětí 3,3 V na D1 a D2, kde D1 vede na hodiny displeje(SCL) a D2 na data(SDA). V počtu pochých dvou linek je výhoda v I2C sběrnici narozdíl od SPI sběrnice, kde potřebujete na samotnou komunikaci více pinů.
Zapojení obvodu
Kapacitor, který vidíte u napájecí větve není potřeba. Mívám ho standardně ze zvyku u všeho u čeho mám podezření, že by mohlo spičkově odebírat proud, což není tento případ, ale zvyk je zvyk :)
Vytvoření bitmapy
Některé konvertory mají problém s určitými rozměry obrázků. Obrázek je nutno zmenšit ještě před koverzí a ideální je převést ho na stupně šedi nebo monochromatický taktéž před vlastní konverzí. Jako na potvoru pro konverzi malého obrázku 32×29 px fungoval jen Image2Code, který je trochu obtížnější získat
Seznam konvertorů:
- LCD Assisant http://en.radzio.dxp.pl/bitmap_converter/
Konvertory krom gimpu jsem prověřil na virustotal.com, nicméně i tak doporučuji překontrolovat je znovu. Image2Code je nástroj poskytnutý v sekci použitelných zdrojů ke knihovně Adafruit GFX napsaný v javě. Je nutno ho zkompilovat přes příkaz “gradle build”. Pokud vám to nepůjde, mohu vám v případě windows poslat již sestavenou verzi
Pokud se nepovede konverze z nějakého důvodu ani tak, pak vložte do pole tento obsah:
{ 0x20,0x0,0x0,0x20, 0x70,0x0,0x0,0x70, 0x50,0x0,0x0,0x50, 0xd8,0x0,0x0,0xd8, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x1,0xc0,0x0,0x0, 0x3,0x60,0x0,0x0, 0x2,0x20,0x78,0x0, 0x2,0x20,0x48,0x0, 0x2,0x20,0x48,0x0, 0x3,0x60,0x48,0x0, 0x1,0xc0,0x38,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x0,0x0,0x0,0x0, 0x1,0x0,0x8,0x0, 0x1,0x80,0x8,0x0, 0x0,0x88,0x98,0x0, 0x0,0xc5,0x10,0x0, 0x0,0x42,0x10,0x0, 0x0,0x65,0x30,0x0, 0x0,0x28,0xa0,0x0, 0x0,0x20,0x20,0x0 };
Kód programu
Na začátku je nutno nainstalovat si v Arduino IDE v menu: Nástroje/Spravovat knihovny následující knihovny:
- SSD1306 by adafruit(v mé době ver. 1.28)
- Adafruit GFX by adafruit (v mé době ver. 1.36)