Jak připojit OLED I2C displej k ARDUINO

Pin
Send
Share
Send

Úvod: Představujeme 128 * 64/128 * 32 OLED I2C displej.

Ahoj Jsem amatér - nadšenec elektroniky a jsem si jist, že vše, co děláme, jsou elektronické hračky - domácí výrobky nebo velké projekty, vše ze zvědavosti a lenivosti. Zvědavost se snaží pochopit a pochopit ohromné, neznámé, pochopit, jak to funguje, co dělá, jak se pohybuje. A lenost vymýšlí, aby s tím přišla, aby se nevstala, neseděla, nezvedla, neznečistila nebo něco jiného důležitého.
Protože je vidět informace lepší než porozumět tomu, co se v našem zařízení děje, nebo se to již stalo nebo se děje, určitě budeme chtít získat tyto velmi užitečné informace od našich mikrokontrolérů, senzorů nebo jiných zařízení. A v každém případě chci dostávat jakékoli zprávy, jako jsou otázky, varování, připomenutí, emotikony, hvězdičky, srdce a podobně.
Pro ty, kteří mají také podobné přání, je zde rychlý průvodce připojením a kontrolou malých a levných OLED displejů.
Dále budeme hovořit o jednom z široce dostupných modelů radioamatérů OLED displejů ovládaných čipem SSD1306, s velikostí obrazovky 0,96 palce a rozlišením 128 * 64 nebo 128 * 32 pixelů. Tyto displeje jsou ideální pro malé amatérské rozhlasové designy a domácí výrobky.

Krok 1: Klíčové koncepty


Připojíme ji k Arduino UNO / NANO, a naprogramujeme ji také přes Arduino.
  • OLED je organická dioda emitující světlo, tj. Polovodičové zařízení vyrobené z organických sloučenin, které začíná emitovat světlo, když jím prochází elektrický proud.
  • ARDUINO je platforma pro školení a automatizaci budov a robotické systémy.
  • ArduinoIDE je vývojové prostředí. Toto je bezplatný programovací nástroj Arduino.
  • I2C - Interintegrované obvody, komunikační linka mezi mikroobvody.
  • Skica, je to kód, je to program - Arduino terminologie.

Postupujte podle pokynů, abyste pochopili, jak správně připojit a nakonfigurovat OLED displej k Arduino a jak zobrazit vlastní zprávu na jeho displeji.
Děláme vše v krocích.

Krok 2: Příslušenství


Budeme potřebovat pouze čtyři věci:
  • 1. Samotný OLED displej je 0,96 ”(lze zakoupit na Aliexpress nebo Ebay, - dlouhý, ale levný!).
  • 2. Arduino UNO / Nano (na stejném místě jako displej).
  • 3. Připojovací vodiče (tamtéž).
  • 4. Počítač nebo notebook s nainstalovaným ArduinoIDE.

Obecně platí, že nákup dílů pro různé projekty na Aliexpress a Ebay je velmi cool věc, zatímco děláte jeden projekt, díly pro druhý jsou již na cestě. Hlavní věcí je nezapomenout na objednávku.

Krok 3: Připojte displej


Displej je řízen čipem SSD1306, který podporuje pět komunikačních protokolů, z nichž jeden je I2C. Data o tomto protokolu jsou přenášena pouze dvěma dráty a čím méně drátů v případě, tím lépe, takže nám to dobře vyhovuje. Ale! Existují moduly s protokolem SPI a dokonce i přepínání protokolů, proto buďte při nákupu tohoto modulu opatrní.

Použité závěry:
OLED displej - SCL / SCK (hodiny) a SDA (data), "Plus" výkon (VCC) a "Minus" výkon (GND).

Použité závěry:
Arduino UNO - SCL / SCK na A5 a SSD na A4, výkon „plus“ (+ 5 V) a „minus“ (GND).
Připojte displej k Arduino:
  • Vcc - 5V
  • GND - GND
  • SDA - A4
  • SCL - A5

Krok 4: Skener I2C


Každé zařízení na sběrnici I2C má hexadecimální adresu, nemůžete ji změnit, je pevně šitá, každý odpovědný výrobce ji musí označit někde v případě nebo v pokynech. Existují moduly s přepínači a propojkami, se kterými můžete změnit adresu, ale ... pokud jsou zařízení levná, na ošklivost, pak se výrobce nemusí obtěžovat s takovým maličkostem, takže ho budete muset určit sami.
Celkově lze na sběrnici použít až 127 adres - 119 pro zařízení a 8 servisních adres. Komunikace probíhá na těchto adresách. Existuje mistr, on je Mistr, ale existuje otrok, je také otrok - Masters se ptají, následovníci odpovídají, všechno je jednoduché.
Protože náš OLED displej používá komunikační protokol I2C a adresa nemusí být uvedena, pokusíme se zjistit tuto samotnou adresu.
To lze provést stažením krátké skici na desku Arduino s připojením OLED. ALE!
Udělejte si čas na okamžité nahrání náčrtu do Arduina! Nejprve si stáhněte „ovladač“, tzn. propojíme knihovny a za tímto účelem půjdeme rovnou na „Krok 5“ a potom se vrátíme a budeme pokračovat.

Krok 4: Pokračování:


Stáhněte si CODE Finder_I2C_Hex_Address.ino, nahrajte na Arduino.
Otevřete "Port Monitor", nastavte rychlost na 9600 a pokud je vše správně připojeno, program zobrazí adresu zařízení, v mém případě OLED s adresou 0x3F.

Krok 5: Stahujte a připojujte knihovny


Aby všechno fungovalo správně a nemuseli jste znovu objevovat kolo, musíte k prostředí ArduinoIDE připojit několik knihoven, konkrétně: ADAFRUIT GFX a ADAFRUIT SSD1306, jsou nezbytné, aby Arduino mohl nezávisle komunikovat s displejem OLED.
Tyto knihovny můžete připojit podle těchto kroků.
  • 1. V ArduinoIDE přejděte do nabídky Skica.
  • 2. Vyberte „Zahrnout knihovny“ / Zahrnout knihovny.
  • 3. Vyberte „Správa knihoven“ / Spravované knihovny.
  • 4. Najděte ADAFRUIT GFX a nainstalujte je.
  • 5. Najděte ADAFRUIT SSD1306 a nainstalujte je.

S čerstvými verzemi knihoven pro mě displej pokřiveně fungoval, možná to je samozřejmě kvůli zakřivení rukou, ale po instalaci prvních verzí těchto knihoven se vše začalo objevovat hladce a krásně. Z nějakého důvodu se Pushkinovy ​​linky objevují v jeho paměti:
... a zážitek, syn těžkých chyb,
a génius, paradoxy přátel.

Dalším způsobem, jak instalovat knihovny, je najít, stáhnout a nainstalovat tyto knihovny sami.
Například Github:
//github.com/adafruit/Adafruit-GFX-Library
//github.com/adafruit/Adafruit_SSD1306

Jedná se o stejné knihovny Adafruit, ale podobné knihovny lze snadno vyhledávat ve vyhledávačích na žádost OLED I2C. Mnoho nadšenců píše knihovny „pro sebe“ a poté je umístí na web. Kterou knihovnu použijete, je na vás.
K tomu, aby se na displeji zobrazovaly ruské písmena, jsou také zapotřebí speciální knihovny, ale toto je samostatné téma samostatného článku.
Po instalaci knihoven se můžete vrátit ke kroku 4 a nakonec zjistit hexadecimální adresu vašeho displeje.

Krok 6: Testování displeje


Chcete-li zkontrolovat, zda vše funguje podle očekávání, spusťte zkušební příklad z ArduinoIDE.
Postupujte takto:
Jděte FILE> PŘÍKLADY> SSD 1306> Vyberte 128x64 i2c
Pokud se zobrazí chyba, zkuste zvolit SSD 1306> 128x32 i2c.
Pokud se chyba znovu objeví, zkuste změnit adresu I2C na řádku 61 demo kódu a nahraďte ji adresou vašeho displeje, kterou jste určili v kroku # 4.
Pokud dojde k chybě znovu, můžete zkusit upravit soubor Adafruit_SSD1306.h, který je umístěn ve složce s knihovnami Arduino.

Otevřete soubor Adafruit_SSD1306.h v textovém editoru a najděte řádky:
// # define SSD1306_128_64 #definovat SSD1306_128_32 // #definovat SSD1306_96_16

Zrušte řádek:
#define SSD1306_128_64.

Mělo by to být takto:
#define SSD1306_128_64 // # definovat SSD1306_128_32 // #define SSD1306_96_16

Pokud je chyba znovu, je třeba zkontrolovat správnost připojení.
Po dokončení stahování se na obrazovce zobrazí zkušební animace, což znamená, že jste úspěšně nakonfigurovali svůj OLED displej.

Když si tuto animaci užijete, můžete přejít k dalšímu kroku.

Krok 7: Psaní vlastní zprávy


Chcete-li napsat vlastní zprávu, vytvořte nejprve novou skicu v programovacím prostředí ArduinoIDE.
V záhlaví připojujeme 4 knihovny:
#include #include #include #include 

Pak zapíšeme resetovací protokol:
#define Displej OLED_RESET 4 Adafruit_SSD1306 (OLED_RESET);

V NASTAVENÍ VOID zadejte hexadecimální adresu našeho displeje 0x3C, které jsme zjistili v kroku č. 4.
Poté inicializujte displej a vymažte jej:
display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay ();

Dále ve VOID LOOP píšeme hlavní kód, tedy naši zprávu, kterou chceme zobrazit na displeji.
Za tímto účelem popíšeme velikost textu, barvu textu, polohu kurzoru a nakonec zobrazíme zprávu pomocí příkazu println:
display.setTextSize (2); display.setTextColor (WHITE); display.setCursor (0,0); display.println ("Výborně!"); display.display ();

Na konci nezapomeňte psát display.displaytak, aby se obrázek zobrazil na obrazovce, jinak dojde ke ztrátě.
Pokud jste vše udělali správně, na displeji se zobrazí zpráva.

Zde je CODE Starting_with_Arduino_OLED.ino našeho programu:
code.zip 946 b (počet stažení: 1366)

Pin
Send
Share
Send