Rysowanie własnych znaków
Część sekcji Wyświetlacze i czujniki ścieżki Arduino w Coddy. Lekcja 10 z 24.
Każdy znak na wyświetlaczu LCD to siatka złożona z 5 na 8 kropek. Możesz zaprojektować maksymalnie osiem własnych znaków, ponumerowanych od 0 do 7. Opisz jeden za pomocą 8 wierszy, z których każdy jest 5-bitowym wzorem, gdzie 1 oznacza zapaloną kropkę:
byte heart[8] = {
0b00000,
0b01010,
0b11111,
0b11111,
0b01110,
0b00100,
0b00000,
0b00000
};lcd.createChar(0, heart) zapisuje go jako znak 0. lcd.write(byte(0)) rysuje go w miejscu, w którym znajduje się kursor. print(0) narysowałoby zamiast niego cyfrę 0.
Uwaga na pułapkę: aby zapisać znak, biblioteka kieruje ekran na jego pamięć znaków i pozostaje on tam skierowany. Wszystko, co zostanie następnie wydrukowane, trafi do tej pamięci, a nie na ekran. Dlatego po createChar(), a przed drukowaniem, wywołaj lcd.setCursor() (lub lcd.clear()).
lcd.createChar(0, heart);
lcd.setCursor(0, 0); // z powrotem na ekran
lcd.write(byte(0));Wyzwanie
ŚredniUkład startowy zawiera uśmiechniętą buźkę. Przywitaj się z jej pomocą:
- zapisz ją jako znak 0 za pomocą
lcd.createChar() - przenieś kursor do lewego górnego rogu
- wyświetl
Hi(ze spacją), a następnie narysuj buźkę
Naciśnij Uruchom, a następnie Sprawdź.
Spróbuj swoich sił
#include <LiquidCrystal.h>
// RS, E, D4, D5, D6, D7
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
byte smiley[8] = {
0b00000,
0b01010,
0b01010,
0b00000,
0b10001,
0b01110,
0b00000,
0b00000
};
void setup() {
lcd.begin(16, 2);
// zapisz buźkę jako znak 0, a następnie wyświetl "Hi " i buźkę
}
void loop() {
}
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Wyświetlacze i czujniki
1Wyświetlacze siedmiosegmentowe
Wyświetlacz siedmiosegmentowyWzory cyfr w bajtachLiczenie na wyświetlaczuOdliczanie do zeraSymulator rzutu kostką2Wyświetlacz LCD znakowy
Witaj na LCDUmieszczanie tekstu za pomocą setCursorBieżące liczby na LCDUsuwanie pozostałych cyfrRysowanie własnych znakówPrzewijanie tekstuPoćwicz samodzielnie: Edytor online Arduino