RgNt5Mfc9aHvi
Zdjęcie przedstawia płytkę Arduino z podłączonymi kabelkami w wyświetlaczem pokazującym godzinę, temperaturę, dzień tygodnia oraz datę. Nad wyświetlaczem widoczne są kolorowe kabelki z wtyczkami wpięte w panel.

I_R_W15_M03 Przykładowe projekty

Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Budowa wyświetlacza LCD 2×16

RRDBllJLER7HR1
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Wyświetlacz LCD jest wyposażony w 16 złączy:

  • VSS – masa

  • VDD – napięcie zasilające (+5 V)

  • V0 – regulacja kontrastu

  • RS – wybór rejestru instrukcji wyświetlacza (stan niski) albo rejestru danych (stan wysoki)

  • RW (Read/Write) – odczyt (stan niski)/zapis (stan wysoki); w trybie bez odczytu flagi zajętości, wyprowadzenie może zostać podłączone do masy

  • E (Enable) – jeśli pojawi się zbocze opadające, wyświetlacz jest gotowy do odczytu danych z magistrali

  • D0–D7 – magistrala danych; po tych liniach przesyłane są dane oraz instrukcje dla wyświetlacza

  • A – zasilanie podświetlenia

  • K – masa podświetlania

Wyświetlacz można regulować (ustawić większy lub mniejszy kontrast), aby poprawić czytelność pokazywanych napisów. Potrzebny jest do tego kolejny element – potencjometr, czyli rezystor, którego oporność można zmieniać.

R5w3i7tCDSF6w
Źródło: Contentplus.pl Sp. z o.o., licencja: CC BY-SA 3.0.

Potencjometr ma postać pokrętła umieszczonego w obudowie z trzema nóżkami. Właśnie za pomocą pokrętła zmieniamy wartość rezystancji.

Przypomnij sobie układ dzielnika napięcia, który omawialiśmy w czasie lekcji poświęconej podstawom elektroniki. Potencjometr jest regulowanym dzielnikiem napięcia: rezystancja między jego dwoma skrajnymi nóżkami jest stała, podobnie jak oporność połączonych szeregowo rezystorów, z których zbudowany jest dzielnik. Zmienia się natomiast rezystancja między wyprowadzeniem środkowym a dowolną ze skrajnych nóżek – zależy ona od położenia pokrętła potencjometru. W rezultacie możemy regulować wartość napięcia wyjściowego dzielnika. Wraz ze zmianami napięcia zmienia się z kolei kontrast wyświetlacza.

Oto schemat podłączenia wyświetlacza do układu z czujnikiem temperatury, diodą LED i brzęczykiem:

RqoXrK1L8vvHo1

Dlaczego tak właśnie należy podłączyć wyświetlacz? Wynika to z jego budowy oraz z bibliotekibibliotekabiblioteki, którą dołączymy do szkicu. Biblioteki są plikami, w których opisano rozmaite funkcje. Dzięki bibliotekom nie trzeba tworzyć własnych funkcji w szkicu (często zajęłyby one kilkaset linii kodu), lecz wystarczy skorzystać z gotowych zestawów instrukcji.

Biblioteka wykorzystywana do obsługi wyświetlacza LCD została opracowana właśnie dla układu połączeń widocznego na schemacie. Jeżeli zatem wepniesz styki przewodów w inne piny niż te pokazane na rysunku, wyświetlacz nie będzie działał. W takiej sytuacji należałoby dokonać zmian w bibliotece, jednak takiego zadania podejmują się tylko doświadczeni programiści.

Układ wyświetlacza w Arduinio - Tinkercad

Zróbmy symulację układu z wyświetlaczem LCD 2x16, za pomocą środowiska Tinkercad.

RVMlti9haWuif

Jako że będziemy używać wyświetlacza LCD wybierzemy dużą płytkę stykową.

Z listy rozwijanej Komponenty Podstawowe, wybierz Wszystko.

RySgcuRoc4435

Znajdź dużą płytkę i umieść w głównym oknie.

R1NDLJjrHAdAh

Znajdź i wstaw na płytkę stykową czujnik temperatury.

RdWPD7CJxpNCy

Znajdź i dodaj do płytki stykowej diodę LED.

RtutPocdfpSpz

Jako że w dostępnych komponentach nie mamy dostępnego brzęczyka, skorzystamy z  przetwornika piezo.

R1DCTcuVb9Zpr

Do naszej płytki dodajmy teraz wyświetlacz LCD 2x16.

RfWCLKz8MEM2e

Dodajmy teraz potencjometr. Ustaw jego wartość na 10 komega.

RamIMN9VDQtg0

Do naszej płytki stykowej dodajmy trzy rezystory o wartości 220 omega. Jeden dodamy do anody diody LED, jeden do przetwornika piezo i jeden do anody diody w wyświetlaczu LCD.

RJ6DLkTZuGYx3

Dodaj teraz moduł Arduino Uno do okna symulacji.

Rm8R17E1chIq9

Zaczniemy od podpięcia szyny dodatniej i ujemnej z płytką Arduino Uno. Podepniemy ze sobą szyny górne i dolne.

RxHISVAzYQFPy

Do ujemnej szyny podepniemy: trzecią nóżkę czujnika temperatury, katodę diody LED, wolną nóżkę przetwornika piezo, pierwszy pin (GND) wyświetlacza LCD, piąty pin (RW) wyświetlacza LCD, szesnasty pin (katoda diody) wyświetlacza LCD oraz pierwszą nóżkę potencjometru.

R1YcFtrwtlyBu

Do dodatniej szyny podpinamy: pierwsza nóżkę czujnika temperatury, drugi pin (VCC) wyświetlacza LCD oraz trzecią nóżką potencjometru.

RadEehw4v95Df

Środkową nóżkę potencjometru łączymy z pinem V0 wyświetlacza LCD.

R17MCAlE1WNrH

Środkową nóżkę czujnika temperatury łączymy z pinem A0 Arduino Uno.

RWM6xu7n4kmt2

Wolną nóżkę rezystora wpiętego z przetwornik piezo podpinamy do pinu D6 Arduino.

RC7FFypd05uJt

Wolną nóżkę rezystora wpiętego w anodę diody LED podpinamy pod pin D7 Arduino.

R1dNdTOWn1bCM

Teraz przejdziemy do połączenia Arduino z wyświetlaczem LCD. Podpinamy odpowiednio:

  • pin RS wyświetlacza z pinem D12 Arduino,

  • pin E wyświetlacza z pinem D11 Arduino,

  • pin DB4 wyświetlacza z pinem D5 Arduino,

  • pin DB5 wyświetlacza z pinem D4 Arduino,

  • pin DB6 wyświetlacza z pinem D3 Arduino,

  • pin DB7 wyświetlacza z pinem D2 Arduino.

RoXtjkI4eKDZr

Przejdźmy teraz do pisania kodu. W tym celu klikamy na przycisk Kod, z listy rozwijanej wybieramy Tekst, potwierdzamy chęć zmiany widoku i czyścimy zawartość.

Przepisz kod układu z wyświetlaczem LCD 2x16.

ROsz3RZcxuB6D

Uruchom symulację. Jeśli na wyświetlaczu nic się nie pokazuje, musisz ustawić kontrast potencjometrem. Kliknij na niego lewym przyciskiem myszy i przekręć pokrętło aż na wyświetlaczu pojawią się dane.

Film z ustawienia kontrastu.

RgYSDHq7jjG9b
Film nawiązujący do treści materiału dotyczącej wyświetlacza LCD, w którym podczas symulacji zostaje uregulowany kontrast.

Sprawdźmy teraz jak działa nasz termometr z wyświetlaczem LCD.

Film z działania programu.

R1LQ5FeWH4UtS
Film nawiązujący do treści materiału dotyczącej wyświetlacza LCD, w którym to podczas symulacji sprawdzano działanie skonstruowanego czujnika temperatury oraz wyświetlacza.

Słownik

biblioteka
biblioteka

plik zawierający podprogramy (procedury/funkcje) ułatwiające obsługę urządzeń zewnętrznych wraz z wykorzystywanymi w nich predefiniowanymi stałymi oraz typami danych