Jak zrobić znak specjalny HD44780 w Arduino

znaki specjalneTutaj przedstawię w jaki sposób zrobić znaczek specjalny na wyświetlaczu opartym o sterownik HD44780 w Arduino. Zapraszam

 

 

 

 

Jako, że wcześniej programowałem w Bascomie to środowisko miało wbudowany generator znaków specjalnych i nie było problemu ze zrobieniem takiego. Natomiast w Arduino IDE próżno szukać takiego generatora bo go najzwyczajniej nie ma.
Czasem znak który potrzebujemy znajduje się już w pamięci wyświetlacza, oto lista tych znaków:

charset

Jak widać, te symbole mają swoje „numery”. Znak wykrzyknika posiada numer 00100001, a znak plusa 00101011. Lecz Arduino nie rozszyfruje sobie tych numerów, ponieważ są w zapisie binarnym, a my możemy tylko wpisać numer znaku w systemie dziesiętnym. Zatem mamy trzy wyjścia, albo poszukać w internecie konwertera bin – dec, samemu przeliczyć albo użyć kalkulatora jeżeli mamy system Windows 7  wzwyż.
Dla kalkulatora Windows:

  1. Zmieniamy na tryb Programisty (Widok > Programista)
  2. Zmieniamy system na Bin
  3. Wpisujemy liczbę
  4. Przechodzimy na Dec i otrzymujemy naszą liczbę zwrotną

kalkulator
Ale co jeśli chcę użyć innego znak niż z tej tablicy ?
No cóż… możesz sobie taki zrobić ;) Do tego celu służy ta strona:

http://omerk.github.io/lcdchargen/

klikając w zielone piksele tworzymy własny symbol. Po skończeniu kopiujemy Output:

Jak widać tworzenie własnego znaku jest proste. 1 oznacza zapalony piksel bloku. Tak stworzony znak wklejamy do naszego programu poza pętlę loop() i setup(). Następnie z takiego zlepka danych musimy stworzyć znak. Z pomocą przychodzi nam funkcja lcd.createChar():

Pamięć wyświetlacza pozwala nam na używanie w jednym programie maksymalnie 8 znaków (patrz tabela wyżej- kolumna CG RAM). Jak dla mnie jest to wystarczająca ilość, ale każdy ma różne projekty i zapotrzebowanie znaków do nich.
Zatem jak już to mamy to wystarczy teraz ten znak wyświetlić. Jest to ostatnia funkcja dla tego poradnika i jest nią lcd.print((char))

Dosyć teorii, czas na praktykę !
Znak który wcześniej stworzyliśmy to znak stopni, który posłuży do termometru, w dalszej części Kursu Arduino ;)

Jak wcześniej opisywałem. Najpierw wstawiamy konfigurację naszego znaku poza loop() i setup(). Następnie w funkcji setup() tworzymy znak z wcześniej zrobionej konfiguracji i przypisujemy mu numer 0. Na końcu w pętli loop() wyświetlamy ten znak. Powinniśmy otrzymać efekt jak na zdjęciu niżej:

CAM00060

A jeżeli dopiszemy do tego programu obsługę termometru to efekt będzie taki:

CAM00061


Jeżeli chcesz być informowany na bieżąco o nowych częściach kursu to kliknij „Lubię to!” bądź subskrybuj naszą stronę, aby otrzymywać na adres e-mail nowości ze strony. Jeżeli masz jakieś pytania to śmiało zadawaj je na forum ; )