Pokročilé displeje firmy Nextion – jak s nimi začít?

Nextion displej dokáže uložit ikony, font, video do vlastní paměti. S tvým mikrokontrolérem pak komunikuje pomocí UART zpráv. Jak to? Pak čti dál.
Displeje Nextion - jak s nimi začít

Displeje Nextion jsou tak trochu jiné. Nejsou to jen „hloupé“ zobrazovače něčeho, co jim řídící kontrolér pošle. Mají vlastní mikrokontrolér, paměť a slot pro microSD kartu, kam se dá uložit spousta věcí – obrázků, ikon.

Díky programu Nextion Editor si vytvoříš celé nastavení displeje, kde rozmístíš ikony, tlačítka, slidery. Tvůj mikrokontrolér pak přijímá nebo posílá jednoduché UART zprávy, díky kterým Nextion displej i tvůj mikrokontrolér komunikují.

Jak s nimi co nejrychleji začít? To ti povíme právě v tomhle článku.

Nextion Editor

Nextion Editor je program vytvořený firmou Nextion a v poslední verzi (1.65) nabízí velké možnosti zobrazení – od textu, ikon přes tlačítka, slidery až po GIFy.
Program pro operační systém Windows.
Nextion Editor si stáhneš na odkazu níže.

Odkaz ke stažení Nextion Editor

Instalace

Instalace není žádným problém, buď stáhneš ZIP soubor nebo EXE. Po instalaci spusť program.

Hardware

Kromě samotného Nextion displeje potřebuješ i USB-UART převodník, který zároveň má výstup napájení 5V. To splňuje například náš LaskaKit CH9102 Programmer

Propojení programátoru a displeje

Programátor s displejem propojíš skrze dodaný 4 vodičový kabel
Displej | Programátor
GND – GND
+5V – VCC
RX – TX
TX – RX

Nastavení projektu

Úvodní obrazovka Nextion Editor
Vytvoř nový projekt a ulož ho.
Vyber tvůj typ Nextion displeje (uvedeno na plošném spoje na spodní straně). V našem případě jsme použili NX3224T028_011.
Nastavení displeje – rozložení a dekódování písma. Ulož.
Pracovní plocha pro náš displej
Pracovní plocha kam se umísťují jednotlivé prvky.
Dostupné prvky – text, číslo, tlačítko, obrázek, slider a další
Kompilace programu a výstup z něj. Zde se dozvíš chyby v rozložení nebo velikost obsazené paměti.
Ladění (debug) a nahrání (upload) kódu do Nextion displeje.
Po kliknutí na tlačítko debug se zobrazí simulátor. Zde můžeš vidět, jak tvé prvky vypadají na Nextion displeji, co Nextion displej posílá přes UART zprávy (Simulátor return) ven a zároveň mu můžeš něco poslat i ty (Instruction Input Area).
Dostupné obrázky, videa, fonty a další.
Nextion displej může mít i více, stránek mezi kterými můžeš překlikávat – buď pomocí tlačítek na displeji nebo příkazem z tvého Arduino. Každá stránka má navíc své vlastní nastavení.

Praktické použití

Kompilace a nahrání

Vytvořený projekt před nahráním nejprve zkompiluj (tlačítko Compile). Dozvíš se tak, zda tam nemáš nějaké chyby 🙂
Všechno dobrý? Pak jej nahraj.
Vyber port a klikni na tlačítko Go.
Nahráno.

Automatické generování fontu

Nextion Editor má nástroj pro vytvoření fontu- Font Generator. Vybereš si zde velikost, typ, vybereš znaky, které tam chceš a nakonec si jej pojmenuješ (a uložíš).

Vytvoření fontu
Font automaticky přidán do možností.

Obyčejný text na displeji – AHOJ!

Klikni v Toolbox na Text, na pracovní ploše se objeví prvek s označením t0. Pokud přidáš další, pak má označení t1, t2 a tak dále.
Prvek – textové pole je umístěno na stránce 0 (page 0) s nastavením velikosti, barvy textu, pozadí a samotného textu (txt = newtxt).
newtxt přepíšeme na AHOJ! a myší přesuneme prvek na námi vybrané místo.
Nový text u prvku – textové pole t0. Klikneme na tlačítko Compile a pokud proběhne všechno bez problémů, klikneme na Upload a nahrajeme do Nextion displeje.
Hotovo.

Ikony na Nextion displej

Na displeji nemusí být jen text. Není problém tam nahrát například ikony – slunečno, zamračeno, déšt, mlha.

Nahrajeme ikony/obrázky
Pět nahraných ikony – slunečno, zamračeno, déšť, teploměr – zima, teploměr – teplo
Přidej prvek Picture (objeví se pro první prvek p0, pro druhý p1 a tak dále).
Klikni na pic a vyber ikonu/obrázek z knihovny (ikony, které jsi tam nahrál v předchozím kroku).
Rozmístěné ikony. Zkompiluj a pokud nenarazíš na problém, tak nahraj.
Hotovo.

Slider – posuvník

V tomto příkladu si ukážeme jak zobrazit posuvník představující teplotu a zároveň hodnota posuvníku buď ukáže modrý teploměr se sněhovou vločkou (méně než 15°C) nebo červený se sluníčkem (nad 15°C). Zároveň hodnotu z posuvníku vypíšeme do textového pole.

Vložili jsme celkem 4 prvky – obrázek, posuvník – slider, textové pole a prvek číslo.
V nastavení posuvníku jsme nastavili min 0, max 40. Zaroveň jsme nastavili akci na pohyb po posuvníku (Touch Move) a zapsali vlastní kód, kde se obrázek při hodnotě posuvníku (val) 15 (°C) a méně zobrazí teploměr se sněhovou vločkou (v našem případě ID 1), při vyšší pak se sluníčkem (v našem případě ID 0). Zároveň se hodnota posuvníku zapisuje prvku Číslo (Number).

Kód pro posuvník (slider). POZOR! NESMÍ ZDE BÝT MEZERY!
if(h0.val<15)
{
p0.pic=1
}
else
{
p0.pic=0
}
n0.val=h0.val

ID ikony
Hodnota posuvníku je více než 15
Hodnota posuvníku je menší než 15

Ovládání prvků v Nextion displeje z Arduino nebo počítače

Nextion displej samozřejmě dokáže přijímat příkazy i zvenčí, například z tvého Arduino vývojového kitu nebo počítače.

V takovém případě je nezbytné dodržet následující :
1) správné zapojení RX a TX pinu
2) přenosová rychlost (v našem případě 9600Bd)
3) správný tvar příkazu (například n0.val=15 [změna hodnoty] nebo p0.pic=0 [změna ikony])
4) odeslání 3B s hodnotou 255d, tedy 0xFF, tedy ˙
5) neposílat <CR><LF> nebo <\n> nebo <\t> a další

Ukázka Arduino kódu pro změnu hodnoty posuvníku na 15:
{
  Serial.print("n0.val=15");
  Serial.write(0xFF);
  Serial.write(0xFF);
  Serial.write(0xFF);
}

Sdílet článek

2 Responses

  1. Ahoj, pomalu se prokousávám programováním… Nyní nemohu rozlousknout pole a příkaz switch. Pole, zdá se, umí jen jako indexovani stranek(P[x]) ,nebo proměnných (b|x]) to je dobře, ale nemohu do proměnné měsíc.txt=|“leden“,“unor“] vložit takto např měsíce. Dělám cosi špatně, nebo to neumí? A druhá věc je ten switch. Tomu také nerozumí. Víte o tomto něco? Děkuji za jakoukoli radu a přeji hezký den.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Mohlo by se také líbit