Zaloguje się
or
Tel +48 698 615 740

Wyświetlacz LCD GMG12864-06 SPI wykorzystanie w praktyce

10 lutego, 2022

W tym artykule pokażemy jak poprawnie podłączyć i zaprogramować wyświetlacz LCD GMG12864-06 SPI. Do skomunikowania wyświetlacza z mikrokontrolerem użyjemy interfejsu SPI.

Spis treści

  • Krótki opis
  • Specyfikacja
  • Kod programu
  • Pliki źródłowe

Krótki opis

Wyświetlacz posiada wbudowane podświetlenie w celu polepszenia jakości wyświetlanych informacji. Urządzenie do komunikacji wykorzystuje interfejs SPI. W projekcie zostanie wykorzystana biblioteka  u8g2, która posiada szeroki wachlarz możliwości edycji tekstu. Dodatkowym atutem wyświetlacza jest możliwość ustawienia kontrastu, dzięki czemu jesteśmy w stanie uzyskać dokładny i widoczny obraz dla różnych warunków zewnętrznego oświetlenia.

Specyfikacja

W projekcie wykorzystano następujące elementy :

  • Arduino NANO,
  • 7 kabli typu męsko-żeńskiego,
  • rezystor 10 Ω służacy do połączenia katody podświetlacza z masą układu,
  • przylutowane złącze szplikowe (niewymagane).

Schemat połączeń

Tabela połączeń odpowiednich pinów przedstawia się następująco:

 

Wyświetlacz LCD Arduino
CSD10
RSED8
RSD9
SCLD13
SID11
VDD3.3V
VSSGND
APołączenie kablem z VDD
KPołączenie za pomocą rezystora 10Ω do VSS

Kod programu

#include <U8g2lib.h> // Biblioteka do obsługi wyświetlacza LCD
#include <SPI.h> // Biblioteka do obsługi komunikacji SPI
/* Zdefiniowanie pinów do komunikacji przez interfejs SPI */
#define SCL 13
#define SI 11
#define CS 10
#define RS 9
#define RSE 8
/*-------------*/
U8G2_ST7565_ERC12864_1_4W_SW_SPI u8g2(U8G2_R0, SCL, SI, CS, RS, RSE); // Stworzenie obiektu dla ekranu LCD GMG12864-06D SPI v2.0

Na początku należy zaimportować do programu biblioteki służące do obsługi wyświetlacza i interfejsu SPI. Następnie definiujemy piny i tworzymy obiekt, którego argumenty to odpowiednio podłączone piny.

void setup(void) {
  u8g2.begin(); // Inicjalizacja ekranu
  u8g2.setContrast (10); // Ustawienie kontrastu na 10
  u8g2.enableUTF8Print(); // Urochomienie możliwości wyświetlania
}

Po stworzeniu obiektu przechodzimy do inicjalizacji ekranu za pomocą standardowej funkcji u8g2.begin(). Następnie ustawiamy odpowiedni kontrast (w moim przypadku jest to wartość 10, ale może się zmieniać w zależności od zewnętrznego oświetlenia). Na samym końcu włączamy możliwość wyświetlania obrazu na wyświetlaczu.

void loop(void) {
  u8g2.firstPage(); // Stworzenie pierwszej strony na wyświetlaczu
  do {  // Wyświetlaj dopóki
    u8g2.setFont(u8g2_font_luBS10_tf); // Ustawienie czcionki Luicida o rozmiarze 10 pikseli
    u8g2.drawFrame(0,0,128,64); // Narysowanie obwódki o szerokości 64 i długości 128 pikseli
    u8g2.setCursor(6, 25); // Ustawienie kursora na pozycję x = 6, y = 25
    u8g2.print("HELLO WORLD!"); // Wyświetlenie napisu
    u8g2.setCursor(6, 40); // Ustawienie kursora na pozycję x = 6, y = 25
    u8g2.drawLine(6, 35, 120, 35); // Narysowanie linii o początku x = 6, y = 3 i końcu x = 120, y = 35
    u8g2.setCursor(14, 55); // Ustawienie kursora na pozycję x = 14, y = 55
    u8g2.print("AJMAKER.PL"); // Wyświetlenie napisu
    } while ( u8g2.nextPage() ); // Pętla wykonująca się dopóki funkcja zwraca wartość 1
  delay(1000); // Czekaj 1000ms 
}

Na początku niezbędne do wyświetlenia tekstu jest stworzenie strony początkowej. Funkcja setFont() służy do wyboru rozmiaru i rodzaju czcionki (pełną listę czcionek znajdziecie tutaj). Pozycja kursora została ustawiona doświadczalnie w celu uzyskania wycentrowanego napisu. Sekwencję powtarzamy dopóki zostanie spełniony warunek while (u8g2.nextPage()) sprawdzający, czy nadal znajdujemy się na aktualnej stronie.

Pliki źródłowe

Sticky
Możliwość komentowania Wyświetlacz LCD GMG12864-06 SPI wykorzystanie w praktyce została wyłączona
Mateusz Pacia

Mateusz Pacia

Skończyłem studia na politechnice Wrocławskiej na kierunku Mechatronika. Zajmuje się tworzeniem i programowaniem układów z wykorzystaniem mikrokontrolerów STM32 i Arduino. W wolnych chwilach programuje w języku PHP i Java.

Comments are closed.

Strona korzysta z plików cookies w celu realizacji usługi i zgodnie z Polityką Plików Cookies. Możesz określić warunki przechowywania lub dostępu do plików cookies w Twojej przeglądarce.