Spisu treści:

HD44780 Płytka adaptera LCD do I2C dla pirata magistrali: 9 kroków
HD44780 Płytka adaptera LCD do I2C dla pirata magistrali: 9 kroków

Wideo: HD44780 Płytka adaptera LCD do I2C dla pirata magistrali: 9 kroków

Wideo: HD44780 Płytka adaptera LCD do I2C dla pirata magistrali: 9 kroków
Wideo: Как настроить LCD ДИСПЛЕЙ и I2C на Arduino ?! 2024, Listopad
Anonim
HD44780 Płytka adaptera LCD do I2C do magistrali piratów
HD44780 Płytka adaptera LCD do I2C do magistrali piratów
HD44780 Płytka adaptera LCD do I2C do magistrali piratów
HD44780 Płytka adaptera LCD do I2C do magistrali piratów

Tanie wyświetlacze LCD ze znakami oparte na chipsecie HD44780 są dostępne w różnych rozmiarach: 2x16, 4x20, itd. Wyświetlacze te mają dwa standardowe tryby interfejsu, równoległy 4bit i 8bit. 8bit wymaga łącznie 11 linii danych, 4bit wymaga 7 (6 tylko do zapisu). Niektóre wyświetlacze LCD obsługują dodatkowy tryb danych szeregowych, taki jak VFD, który omówiłem w Hack a Day. Wyświetlacze LCD HD44780 są zazwyczaj częściami 5V z oddzielnym zasilaniem podświetlenia. Bus Pirate ma tylko pięć pinów we/wy tolerujących napięcie 5 V, więc stworzyliśmy małą płytkę adaptera z wystarczającą liczbą pinów do sterowania wyświetlaczem LCD. Bus Pirate steruje płytą adaptera poprzez swoją bibliotekę interfejsu LCD. Czytaj dalej o płycie adaptera LCD Bus Pirate HD44780 i bibliotece interfejsów. Mogę mieć płytki drukowane, zestawy lub zmontowane zestawy wyprodukowane przez Seeed Studio za około 15 USD, w tym wysyłkę na cały świat, więcej tutaj. Nie mogłem zawrzeć niektórych elementów formatowania i tabel HTML w Instructable, możesz zobaczyć oryginalny post na Dangerous Prototypes blog.

Krok 1: Sprzęt

Sprzęt komputerowy
Sprzęt komputerowy
Sprzęt komputerowy
Sprzęt komputerowy
Sprzęt komputerowy
Sprzęt komputerowy

PrzeglądW tym artykule przedstawiamy kartę adaptera I2C dla wyświetlaczy LCD opartych na HD44780. Demonstrujemy to za pomocą uniwersalnego interfejsu szeregowego Bus Pirate. Kod źródłowy Bus Pirate dla biblioteki interfejsu HD44780 opartej na protokole I2C jest domeną publiczną, więc można go swobodnie dostosowywać do własnych projektów. SprzętPełnowymiarowy obraz obwodu [PNG]. Obwód i PCB zostały zaprojektowane z darmową wersją Cadsoft Eagle. Pliki projektowe można pobrać z SVN Bus Pirate. Przed użyciem płyty adaptera należy sprawdzić, czy arkusz danych wyświetlacza LCD jest zgodny z wyprowadzeniami adaptera. Nie wszystkie wyświetlacze LCD są takie same. PCF8574 IC ekspandera I/O Jest to prosty układ 8 ekspandera I/O, który jest sterowany przez dwuprzewodowy interfejs I2C. Interfejs I2C jest dostępny z nagłówka JP1. PCF8574 działa od 2,5 do 5 woltów. Piny I/O działają przy napięciu zasilania, więc jeśli zasilimy je 5 woltami, łączy się z wyświetlaczem LCD przy 5 woltach. C1 (0,1uF) oddziela układ scalony od wahań w zasilaniu. Jeden pin PCF8574 steruje 3mm diodą LED (LED1) poprzez rezystor ograniczający prąd R2 (1000 omów). Dioda LED zaświeci się, aby wskazać pomyślną komunikację między Bus Pirate a adapterem. PCF8574 nie może dostarczyć wystarczającego prądu do zasilania diody, więc zasilamy diodę z zasilacza 5V i przełączamy masę. LCD Karta adaptera komunikuje się ze znakowym wyświetlaczem LCD opartym na HD44780 w trybie 4-bitowego interfejsu równoległego. 4-bitowe piny interfejsu - RS, RW, EN i D4-D7 - są podłączone do siedmiu pinów we/wy PCF8574. Do podłączenia adaptera do wyświetlacza LCD lubimy używać 0,1" męskiej listwy pinowej, zwykle można oprzeć wyświetlacz LCD o piny, aby uzyskać wystarczający kontakt do szybkiego testu. Rezystor trymera R1 (10K) zapewnia napięcie regulacji kontrastu do pinu 3 nagłówek LCD. Nie podłączyliśmy pinów podświetlenia, ponieważ istnieje tak wiele różnych stylów podświetlenia. Zasilanie podświetlenia LED może uszkodzić ekran, który wymaga ujemnego napięcia zasilania. Zasilanie Większość wyświetlaczy LCD wymaga 5 woltów, zapewnia zewnętrzne zasilanie przez header JP2. Dostarczyliśmy drugi pin zasilania do podłączenia rezystorów podciągających Bus Pirate. Płytka drukowana Obwód i płytka drukowana zostały zaprojektowane za pomocą darmowej wersji Cadsoft Eagle. Pliki projektowe można pobrać z SVN Bus Pirate. Płytka jest jednostronna konstrukcja z otworami przelotowymi z pojedynczym przewodem połączeniowym (pokazana na czerwono). Możemy mieć płytki drukowane, zestawy lub zmontowane zestawy wyprodukowane przez Seeed Studio za około 15 USD, w tym koszty wysyłki na cały świat, więcej tutaj. wszystkie TH zgrubny otwór) C10.1uF/10V+R110000 (10K) jednoobrotowy trymer/potencjometr omów, rezystor 6mmR21000 (1K), opornik omowy 1/4 wattLED13mm (T1) LED, czerwony JP1+JP20.1", męski nagłówek, 5 pinówIC1PCF8574N, 8bit Ekspander I2C I/O DIP16ICS116-pinowe gniazdo DIP dla IC1I nie mogło zawierać niektórych elementów formatowania i tabel HTML w Instructable, możesz zobaczyć oryginalny post na blogu Dangerous Prototypes.

Krok 2: Połączenia

Znajomości
Znajomości

Urządzenie: wyświetlacz LCD HD44780. Magistrala: 4-bitowa równoległa, z płytką adaptera PCF8574 I2C. Wymagania dotyczące zasilania: 5 woltów. Referencje:przykładowy arkusz danych [PDF], referencja poleceń HD44780, uber-site HD44780 LCD. Pełny dziennik sesji Bus Pirate dla tej demonstracji. zaprojektował adapter do biblioteki LCD uniwersalnego interfejsu szeregowego Bus Pirate, ale będzie działał ze wszystkim, co może obsługiwać protokół I2C. Spójrz na kod źródłowy Bus Pirate dla przykładowej implementacji I2C->HD44780. Podłącz Bus Pirate do płytki adaptera, jak pokazano w tabeli. Tabela pokazuje również surowe połączenia z układem scalonym PCF8574, jeśli podążasz za nim bez karty adaptera. Podłącz adapter do zasilania wystarczającego dla wyświetlacza LCD, zwykle 5 woltów. Połączenie I2C między adapterem a Bus Pirate wymaga rezystorów podciągających od 2 do 10K. Oto więcej informacji na temat interfejsu mieszanego napięcia z podciąganiem i wbudowanych rezystorów podciągających Bus Pirate. Nie mogłem zawrzeć niektórych elementów formatowania i tabel HTML w instrukcji Instructable, możesz zobaczyć oryginalny post na blogu Dangerous Prototypes.

Krok 3: Krok 1. Konfiguracja biblioteki

Krok 1. Konfiguracja biblioteki
Krok 1. Konfiguracja biblioteki

Interfejs Omówiliśmy już konstrukcję adaptera i sposób podłączenia go do Bus Pirate, teraz nadszedł czas, aby coś napisać na LCD. HiZ>m <<11 <<1 <<W <

p <<2 <<v <<<pobierz raport o napięciu MONITOR NAPIĘCIA: 5V: 4.9 | 3,3V: 3,3 | VPULLUP: 5.0 <<Naciśnij „m” w terminalu Bus Pirate i wybierz bibliotekę LCD. Obecnie obsługuje tylko wyświetlacze LCD HD44780 przy użyciu adaptera PFC8574 opisanego w pierwszej połowie tego artykułu (opcja 1). Włącz zasilacze (duże 'W') i rezystory podciągające (menu 'p'). Sprawdź monitor napięcia (menu 'v') i upewnij się, że napięcie podciągające (Vpullup) wskazuje około 5 woltów.

Krok 4: Krok 2. Reset i inicjalizacja

Krok 2. Resetowanie i inicjalizacja
Krok 2. Resetowanie i inicjalizacja
Krok 2. Resetowanie i inicjalizacja
Krok 2. Resetowanie i inicjalizacja

Ta tabela przedstawia jednobajtowe polecenia sterujące wyświetlaczem LCD HD44780, oto szczegółowe odniesienie. Polecenia te można wprowadzać z wiersza poleceń Bus Pirate, ale większość z nich utworzyliśmy makra, aby zaoszczędzić czas. LCD>(0) <<<pokaż makro menu0. Makro menu <<<to menu1. LCD Reset << <zresetuj LCD2. Init LCD <<<resetuj i inicjalizuj LCD3. Clear LCD <<<clear LCD, powrót kursora do 04. Pozycja kursora np.:(4:0) <<<ustaw pozycję kursora5. Wpisz tekst testowy <<Makro 0 wyświetla menu makr dla dowolnego trybu Bus Pirate. LCD>(2) <<<inicjuj makro LCD Wyświetlaj linie:1. 1 <<<wyświetlacz jednowierszowy2. Wiele <<2 ' RESET <<<makro 2 zawiera sekwencję resetowaniaINIT <<Makro inicjalizacji LCD (2) konfiguruje ekran w trybie interfejsu 4-bitowego, włącza wyświetlanie kursora i ustawia kilka innych pomocnych opcji. Skonfiguruj liczbę wyświetlanych wierszy, wybierz 1 dla wyświetlania jednowierszowego lub 2 dla wszystkich innych wyświetlaczy. Po inicjalizacji ekran powinien być czysty z widocznym kursorem w rogu. Jeśli to nie zadziałało, sprawdź połączenie I2C, rezystory podciągające i zasilanie, a następnie spróbuj ponownie. Wyświetlacze LCD HD44780 muszą zostać zresetowane za pomocą specjalnej sekwencji sygnału, zanim będą mogły zostać zainicjowane w trybie interfejsu 4bit lub 8bit. Makro 1 tworzy tę sekwencję. Makro 2 zawiera sekwencję resetowania, więc nie ma potrzeby używania makra 1 przed makrem 2.

Krok 5: Krok 3. Napisz znaki testowe

Krok 3. Napisz znaki testowe
Krok 3. Napisz znaki testowe
Krok 3. Napisz znaki testowe
Krok 3. Napisz znaki testowe

LCD>(6:80) <<Makro zapisu liczb wypełnia wyświetlacz LCD numerami testów od 0 do 9. Liczba po dwukropku informuje Pirata autobusowego, ile numerów testowych ma zapisać, używamy 4x20LCD, więc wpisujemy 80 liczb, aby go wypełnić. Zauważ, że kursor kończy się na pozycji 0, pod pierwszym '0'. LCD>(7:80) <<Makro zapisu znaków wypełnia wyświetlacz LCD znakami ASCII, wprowadź ilość po dwukropku. Zauważ, że pierwsza linia ciągnie się na trzecim, trzecia na drugiej, a druga na ostatniej. Znaki nie są ciągłe, ponieważ wyświetlacze LCD znaków nie zawijają się od jednej linii do drugiej. Porozmawiamy o tym później.

Krok 6: Krok 4. Wyczyść wyświetlacz LCD

Krok 4. Wyczyść wyświetlacz LCD
Krok 4. Wyczyść wyświetlacz LCD

LCD>(3) <<Przejrzyste makro LCD wysyła polecenie HD44780, które wymazuje ekran i przywraca kursor do pierwszej pozycji. Możesz również wykonać dowolną z tych operacji bez makr, zapoznaj się z tabelą poleceń na początku tej sekcji. Wpisz „[0b1” w Bus Pirate, aby ustawić interfejs w trybie poleceń ([) i wyślij polecenie czyszczenia ekranu HD44780 (0b000000001) bez makra.]

Krok 7: Krok 5. Wpisz tekst

Krok 5. Wpisz tekst
Krok 5. Wpisz tekst
Krok 5. Wpisz tekst
Krok 5. Wpisz tekst

LCD>(8) <<<insert user textWprowadź tekst do wstawienia w miejscu kursora. HD44780 LCD demo <<Po wyczyszczeniu wyświetlacza LCD w kroku 4, kursor znajduje się na pierwszym bloku. Moglibyśmy to również ustawić za pomocą makra (4:0), które przesuwa kursor na pierwszy znak. Makro Wstaw tekst przy kursorze prosi o wprowadzenie tekstu, a następnie kopiuje je na wyświetlacz LCD po naciśnięciu enter. LCD>(4:0x40) <&lt

LCD>(8) <<<insert textWprowadź tekst do wstawienia na pozycji kursora. Bus Pirate v2go <<Pisanie do drugiej linii jest trochę bardziej skomplikowane, w rzeczywistości zaczyna się od znaku 64 na wyświetlaczu LCD 4x20. Jeśli będziesz pisać od końca linii 1 (znak 20), skończysz na początku linii trzeciej! Ta strona zawiera ładną kolekcję map pamięci dla większości wielkości znaków LCD. Najpierw umieszczamy kursor w drugiej linii (4:0x40). Następnie makro „wstaw tekst” przechwytuje nasze dane wejściowe i kopiuje je do LCD. LCD>(4:0x14)(8)(4:0x54)(8) <<<składnia wielu makrWprowadź tekst do wstawienia w miejscu kursora. Oprogramowanie układowe v2.0+ <<<wpisaliśmy toWprowadź tekst do wstawienia w pozycji kursora. Niebezpieczne prototypy <<Bus Pirate akceptuje wiele makr w tej samej linii, więc cały ekran może być napisany jednocześnie. Napisaliśmy do dwóch ostatnich wierszy jednym wierszem składni. Moglibyśmy użyć '(3)(4:0)(8)(4:0x40)(8)(4:0x14)(8)(4:0x54) (8)', aby wyczyścić wyświetlacz LCD i zapisać wszystkie cztery wiersze jednym wpisem składni.

Krok 8: Krok 6. Czytanie z wyświetlacza LCD

Krok 6. Czytanie z wyświetlacza LCD
Krok 6. Czytanie z wyświetlacza LCD

Płytka adaptera Bus Pirate i LCD może odczytywać z wyświetlacza LCD. Przeczytamy tekst, który napisaliśmy na ekranie (DDRAM), ale możesz również odczytać ustawienia i niestandardowy RAM znaków (CGRAM), ustawiając poprawny adres. LCD>[0b10000000 '''<<<ustaw wskaźnik odczytu'' ']HD44780 RS LOW, TRYB POLECENIA <<<rejestr wybierz pin lowCMD ZAPIS: 0x80 <<Najpierw mówimy Bus Pirate, aby wysłał dane do rejestru poleceń LCD ([). Następnie używamy polecenia set DDRAM address (0b1xxxxxxx), aby ustawić wskaźnik odczytu na początek DDRAM (xxxxxxx=0000000).]LCD>]rrrrrr <<<odczyt pamięci danychHD44780 RS HIGH, DATA MODE <<<rejestr wybierz pin górny ODCZYT: 0x48 <<< 'H'CZYTAJ: 0x44 <<< 'D'CZYTAJ: 0x34 <<< '4'CZYTAJ: 0x34 <<< '4'CZYTAJ: 0x37 <<< '7'CZYTAJ: 0x38 < << '8'READ: 0x30 <<< '0'LCD>Na koniec powiedz Bus Pirate'owi, aby odczytał z pamięci danych (]), a następnie przeczytał kilka bajtów (rrrrrrrr). Otrzymaliśmy "HD44780", tekst, który napisaliśmy na ekranie w kroku 5. Powinieneś również móc użyć skrótu r:7 do odczytania siedmiu bajtów, ale nie działa on w bieżącym oprogramowaniu - naprawimy to przed następne wydanie.

Krok 9: Robić więcej

Robić więcej
Robić więcej

Podaj ogólny opis StepAdapter LCD HD44780 znaków to poręczne akcesorium dla Bus Pirate. Może być używany do szybkiego testu lub bardziej zaawansowanego rozwoju logiki. Oprócz wyświetlaczy LCD, osiem pinów we/wy 2,5 V-5 V może być przydatnych w innych aplikacjach pirackich magistrali o dużej liczbie pinów. Możemy mieć płytki drukowane, zestawy, lub zmontowane zestawy wyprodukowane przez Seeed Studio za około 15 USD, w tym wysyłka na cały świat, więcej tutaj. Nie mogłem zawrzeć niektórych elementów formatowania i tabel HTML w Instructable, możesz zobaczyć oryginalny post na blogu Dangerous Prototypes.

Zalecana: