Zastanówmy się, jak podłączyć wyświetlacz ciekłokrystaliczny 84x48 pikseli z Nokii 5110 do Arduino.
Niezbędny
- - Arduino;
- - wyświetlacz LCD do Nokii 5110/3310;
- - przewody łączące.
Instrukcje
Krok 1
Podłączmy ekran LCD z Nokii 5110 do Arduino zgodnie z poniższym schematem.
Krok 2
Wiele bibliotek zostało napisanych do pracy z tym ekranem LCD. Proponuję skorzystać z tego: https://www.rinkydinkelectronics.com/library.php?id=44 (pobierz plik LCD5110_Basic.zip).
Aby zainstalować, rozpakuj plik do katalogu Arduino IDE/biblioteki/.
Biblioteka obsługuje następujące funkcje.
LCD5110 (SCK, MOSI, DC, RST, CS); - zapowiedź na ekranie LCD wskazująca na zgodność z pinami Arduino;
InitLCD ([kontrast]); - inicjalizacja wyświetlacza 5110 z opcjonalnym wskazaniem kontrastu (0-127), domyślnie 70;
setContrast (kontrast); - ustawia kontrast (0-127);
włącz sen (); - przełącza ekran w tryb uśpienia;
wyłącz sen (); - wyprowadza ekran z trybu uśpienia;
clrScr (); - czyści ekran;
clrRow (wiersz, [początek], [koniec]); - czyszczenie wybranego wiersza numeru wiersza, od początku do końca;
odwróć (prawda); i odwróć (fałsz); - włączanie i wyłączanie inwersji zawartości ekranu LCD;
drukuj (ciąg, x, y); - wyświetla ciąg znaków o określonych współrzędnych; zamiast współrzędnej x możesz użyć LEFT, CENTER i RIGHT; wysokość standardowej czcionki wynosi 8 punktów, więc linie muszą być rozmieszczone co 8 punktów;
printNumI (liczba, x, y, [długość], [wypełniacz]); - wyświetlić liczbę całkowitą na ekranie w danej pozycji (x, y); długość - pożądana długość numeru; wypełniacz - znak wypełniający "pustki", jeśli liczba jest mniejsza niż pożądana długość; domyślna jest pusta spacja ";
printNumF (liczba, dec, x, y, [dzielnik], [długość], [wypełniacz]); - wyświetlić liczbę zmiennoprzecinkową; dec - liczba miejsc po przecinku; dzielnik - kropka dziesiętna, domyślnie kropka ".";
setFont (nazwa); - wybierz czcionkę; wbudowane czcionki noszą nazwy SmallFont i TinyFont; możesz zdefiniować swoje czcionki w szkicu;
odwrócony tekst (prawda); i invertText (fałsz); - inwersja tekstu włączona / wyłączona;
DrawBitmap (x, y, dane, sx, sy); - wyświetlić obraz na ekranie we współrzędnych x i y; dane - tablica zawierająca obrazek; sx i sy to szerokość i wysokość obrazu.
Krok 3
Napiszmy taki szkic. Najpierw dołączamy bibliotekę, następnie deklarujemy instancję klasy LCD5110 z przypisaniami pinów.
W procedurze konfiguracji () inicjujemy ekran LCD.
W procedurze loop() czyścimy ekran i piszemy dowolny tekst małą czcionką, pod nim średnią czcionką wyświetlamy licznik sekund.
Krok 4
Pokażmy zdjęcie. W tym celu przygotujmy obraz monochromatyczny, który chcemy wyświetlić na Nokii 5110. Pamiętajmy, że rozdzielczość ekranu to 48 na 84 piksele, a obraz nie powinien być większy. Na stronie https://www.rinkydinkelectronics.com/t_imageconverter_mono.php przekonwertuj obrazek na tablicę bitową. Pobierz wynikowy plik z rozszerzeniem „*.c” i dodaj go do projektu za pomocą menu: Szkic -> Dodaj plik… lub po prostu umieść plik w katalogu szkicu, a następnie przeładuj Arduino IDE.
Krok 5
Teraz trzeba zadeklarować tablicę z danymi obrazu w kodzie programu (w moim kodzie jest to linia extern uint8_t mysymb;), a następnie użyć funkcji drawBitmap(), aby wyświetlić obraz w żądanym miejscu na ekranie.
Krok 6
Prześlij szkic do Arduino. Teraz tekst zostaje zastąpiony obrazkiem, a licznik za każdym razem zwiększa swoją wartość.