» Elektronika »Ławka do nauki HD44780 na niskim poziomie

Niski poziom HD44780 Study Bench



Napisałeś w programie dla Arduino coś takiego:

lcd.print („Witaj, świecie!”)


Tablica posłusznie wykonała polecenie, a na wyświetlaczu pojawił się tekst. Ale w jaki sposób jedno urządzenie „powiedział” coś, a drugie „słyszał” i „rozumiał”? To tak, jakby poprosić artystę o zrobienie twojego portretu, ale nie zobaczyć, jak on nad tym pracuje. Autor Instructbles pod pseudonimem indoorgeek wymyślił stojak, który pomoże ci poczuć się w butach „żywego Arduino” i sterować HD44780 na niskim poziomie. W jednym z konkursów to domowej roboty zdobył pierwszą nagrodę.

Potrzebuje trochę szczegółów: dowolny moduł (LCD, VLI lub PMOLED) na kontrolerze HD44780 lub kompatybilny, osiem przełączników, przycisk niezatrzaskowy, przełącznik suwakowy, rezystor zmienny 1 kΩ, płytka z gniazdem Micro USB i obudowa.








Z tego, co nie pokazano na zdjęciu, potrzebujemy: rezystor 10 kOhm i kondensator 100 μF i co najmniej 6,3 V.

Sam Indoorgeek wziął moduł najpopularniejszego typu: LCD, 16 znaków w wierszu, dwie linie. Ale pozostałe moduły mają tę samą zasadę sterowania, tylko pinout może się nieco różnić, więc nie bądź zbyt leniwy, aby zaglądać do arkusza danych.

We wszystkich przypadkach połączenie ze wspólnym przewodem odpowiada logicznemu zeru, a połączenie z szyną zasilającą +5 woltów odpowiada jedności.

Styki 1 i 2 służą do zasilania modułu. Pierwszy z nich jest zawsze podłączony do wspólnego przewodu, a drugi zawsze z szyną zasilającą.

Pin 3 służy do regulacji kontrastu. Podczas przykładania do niego napięcia od 0 do 5 woltów w stosunku do wspólnego przewodu kontrast zmienia się od zera do maksimum.

Pin 4 pozwala wybrać pomiędzy rejestrem danych a rejestrem instrukcji. Dajemy logiczne zero - rejestr instrukcji (innymi słowy komend) jest wybrany, jednostką jest rejestr danych.

Instrukcje mogą być na przykład następujące: inicjalizacja kontrolera, wyczyszczenie ekranu itp., A dane zawierają znaki, które wyświetlisz na wskaźniku.

Wręcz przeciwnie, możesz odczytać dane z niektórych rejestrów. Aby to zrobić, musisz zastosować wysoki poziom do styku 5, a wyświetlacz przejdzie w tryb wyprowadzania informacji z powrotem do mikrokontrolera. Aby ponownie rozpocząć zapisywanie danych z mikrokontrolera na kontrolerze wyświetlacza, musisz wysłać niski poziom 5 na pin 5. Dość często tryb czytania nie jest w ogóle używany, jak na przykład w tym produkcie domowej roboty.

Zgodnie z pinami od 7 do 14, wyświetlacz może wymieniać polecenia i dane w 8-bitowym kodowaniu. Najniższy poziom odpowiada pinowi 7, najwyższy - 14.

Pin 6 jest potrzebny do bramkowania.Powoli ustawiasz dane na pinach od 7 do 14, ale chociaż pin 6 jest logicznym zerem, moduł wcale na to nie reaguje. Następnie, bez zmiany stanu pinów od 7 do 14, wysyłasz krótkotrwały impuls wysokiego poziomu na pin 7 - i dane są przesyłane.

Konkluzje 15 i 16 - żywienie podświetlenia, jeśli występuje. 15 - plus, 16 - minus.

Dostępne dla indorgeek, obudowa okazała się mieć rozmiar 200 x 150 x 40 milimetrów. Ta skrzynka została zaczerpnięta z innego, zdemontowanego domowego wyrobu, i było już w niej dziury. Mistrz wykorzystał je w nowym projekcie do maksimum, aby zrobić jak najmniej dodatkowych.



Ustawił osiem przełączników do zmiany stanu linii magistrali danych / poleceń, przełącznika do wybierania rejestrów (patrz wyżej), przycisku bramkowania, rezystora zmiennego do ciągłej regulacji kontrastu.

Płyta nośna z gniazdem Micro USB ma wygodne styki, które ułatwiają podłączenie przewodów. Potrzebne są tylko dwa z nich: +5 V i wspólny przewód. Jeśli nie masz takiej płytki, a lutowane skądś gniazdo Micro USB wydaje się niewygodne do lutowania, możesz po prostu wziąć przewód ze złączem USB. W każdym razie powtórzmy po mistrzu i lutuj taki schemat:



Styki przełączników przełączających odpowiadające górnej pozycji, indorgeek połączone ze sobą i złożyły na nich plus. Zrobił to samo ze stykami przełączników przełączających odpowiadających dolnej pozycji, tyle że dał im minus. Podłączył ruchome styki przełączników nie ze sobą, ale z wnioskami poleceń magistrali danych / modułu zgodnie z „wagą” obu z nich (D0 - styk 7 - niski rząd, D7 - styk 14 - wysoki). Gdyby mistrzowie nie gryzli wściekłych rezystorów podciągających w dzieciństwie, mógłby użyć prostszych przełączników przełączających - nie przełączających, ale normalnie otwartych.

Ale te same oporniki, ale w obwodach tłumiących odbijanie styków nigdy się nie obraził. Tutaj ten obwód jest potrzebny, aby kontroler wyświetlacza nie naciskał jednego przycisku strobowania przez kilka. Inne elementy sterujące nie wymagają tłumienia drgań, ponieważ dopóki nie zostaną odebrane impulsy stroboskopowe, dane na pozostałych liniach mogą się zmieniać dowolnie wiele razy. Najważniejsze, aby nie dotykać przełączników i przełącznika przy wciśniętym przycisku. Tak więc, z rezystorem 10 kOhm, mistrz wyciągnął styk 6 do wspólnego przewodu i przycisk do magistrali dodatniej. Ponieważ opór przycisku jest znacznie niższy, po naciśnięciu „przeciąga się”. Po zwolnieniu jego oporność zbliża się do nieskończoności, a rezystor już ją „ciągnie”. Kondensator 100 uF (niepokazany na schemacie), połączony plusem z szyną plusa oraz minusem z rezystorem i szóstym wyjściem wyświetlacza, tłumi drgania. Oczywiście lepiej jest tłumić paplaninę za pomocą przycisku przełącznika i wyzwalacza RS.

Za pomocą przełącznika suwakowego wyjścia styków stałych są połączone w taki sam sposób, jak przełączniki przełączające, a przełącznik ruchomy jest podłączony do wyjścia modułu 6. Tutaj deweloper ponownie wykazał obawę przed rezystorami podciągającymi. Ten przełącznik jest potrzebny do wyboru między trybami transmisji poleceń (zero) i danych (jednostka).

Indoorgeek podłączył wyjście rezystora zmiennego odpowiadające minimalnemu kontrastowi do wspólnego przewodu, przeciwnie do szyny dodatniej i środkowej (silnika) do trzeciego wyjścia modułu.

Wnioski 1, 5 i 16 (odpowiednio, minus moc, zapis / odczyt i minus podświetlenie) master podłączony do wspólnego przewodu, dlatego tryb nagrywania jest stale wybierany. Wnioski 2 i 15 (odpowiednio plus moc i plus podświetlenie), podłączył się do magistrali pięciowoltowej. Rezystor ograniczający prąd przez diody LED podświetlenia jest zintegrowany z modułem wyświetlacza.

Jeśli zebrałeś to wszystko, teraz przed sobą - coś takiego:



Panel wewnętrzny został zaprojektowany tak, abyś mógł zrobić to samo:



Możesz nauczyć się poleceń kontrolera HD44780 i sposobu ich kontrolowania arkusz danych. Możesz również zobaczyć gotowe przykłady skryptów dla symulator. Na początek powtórzymy kroki za Indoorgeek, aby wyświetlić CZEŚĆ!

Włącz urządzenie. Podświetlenie zaświeci się. Przesuń przełącznik suwakowy w położenie odpowiadające zeru logicznemu, aby wskaźnik przełączył się w tryb odbierania poleceń. Ustaw liczbę binarną 00001111 na szynie poleceń / danych za pomocą przełączników i krótko naciśnij przycisk stroboskopowy. To polecenie oznacza: włącz wyświetlacz, spraw, aby kursor był widoczny i migał, co się stanie. W ten sam sposób wydamy polecenie 00110000, co oznacza: odbieraj dane w formacie 8-bitowym, wybierz pierwszą linię i czcionkę 5 na 8 pikseli. Wizualnie nic się nie wydarzy, ale gdzieś wewnątrz kontrolera wyświetlacza pojawią się niezbędne przełączniki. Możesz przesyłać dane. Przesuwamy przełącznik suwakowy do pozycji odpowiadającej jednostce logicznej, teraz moduł wskaźnika jest gotowy do ich przyjęcia. Ustaw kod ASCII litery H, tj. 01001000, przełącz przełączniki na magistrali i naciśnij przycisk stroboskopowy. Odpowiednia litera pojawi się na ekranie, a kursor przesunie się o jedną pozycję w prawo. Podobnie, przekażemy litery E, L, L, O i wykrzyknik: 01000101, 01001100, 01001100, 01001111, 00100001. Jeśli zrobiłeś to samo, nie ma znaczenia na zamontowanym stojaku lub w symulatorze, zobaczysz napis HELLO ! Tak jak to:



W ten sposób zrozumiałeś, ile robi Arduino, aby wyświetlić tylko kilka znaków. Są zespoły, które wykonują bardziej złożone działania, po opanowaniu których można uzyskać ciekawe efekty, zdefiniować niestandardowe postacie ...

Twoja wycieczka do „kuchni” biblioteki Arduino LiquidCrystal dopiero się zaczyna i niech będzie zabawa!
7.5
7.5
7.5

Dodaj komentarz

    • uśmiechnij sięuśmiecha sięxaxaoknie wiemyahoonea
      szefiezadrapaniegłupiectaktak-takagresywnysekret
      przepraszamtańczyćdance2dance3przebaczeniepomocnapoje
      przestańprzyjacieledobrzegoodgoodgwizdaćomdlećjęzyk
      palićklaskanierakdeklarowaćdrwiącydon-t_mentionpobierz
      ciepłożałujęśmiech 1mdaspotkaniemoskingnegatywne
      niepopcornukaraćczytaćprzestraszyćstraszyszukaj
      drwinadziękujętoto_clueumnikostryzgadzam się
      źlepszczołablack_eyeblum3rumienić sięchwalić sięnuda
      ocenzurowaneuprzejmośćsekret2grozićzwycięstwoyusun_bespectacled
      shokrespektlolprevedwitamykrutoyya_za
      ya_dobryipomocnikne_huliganne_othodifludzakazzamknij

Radzimy przeczytać:

Podaj go do smartfona ...