Spisu treści:

Korzystanie ze starszych modułów VFD Noritake Itron: 7 kroków
Korzystanie ze starszych modułów VFD Noritake Itron: 7 kroków

Wideo: Korzystanie ze starszych modułów VFD Noritake Itron: 7 kroków

Wideo: Korzystanie ze starszych modułów VFD Noritake Itron: 7 kroków
Wideo: Arduino 34: WYŚWIETLACZ VFD IW-18 2024, Lipiec
Anonim
Korzystanie ze starszych modułów VFD Noritake Itron
Korzystanie ze starszych modułów VFD Noritake Itron
Korzystanie ze starszych modułów VFD Noritake Itron
Korzystanie ze starszych modułów VFD Noritake Itron
Korzystanie ze starszych modułów VFD Noritake Itron
Korzystanie ze starszych modułów VFD Noritake Itron

Od czasu do czasu można natknąć się na ciekawe części na ebayu, od znajomych lub po prostu grzebać w sklepach z używanymi rzeczami. Jednym z przykładów był ogromny próżniowy wyświetlacz fluorescencyjny Noritake Itron 40x2 znaków z 1994 roku (lub wcześniej), który został przekazany od klienta.

Początkowo wyglądało to na dość skomplikowane, jednak po pewnym czasie znaleziono arkusze danych i okazało się, że ma prosty interfejs szeregowy – i przy odrobinie pracy udało nam się go uruchomić, więc czytaj dalej, jeśli interesują Cię klasyczne VFD lub mieć podobną jednostkę.

Krok 1:

Obraz
Obraz

Szybkość transmisji interfejsu szeregowego jest określana przez zworki na płytce drukowanej.

Krok 2:

Obraz
Obraz

Zatem porównanie powyższej tabeli ze zworami w naszym module daje nam prędkość danych 19200 bps bez parzystości. Świetnie – takie połączenie możemy łatwo stworzyć z mikrokontrolerem z wyjściem szeregowym i poziomami logicznymi 5V; w naszych przykładach użyjemy płyty zgodnej z Arduino.

Krok 3:

Okablowanie VFD jest proste – zobacz białe zworki oznaczone CN2, jak pokazano wcześniej. Pin 1 to 5 V (potrzebujesz zewnętrznego zasilacza, który może zaoferować do 700 mA), pin 2 do cyfrowego pinu 7 Arduino, a pin 3 do Arduino i GND zasilania.

Używamy Arduino D7 z oprogramowaniem szeregowym zamiast TX, aby wyświetlacz nie wyświetlał śmieci podczas przesyłania szkicu. Następnie wystarczy po prostu wysłać tekst na wyświetlacz, na przykład oto szybki szkic demonstracyjny:

// Praca z modułami Noritake Itron VFD - model CU40026SCPB-T20A #include SoftwareSerial VFD(6, 7); // RX, TX

pusta konfiguracja()

{VFD.początek (19200); }

pusta pętla()

{ VFD.print("Witaj świecie. To jest VFD Noritake "); // Możesz wysadzić tekst do {} while (1); }

Krok 4:

Obraz
Obraz

Co skutkuje następującymi…

Krok 5:

Obraz
Obraz

Jeśli nie interesuje Cię kolor lub intensywność wyświetlacza, wypróbuj pleksiglas na wierzchu – na przykład…

Krok 6: Sterowanie wyświetlaczem

W tym momencie będziesz potrzebować arkusza danych technicznych. Jak widzieliście wcześniej, pisanie tekstu jest bardzo proste – wystarczy użyć funkcji.print. Jednak możesz chcieć wysłać pojedyncze znaki, a także specjalne polecenia do sterowania aspektami wyświetlacza. Zostały one opisane w arkuszu danych – patrz tabele „Polecenia oprogramowania” i „Czcionki znaków”.

Jeśli chcesz wysłać pojedyncze polecenia – na przykład „wyczyść wyświetlacz” o wartości 0x0E, użyj polecenia.write, takiego jak:

VFD.write(0x0E); // wyczyść wyświetlacz

Niektóre komendy są w formie kodów ucieczki (pamiętasz je?), więc musisz wysłać ESC, a następnie następujący bajt, np. aby zmienić jasność na 50%:

VFD.write(0x1B); // ESC VFD.write(0x4C); // jasność VFD.write(0x40); // 50% jasności

Uzbrojeni w tę wiedzę i arkusze danych możesz teraz wykonywać wszystkie polecenia. Zgodnie z arkuszem danych możliwa jest zmiana czcionek, jednak bez względu na to, jaką zworkę sprzętową lub polecenie, które wypróbowaliśmy, nie zmieniłaby się w stosunku do japońskiej czcionki katakana. Twój ekran może się różnić. W przypadku korzystania z funkcji „priorytet zapisu na ekranie” należy przestrzegać arkusza danych w odniesieniu do wydłużonego czasu „zajętości” opóźniając kolejne zapisy na wyświetlaczu o milisekundę.

Krok 7: Złóż wszystko razem

Zamiast wyjaśniać każde możliwe polecenie, umieściłem te typowe w udokumentowanych funkcjach w poniższym szkicu demonstracyjnym, po którym następuje krótkie wideo przedstawiające działanie szkicu.

// Praca z modułami VFD Noritake Itron - model CU40026SCPB-T20A// John Boxall 2013

#włączać

OprogramowanieSerial VFD(6, 7); // rx, tx

pusta konfiguracja()

{VFD.początek (19200); // ustaw prędkość dla portu szeregowego oprogramowania resetVFD(); VFDclearceen(); // VFD.write(0x12); // tryb przewijania w pionie (wł.) }

nieważne resetowanie VFD()

// wykonuje reset programowy na kontrolerze VFD { VFD.write(0x1B); // ESC VFD.write(0x49); // reset oprogramowania }

nieważna nowa linia VFD()

// przenosi kursor na początek następnej linii { VFD.write(0x0D); // powrót karetki VFD.write(0x0A); // nowy wiersz }

nieważne VFDclearceen()

// przesuwa kursor do lewego górnego rogu i czyści wyświetlacz { VFD.write(0x0E); // wyczyść wyświetlanie VFD.write(0x0C); // formularz - kursor do lewego górnego rogu }

nieważne VFDjasność (kwota w wysokości)

// ustawia jasność VFD - 25/50/75/100% // używa sekwencji ESC { switch(amount) { case 25: VFD.write(0x1B); // ESC VFD.write(0x4C); // jasność VFD.print(0); // 25% przerwa jasności; przypadek 50: VFD.write(0x1B); // ESC VFD.write(0x4C); // jasność VFD.write(0x40); // 50% przerwa jasności; przypadek 75: VFD.write(0x1B); // ESC VFD.write(0x4C); // jasność VFD.write(0x80); // 75% przerwa jasności; przypadek 100: VFD.write(0x1B); // ESC VFD.write(0x4C); // jasność VFD.write(0xC0); // jasność 100% } }

nieważne znaki VFD()

// prześledź znaki dla wybranej czcionki { for (int i = 21; i < 256; i++) { VFD.write(0x16); // podkreślenie kursora wyłączonego VFD.write(i); opóźnienie (100); } }

void moveCursor(pozycja w bajtach)

// przesuwa kursor - górny rząd to 0~39, dolny rząd to 40~79 // tryb przewijania w pionie musi być wyłączony, jeśli jest używany { VFD.write(0x1B); // ESC VFD.write(0x48); // przesuń kursor VFD.write(pozycja); // Lokalizacja }

pusta pętla()

{ VFD.zapis (0x16); // podkreślenie kursora wyłączone VFD.print("Witaj świecie - linia pierwsza."); // Możesz wysadzić tekst delay(1000); Nowa linia VFD(); VFD.print("Witaj, świecie - wiersz drugi."); opóźnienie (1000); VFDclearceen(); Jasność VFD(25); VFD.print("*** 25% jasności ***"); opóźnienie (1000); VFDclearceen(); Jasność VFD (50); VFD.print("*** 50% jasności ***"); opóźnienie (1000); VFDclearceen(); Jasność VFD(75); VFD.print("*** 75% jasności ***"); opóźnienie (1000); VFDclearceen(); Jasność VFD (100); VFD.print("*** 100% jasności ***"); opóźnienie (1000); VFDclearceen();

Znaki VFD();

VFDclearceen();

for (int i = 0; i < 80; i++) { VFD.write(0x16); // podkreślenie kursora wyłączone moveCursor(i); VFD.print("X"); opóźnienie (100); przesuńKursor(i); VFD.print(" "); } VFDclearsceen(); }

Mamy nadzieję, że uznałeś to za interesujące i pomocne.

Ten post jest dostarczany przez pmdway.com – wszystko dla producentów i entuzjastów elektroniki, z darmową dostawą na całym świecie.

Zalecana: