Jak używać funkcji CreateChar () do tworzenia znaków
W Arduino istnieje specjalna funkcja, dzięki której można również wykonać znaki. Ta funkcja może być również używana do tworzenia różnych kształtów, różnych symboli i niektórych animacji.
Aby utworzyć znaki, funkcja wymaga dwóch argumentów. Pierwszy to liczba znaku używanego, gdy znak ma być wyświetlany.
Drugim argumentem jest dane, które ma zostać wyświetlone; Może mieć postać liczb binarnych lub liczb sześciokątnych.
LCD.CreateChar (liczba, dane znakowe);
Znaki niestandardowe można stworzyć, włączając i wyłączając niektóre części LCD. Na przykład, jeśli weźmiemy pod uwagę lcd 16 × 2, każda komórka wyświetlacza jest dalej podzielona na kropki o 8 rzędach i 5 kolumn.
Tak więc każda komórka ma 40 pikseli, a ta funkcja CreateChar () może używać 8 bitów danych jednocześnie. Jeśli dane są więcej niż 8 bit, możemy zadeklarować wiele znaków i wywołać je liczbami dla każdej komórki i wyświetlić tę komórkę w określonej kolejności.
Na przykład, jeśli musimy wyświetlić strzałkę w dół, musimy podać wartość jednego do odpowiedniej kropki. Podobnie, w stanie wyłączonym wartość każdej kropki wyniesie zero, więc możemy powiedzieć, że domyślnie każdy wiersz ma binarny 0. Tak więc, aby wyświetlać strzałkę.
// Wartości binarne
bajt strzałka Char [8] = 0B00000,0B00000,0B00100,0B00100,0B10101,0110,0B00100,0B00000;
// Wartości heksowe
BYTE Customar [] = 0x00,0x00,0x04,0x04,0x15,0x0e, 0x04,0x00;
Poniżej podaliśmy tabelę, w której A reprezentuje kolumny, podczas gdy B reprezentuje wiersze, więc każda kropka ma wartość 0 lub 1. W tym przypadku narysowaliśmy strzałkę w dół i do tego włączyliśmy kropki, dając im wartość 1. Rząd B3 ma tylko jedną kropkę, którą ma zostać obrócony, więc ma wartość 1, a kropka leży w kolumnie A2, a reszta tabeli jest zorganizowana w ten sposób.
A4 | A3 | A2 | A1 | A0 | |
B0 | 0 | 0 | 0 | 0 | 0 |
B1 | 0 | 0 | 0 | 0 | 0 |
B2 | 0 | 0 | 1 | 0 | 0 |
B3 | 0 | 0 | 1 | 0 | 0 |
B4 | 1 | 0 | 1 | 0 | 1 |
B5 | 0 | 1 | 1 | 1 | 0 |
B6 | 0 | 0 | 1 | 0 | 0 |
B7 | 0 | 0 | 0 | 0 | 0 |
Ponieważ w pierwszych dwóch rzędach i w ostatnim rzędzie komórki nie ma kropki, która jest w stanie ON, więc pliki binarne tych wierszy będą wynosić zero. Tak więc wartości dla tych wierszy zostaną również uwzględnione podczas deklarowania postaci, a także możemy użyć heksadecimals do stworzenia postaci.
Możemy również wyświetlać wiele znaków za pomocą LCD.CreateChar () funkcja wiele razy. Następnie możemy wyświetlić każdą postać za pomocą LCD.pisać() funkcja, podając numer przypisany do znaku.
Podaliśmy kod Arduino do używania LCD.CreateChar () funkcja, w której wyświetliśmy wiele znaków. Aby wyświetlić znaki, musimy przydzielić konkretne miejsce dla każdego znaku w przypadku wielu znaków za pomocą LCD.setCursor () funkcjonować.
Kod Arduino do tworzenia niestandardowych znaków
#include // definiowanie biblioteki dla LCD
Liquidcrystal LCD (12, 11, 5, 4, 3, 2); // szpilki Arduino dla LCD
// deklarowanie binarii dla każdej postaci
BYTE CHAR1 [8] = 0B00000,0B00000,0B00100,0B00100,0B10101,0110,0B00100,0B00000;
BYTE CHAR2 [8] = 0B00000,0B00000,0B00100,0B01010101011011,01101010111111,0B00000;
BYTE CHAR3 [8] = 0B00000,0B00000,0B01010,0B10101,0B10001,01010101010100,0B00000;
void setup ()
Seryjny.rozpocząć (9600);
LCD.Rozpocznij (16, 2); // Inicjowanie wymiarów LCD
LCD.CreateChar (1, char1); // tworzenie pierwszej postaci
LCD.CreateChar (2, Char2); // tworzenie drugiej postaci
LCD.CreateChar (3, Char3); // tworzenie trzeciego postaci
LCD.setCursor (1, 0); // miejsce dla pierwszej postaci
LCD.Write ((bajt) 1); // Drukowanie znaku za pomocą podanej liczby
LCD.setCursor (2, 0); // miejsce dla drugiego znaku
LCD.Write ((bajt) 2); // Drukowanie znaku za pomocą podanej liczby
LCD.setCursor (3, 0); // miejsce dla trzeciego postaci
LCD.Write ((bajt) 3); // Drukowanie znaku za pomocą podanej liczby
void Loop ()
W kodzie Arduino po zdefiniowaniu biblioteki LCD i przypisaniu szpilek Arduino do LCD binaria dla trzech znaków są zdefiniowane.
Następnie w funkcji konfiguracji po ogłoszeniu wymiarów LCD funkcja LCD.CreateChar () służy do tworzenia niestandardowej postaci. Zdefiniowane pliki binarne znaków są podawane do tej funkcji, a każdą postać przypisuje się liczbę używaną w LCD.wydrukować() funkcjonować. Dla każdego znaku funkcja LCD.CreateChar () jest używany osobno.
Schemat obwodu jest:
Wyjście
Wniosek
Korzystanie z znaków w programowaniu może pomóc w oznaczaniu wyświetlanych danych, takich jak wyświetlanie symbolu termometru dla temperatury. Aby utworzyć i wyświetlić specjalne dostosowane znaki w module wyświetlacza, funkcja LCD.Można użyć CreateChar (). Ten zapis wyjaśnia, jak tworzyć znaki specjalne za pomocą LCD.Funkcja CreateChar ().