Jak podłączyć wyświetlacz OLED I2C do ARDUINO

Pin
Send
Share
Send

Wprowadzenie: Przedstawiamy wyświetlacz OLED I2C 128 * 64/128 * 32.

Cześć Jako amator - miłośnik elektroniki, jestem pewien, że wszystko, co robimy, to zabawki elektroniczne - domowe produkty lub duże projekty, wszystko z ciekawości i lenistwa. Ciekawość stara się zrozumieć i zrozumieć ogromne, nieznane, zrozumieć, jak tam działa, co robi, jak się porusza. I lenistwo wymyśla, aby to wymyślić, aby nie wstawać, nie dopasowywać się, nie unosić, nie brudzić się lub coś innego ważnego.
Ponieważ oglądanie informacji jest lepsze niż zrozumienie tego, co ma się wydarzyć w naszym urządzeniu, lub już się wydarzyło lub dzieje, na pewno będziemy chcieli uzyskać te bardzo przydatne informacje z naszych mikrokontrolerów, czujników lub innych urządzeń. W każdym razie chcę otrzymywać wszelkie wiadomości, takie jak pytania, ostrzeżenia, przypomnienia, emotikony, gwiazdki, serca i tym podobne.
Dla tych, którzy mają podobne pragnienia, oto krótki przewodnik na temat podłączania i sprawdzania małych i niedrogich wyświetlaczy OLED.
Następnie porozmawiamy o jednym z szeroko dostępnych modeli radia szynowego wyświetlaczy OLED kontrolowanych przez układ SSD1306, o wielkości ekranu 0,96 cala i rozdzielczości 128 * 64 lub 128 * 32 pikseli. Wyświetlacze te idealnie nadają się do małych radiofonii i domowych produktów.

Krok 1: Kluczowe pojęcia


Podłączymy go do Arduino UNO / NANO, no i odpowiednio do programu, połączymy go również przez Arduino.
  • OLED to organiczna dioda elektroluminescencyjna, czyli półprzewodnikowe urządzenie wykonane ze związków organicznych, które zaczyna emitować światło, gdy przepływa przez nie prąd elektryczny.
  • ARDUINO to platforma do szkolenia i automatyzacji budynków oraz systemów robotyki.
  • ArduinoIDE to środowisko programistyczne. Jest to darmowe narzędzie do programowania Arduino.
  • I2C - Obwody zintegrowane, linia komunikacyjna między mikroukładami.
  • Szkic, to kod, to program - terminologia Arduino.

Postępuj zgodnie z instrukcjami, aby zrozumieć, jak prawidłowo podłączyć i skonfigurować wyświetlacz OLED do Arduino i jak wyświetlać własny komunikat na jego wyświetlaczu.
Robimy wszystko krokami.

Krok 2: Akcesoria


Będziemy potrzebować tylko czterech rzeczy:
  • 1. Sam wyświetlacz OLED to 0,96 ”(można go kupić na Aliexpress lub w serwisie eBay, - długi, ale tani!).
  • 2. Arduino UNO / Nano (w tym samym miejscu, co wyświetlacz).
  • 3. Podłączanie przewodów (ibid.).
  • 4. Komputer lub laptop z zainstalowanym ArduinoIDE.

Ogólnie rzecz biorąc, kupowanie części do różnych projektów na Aliexpress i Ebay jest bardzo fajną rzeczą, podczas gdy robisz jeden projekt, części do drugiego są już w drodze. Najważniejsze, aby nie zapomnieć złożyć zamówienia.

Krok 3: Podłącz wyświetlacz


Wyświetlacz jest kontrolowany przez układ SSD1306, który obsługuje pięć protokołów komunikacyjnych, z których jednym jest I2C. Dane dotyczące tego protokołu są przesyłane tylko dwoma przewodami, a im mniej przewodów w obudowie, tym lepiej, więc nam to odpowiada. Ale! Istnieją moduły z protokołem SPI, a nawet przełączanie protokołów, więc bądź ostrożny przy zakupie tego modułu.

Zastosowane wnioski:
Wyświetlacz OLED - SCL / SCK (zegar) i SDA (dane), moc „Plus” (VCC) i moc „Minus” (GND).

Zastosowane wnioski:
Arduino UNO - SCL / SCK na A5 i SSD na A4, moc „Plus” (+ 5 V) i moc „Minus” (GND).
Podłącz wyświetlacz do Arduino:
  • Vcc - 5 V.
  • GND - GND
  • SDA - A4
  • SCL - A5

Krok 4: Skaner I2C


Każde urządzenie na magistrali I2C ma adres szesnastkowy, nie można go zmienić, jest ściśle przyszyty, każdy odpowiedzialny producent musi podać go gdzieś na obudowie lub w instrukcji. Istnieją moduły z przełącznikami i zworkami, za pomocą których możesz zmienić adres, ale ... jeśli urządzenia są tanie, do brzydoty, to producent może nie zadać sobie trudu, aby poradzić sobie z takim drobiazgiem, więc będziesz musiał go ustalić sam.
W sumie na magistrali można użyć do 127 adresów - 119 dla urządzeń i 8 adresów serwisowych. Komunikacja odbywa się pod tymi adresami. Jest mistrz, on jest Mistrzem, ale jest niewolnik, jest także Niewolnikiem - pytają Mistrzowie, naśladowcy odpowiadają, wszystko jest proste.
Ponieważ nasz wyświetlacz OLED korzysta z protokołu komunikacyjnego I2C, a adres może nie być wskazany, spróbujemy znaleźć ten sam adres.
Można to zrobić, pobierając krótki szkic na tablicę Arduino z podłączonym OLED. ALE!
Nie spiesz się, aby natychmiast przesłać szkic do Arduino! Najpierw pobierzmy „sterownik”, tj. połączymy biblioteki i w tym celu przejdziemy bezpośrednio do „kroku 5”, a następnie wrócimy i będziemy kontynuować.

Krok 4: Kontynuacja:


Pobierz CODE Finder_I2C_Hex_Address.ino, załaduj do Arduino.
Otwórz „Port Monitor”, ustaw prędkość na 9600, a jeśli wszystko jest podłączone poprawnie, program wyświetli adres urządzenia, w moim przypadku OLED z adresem 0x3F.

Krok 5: Pobierz i podłącz biblioteki


Aby wszystko działało poprawnie, a Ty nie musiałeś od nowa wymyślać koła, musisz podłączyć kilka bibliotek do środowiska ArduinoIDE, a mianowicie: ADAFRUIT GFX i ADAFRUIT SSD1306, są one niezbędne, aby Arduino mógł niezależnie komunikować się z wyświetlaczem OLED.
Możesz połączyć te biblioteki, wykonując następujące kroki.
  • 1. W ArduinoIDE przejdź do menu Szkic.
  • 2. Wybierz „Dołącz biblioteki” / Dołącz biblioteki.
  • 3. Wybierz „Zarządzaj bibliotekami” / Zarządzane biblioteki.
  • 4. Znajdź ADAFRUIT GFX i zainstaluj je.
  • 5. Znajdź ADAFRUIT SSD1306 i zainstaluj je.

W najnowszych wersjach bibliotek wyświetlacz działał dla mnie krzywo, być może wynika to z krzywizny dłoni, ale po zainstalowaniu pierwszych wersji tych bibliotek wszystko zaczęło wyglądać gładko i pięknie. Z jakiegoś powodu linie Puszkina pojawiają się w jego pamięci:
... i doświadczenie, syn trudnych błędów,
i geniusz, paradoksy przyjaciół.

Innym sposobem instalowania bibliotek jest samodzielne znajdowanie, pobieranie i instalowanie tych bibliotek.
Na przykład Github:
//github.com/adafruit/Adafruit-GFX-Library
//github.com/adafruit/Adafruit_SSD1306

Są to te same biblioteki Adafruit, ale podobne biblioteki można łatwo wyszukiwać w wyszukiwarkach na żądanie OLED I2C. Wielu entuzjastów pisze biblioteki „dla siebie”, a następnie umieszcza je w Internecie. Która biblioteka należy do Ciebie.
Aby wyświetlacz wyświetlał rosyjskie litery, potrzebne są również specjalne biblioteki, ale jest to osobny temat dla osobnego artykułu.
Po zainstalowaniu bibliotek możesz wrócić do kroku 4 i wreszcie znaleźć adres szesnastkowy wyświetlacza.

Krok 6: Testowanie wyświetlacza


Aby sprawdzić, czy wszystko działa zgodnie z oczekiwaniami, uruchom przykładowy test z ArduinoIDE.
Aby to zrobić:
Przejdź do PLIK> PRZYKŁADY> SSD 1306> Wybierz 128 x 64 i2c
Jeśli pojawi się „Błąd”, spróbuj wybrać dysk SSD 1306> 128x32 i2c.
Jeśli błąd ponownie, spróbuj zmienić adres I2C w wierszu 61 kodu demonstracyjnego i zastąp go adresem wyświetlacza, który określiłeś w kroku 4.
Jeśli błąd wystąpi ponownie, możesz spróbować edytować plik Adafruit_SSD1306.h, który znajduje się w folderze z bibliotekami Arduino.

Otwórz plik Adafruit_SSD1306.h w edytorze tekstu i znajdź linie:
// # zdefiniuj SSD1306_128_64 # zdefiniuj SSD1306_128_32 // # zdefiniuj SSD1306_96_16

Odkomentuj linię:
# zdefiniuj SSD1306_128_64.

Powinno to wyglądać tak:
# zdefiniować SSD1306_128_64 // # zdefiniować SSD1306_128_32 // # zdefiniować SSD1306_96_16

Jeśli błąd wystąpi ponownie, należy sprawdzić poprawność połączeń.
Po zakończeniu pobierania na ekranie zobaczysz animację testową, co oznacza, że ​​pomyślnie skonfigurowałeś wyświetlacz OLED.

Gdy spodoba ci się ta animacja, możesz przejść do następnego kroku.

Krok 7: Pisanie własnej wiadomości


Aby napisać własną wiadomość, najpierw utwórz nowy szkic w środowisku programistycznym ArduinoIDE.
W nagłówku łączymy 4 biblioteki:
#include #include #include #include 

Następnie piszemy protokół resetowania:
# zdefiniować wyświetlacz OLED_RESET 4 Adafruit_SSD1306 (OLED_RESET);

W VOID SETUP podaj szesnastkowy adres naszego wyświetlacza 0x3C, który znaleźliśmy w „kroku nr 4”.
Następnie zainicjuj wyświetlacz i wyczyść go:
display.begin (SSD1306_SWITCHCAPVCC, 0x3C); display.clearDisplay ();

Następnie w VOID LOOP piszemy główny kod, czyli naszą wiadomość, którą chcemy wyświetlić na wyświetlaczu.
Aby to zrobić, opisujemy rozmiar tekstu, kolor tekstu, pozycję kursora, a na koniec wyświetlamy komunikat za pomocą polecenia println:
display.setTextSize (2); display.setTextColor (WHITE); display.setCursor (0,0); display.println („Dobra robota!”); display.display ();

Na koniec nie zapomnij napisać display.displayaby obraz był wyświetlany na ekranie, w przeciwnym razie dostaniesz pustkę.
Jeśli wszystko zrobiłeś poprawnie, na wyświetlaczu pojawi się komunikat.

Oto KOD Rozpocznij_z_Arduino_OLED.ino naszego programu:
code.zip 946 b (pliki do pobrania: 1366)

Pin
Send
Share
Send