Jak połączyć wyświetlacz OLED z Arduino Nano

Jak połączyć wyświetlacz OLED z Arduino Nano

Arduino Nano to mała płyta mikrokontrolera, która wykorzystuje ATMEGA328P do przetwarzania instrukcji. Jest podobny do Arduino Uno, ale jest znacznie mniejszy i ma niższą cenę. Arduino nano jest często używane w projektach, w których przestrzeń jest ograniczeniem, na przykład w elektronice noszonej lub robotyce na małą skalę. Arduino nano może być używane do kontrolowania danych wyświetlania OLED i przetwarzania czujników. Ten artykuł obejmie interfejsy wyświetlacza OLED z Arduino Nano.

Ta lekcja obejmuje następujące tematy:

  • 1: Wprowadzenie do wyświetlacza OLED
  • 2: Moduł wyświetlacza OLED do Arduino nano
  • 3: Instalowanie wymaganych bibliotek
  • 4: Sprawdź adres OLED I2C
  • 5: Przykład wyświetlacza OLED Arduino IDE
  • 5.1: Kod
  • 5.2: Wyjście
  • 6: Drukowanie tekstu statycznego na wyświetlaczu OLED za pomocą Arduino Nano
  • 6.1: Kod
  • 6.2: Wyjście

1: Wprowadzenie do wyświetlacza OLED

Wyświetlacz OLED I2C to organiczny ekran diodowy emitujący światło, który do komunikacji wykorzystuje protokół obwodu międzyintegrowanego (I2C). Ekrany OLED mają wysoki współczynnik kontrastu i większy kąt widzenia, co sprawia, że ​​są dobrze odpowiednie dla różnych aplikacji wyświetlaczy.

Wyświetlacz OLED I2C zazwyczaj składa się z małego ekranu OLED i obwodu sterownika, który przekształca sygnały I2C w odpowiednie napięcia i prądy potrzebne do prowadzenia pikseli OLED.

LED wewnątrz ekranu OLED oświetlają piksele, które wyświetlają nam różne obrazy i tekst. Podczas gdy z drugiej strony ekran LCD używa podświetlenia do oświetlania pikseli. Te piksele jasność można kontrolować osobno.

Teraz będziemy interfejs Arduino nano z wyświetlaczem OLED.

2: Moduł wyświetlacza OLED do Arduino nano

Ekrany OLED działają głównie nad dwoma protokołami komunikacji. To są I2C i SPI. Spośród tych dwóch SPI (szeregowy interfejs peryferyjny) jest szybszy w porównaniu do I2C, ale przez większość czasu wyświetlacz OLED I2C jest preferowany z powodu mniejszej liczby przewodów.

I2C to dwuosobowy protokół komunikacji szeregowej, który umożliwia wielu urządzeniom udostępnianie pojedynczego zestawu danych i linii zegarowych, co czyni go wygodnym wyborem do podłączania wyświetlaczy OLED z mikrokontrolerami i innymi urządzeniami

Za pomocą I2C OLED dwa piny SDA i SCL wystarczą do wyświetlania obrazów i tekstu. Podany obraz pokazuje Arduino nano z 0.96-calowy (128 × 64 pikseli) ekran OLED.

Poniżej znajduje się tabela połączenia PIN:

Gdy połączyliśmy Arduino nano z wyświetlaczem OLED, teraz zainstalujemy niezbędne biblioteki w Arduino IDE, abyśmy mogli iść do przodu z kształtami wyświetlanymi na ekranie OLED.

3: Instalowanie wymaganych bibliotek

Aby wyświetlać obrazy, musimy zainstalować niezbędne biblioteki do wyświetlacza OLED w Arduino IDE. Bez użycia tych bibliotek Arduino Nano nie może wyświetlać grafiki na OLED.

Używane są głównie dwie biblioteki z Adafruit: Biblioteka SSD1306 i GFX.

Otwórz zintegrowane środowisko Arduino (IDE) i przeszukaj bibliotekę SSD1306. Zainstaluj bibliotekę Adafruit SSD1306.

Innym sposobem instalacji jest: Szkic> Dołącz bibliotekę> Zarządzaj bibliotekami:

Teraz zainstaluj GFX Biblioteka przez Adafruit:

Jak zainstalowaliśmy obie biblioteki, więc teraz możemy łatwo zaprogramować Arduino nano z wyświetlaczem OLED.

4: Sprawdź adres OLED I2C

I2C, czyli obwód międzyintegrowany, to protokół komunikacyjny, który umożliwia podłączenie i komunikowanie się wielu urządzeń na interfejsie dwuprzewodowym. Każde urządzenie I2C musi mieć unikalny adres, od 0 do 127, aby upewnić się, że można go zidentyfikować i komunikować na linii I2C. Wiele urządzeń o tym samym adresie I2C nie może używać tego samego magistrali I2C.

Podłącz wyświetlacz OLED z Arduino Nano i po wybraniu płyty i portu w Arduino IDE Prześlij poniższy kod na płytę Nano, aby sprawdzić adres I2C na ekranie OLED.

#include /*zawiera przewód.Biblioteka H dla wyświetlacza OLED*/
void Setup ()

Drut.zaczynać(); /*I2C Komunikacja z OLED uruchamia się*/
Seryjny.rozpocząć (9600); /*Wskaźnik transmisji zdefiniowany dla komunikacji szeregowej*/
chwila (!Seryjny); /*Poczekaj na wyjście szeregowe*/
Seryjny.println („\ ni2c skaner”);

Void Loop ()

bajt err, ADR; /*Błąd zmiennej jest zdefiniowany za pomocą adresu I2C*/
int number_of_devices;
Seryjny.println („Skanowanie.");
numer_of_devices = 0;
dla (ADR = 1; ADR < 127; adr++)

Drut.początkowa transmisja (ADR);
err = drut.endtransmission ();
if (err == 0)

Seryjny.drukuj („urządzenie I2C pod adresem 0x”);
if (ADR < 16)
Seryjny.druk („0”);
Seryjny.Drukuj (ADR, Hex);
Seryjny.println (" !");
numer_of_devices ++;

else if (err == 4)

Seryjny.print („Nieznany błąd pod adresem 0x”);
if (ADR < 16)
Seryjny.druk („0”);
Seryjny.println (ADR, hex);


if (numer_of_devices == 0)
Seryjny.println („nie załączone urządzenia I2C \ n”);
w przeciwnym razie
Seryjny.println („Done \ n”);
opóźnienie (5000); /*Poczekaj 5 sekund na następny skanowanie I2C*/

Po przesłaniu kodu do Arduino nano następującego wyżej wymienione dane wyjściowe pojawi się na monitorze szeregowym. Nasz OLED jest podłączony pod adresem 0x3c.


0x3c I2C Adres będzie używane w kodzie Arduino nano do interfejsu wyświetlaczy OLED.

5: Przykład wyświetlacza OLED Arduino IDE

Po zainstalowaniu bibliotek wyświetlaczy OLED w Arduino IDE możemy zobaczyć jakiś wstępny kod przykładowy w IDE. Aby przetestować interfejsy Arduino Nano, przesłamy przykładowy kod SSD1306 w Arduino Nano.

Iść do: Plik> Przykłady> Adafruit SSD1306> SSD1306_128X64_I2C

Notatka: Pamiętaj, aby wybrać prawidłowy rozmiar i protokół komunikacji podczas otwierania przykładowego kodu. Tutaj w naszym przypadku używamy I2C OLED z rozmiarem 128x64.

1: Kod

Nowe okno IDE otworzy się tam, gdzie możemy zobaczyć przykładowy kod OLED Adafruit. Ten kod wyświetli różne wzory na OLED, takie jak gwiazdy, kręgi, przewijanie tekstu i animowany tekst.

Notatka: Pamiętaj, aby zaktualizować adres I2C za pomocą własnego wyświetlacza.

2: Wyjście

Po przesłaniu kodu do Arduino Nano możemy zobaczyć różne wzorce na wyświetlaczu OLED:

Teraz pomyślnie połączyliśmy wyświetlacz OLED z Arduino Nano za pomocą wstępnie napisanej kodu biblioteki. Teraz wyświetlimy tekst na ekranie OLED za pomocą Arduino Nano.

6: Drukowanie tekstu statycznego na wyświetlaczu OLED za pomocą Arduino Nano

Biblioteka Adafruit GFX pozwala nam wyświetlać tekst na ekranie OLED. Teraz napiszemy prosty kod do wyświetlania tekstu na OLED.

1: Kod

Otwórz Arduino IDE i prześlij kod na płytkę Arduino Nano:

#włączać
#włączać
#włączać
#Define Screen_Width 128 /*128 Szerokość OLED w pikselach* /
#Define Screen_Height 64 /*64 Wysokość OLED w pikselach* /
ADAFRUT_SSD1306 Wyświetlacz (Screen_Width, Screen_Height i Wire, -1); /*Wyświetlacz OLED podłączony do pinów I2C (SDA, SCL)*/
void setup ()
Seryjny.rozpocząć (115200); / *BAUD RATE Communication UART */
Jeśli(!wyświetlacz.Rozpocznij (SSD1306_SWITCHCAPVCC, 0x3C)) /*i2c adres, pod którym OLED będzie komunikował się* /
Seryjny.println (f („alokacja ssd1306 nie powiodła się”));
Do(;;);

Opóźnienie (2000);
wyświetlacz.clearDisplay (); /*Wyczyść wyświetlacz*/
wyświetlacz.setTextSize (2); /*Zdefiniowany rozmiar tekstu ekranu OLED*/
wyświetlacz.setTextColor (biały); /*Kolor tekstu ekranu OLED*/
wyświetlacz.setCursor (0, 10); /*Wyświetl tekst statyczny*/
wyświetlacz.println („Linuxhint.com "); /*ciąg do przedstawienia na wyświetlaczu OLED* /
wyświetlacz.wyświetlacz();

void Loop ()

Na początku kodu najpierw zaimportowaliśmy dwie biblioteki, które obejmują bibliotekę Wire i Adafruit. Drut.Biblioteka H pozwala nam korzystać z protokołu komunikacji I2C, podczas gdy druga biblioteka Adafruit pomaga wyświetlać tekst na ekranie OLED.

Dalej w kodzie jest zdefiniowana poniżej funkcja wyświetlania:

ADAFRUT_SSD1306 Wyświetlacz (Screen_Width, Screen_Height i Wire, -1);

Polecenia wyświetlania Adafruit przyjmują 4 parametry, które obejmują Screen_Width i Screen_Height zmienne. Te dwie zmienne wymagają wielkości ekranu OLED. Używamy OLED o rozmiarze 128x64. A trzeci parametr to &Drut.

Ostatni parametr to -1 co wskazuje, że ekran OLED nie ma zewnętrznego przycisku resetowania. Jeśli mamy ekran OLED z przyciskiem resetowania, przekazamy ten parametr do pinu GPIO. Jeśli przycisk resetowania zostanie naciśnięty, OLED wyświetli tekst.

Następny adres I2C (0x3c) jest zdefiniowane, które przy użyciu Arduino i2c Kod skanera.

Wreszcie ciąg, który ma być wyświetlany na ekranie OLED, jest zdefiniowany wraz z rozmiarem i kolorem czcionki.

Teraz będziemy obserwować wyjście na ekranie OLED.

2: Wyjście

W wyjściu możemy zobaczyć ciąg „Linuxhint.com”Jest wyświetlany na ekranie OLED o rozmiarze czcionki 2.

Ukończyliśmy interfejs wyświetlacza OLED I2C z Arduino Nano Board.

Wniosek

I2C OLED (organiczna dioda emitująca światło) to rodzaj wyświetlacza OLED, który komunikuje się z mikrokontrolerem lub innym urządzeniem za pomocą protokołu I2C. Ten artykuł obejmował kod, aby połączyć się z Arduino Nano z wyświetlaczem I2C OLED za pomocą Arduino IDE. Za pomocą danej metody dowolnego wyświetlacza OLED może być połączone z płytką Arduino Nano.