Merkurino a vlastní znaky na LCD

Merkurino / Arduino může jednoduše ovládat nastavení znakové sady na znakovém LCD  displeji.
Každý znak je definován maticí bodů 8 řádků x 5 sloupců.
Základní tabulku anglických znaků – malá a VELKÁ písmena bez diakritiky a číslice má displej uložen v paměti, proto ho stačí jen zavolat. Pokud chceme vlastní znaky, musíme si je nadefinovat sami.

Vlastní znaky

Vlastní znaky

Příklad kódu je zde:

#include <LiquidCrystal.h>
// upravil: L. Vohralík, 2014, MerkurRobot.cz
LiquidCrystal lcd(13, 12, 8, 7, 4, 2);

byte smiley[8] = {  //definice znaku smiley
  B00000,           // jednička svítí
  B10001,           // nula nesvítí
  B00000,
  B00000,
  B10001,
  B01110,
  B00000,
};
byte r_hacek[8] = {  //definice znaku r s háčkem = ř
  B01010,           // jednička svítí
  B00100,           // nula nesvítí
  B01110,
  B01001,
  B01000,
  B01000,
  B00000,
};
byte mezera[8] = {  //definice znaku mezera
  0, 0, 0, 0, 0, 0, 0,
};

void setup() {
  lcd.createChar(0, smiley);   //odeslání definice 1. znaku (znak 0)
  lcd.createChar(1, r_hacek);   //odeslání definice 2. znaku
  lcd.createChar(2, mezera);   //odeslání definice 3. znaku
  lcd.begin(16, 2);            //inicializace displeje
  lcd.write(byte(0));    //zobrazí smajlík (znak 0)
  lcd.write(byte(1));    //zobrazí ř (znak 1)
  lcd.write(byte(0));    //zobrazí smajlík (znak 0)
  lcd.write(byte(2));     //zobrazí mezeru (znak 2)
  lcd.write("ahoj");     //zobrazí text
  
}

void loop() {}

2 komentáře

  1. Dan napsal:

    Zdravím. Nemáte tabulku definic všech diakritických znaků? Všude po internetu se uvádí jen „kuchařky“ jak na to. Ušetřilo by to dost práce. Děkuji Dan.

Napsat komentář