599.cz - Homepage 599.cz - Homepage Memorial OK1WC Optimalizováno pro web... Myši umírají v pastích, protože nechápou, proč je ten sýr zdarma.
     Dnes: 20. 07. 2024    spaceweather.com Bouřky v Česku v novém okně Bouřky v Evropě v novém okně Ionogram Průhonice v novém okně Contest calendar WA7BNM v novém okně RSS summary of the last 7 articles    
O   Hlavní menu

 [-] Hlavní stránka

 [-] Zajímavé odkazy

 [-] Download

 [-] Zasílání novinek


O   Seznam rubrik


time.is in new window


O   R B N

O   VOACAP KV Online

O   VOACAP pro CB
Šíření na CB

O   Počasí v Holicích
JO70XC


PHPRS fórum

Z důvodu zneužívání ke spamování, byla zpětná vazba zrušena

<a1>technika, bastleni</a1>

Zpět Rádio s novým displejem

Vydáno dne 19. 11. 2023 (994 přečtení)

Displej Nextion 2.4 inch Jak jsem se zmínil ve videu k přímosměšujícímu přijímači (viz předchozí článek), tak ten OLED grafický displej na desce s oscilátorem trochu ruší příjem. U klasického přijímače s mezifrekvencí k tomu nedochází (nebo je to tak slabé, že je to nepostřehnutelné). Ale u přímosměšujících přijímačů tam to rušení je slyšet. Asi je to tím, že je tam téměř veškeré zesílení soustředěno do nízkofrekvenčního stupně.


Hledal jsem, jaký jiný displej by se dal použít.

     
HF_scale-counter, measuring Voltage
QRP CW TRX 60m
LCD Nokia5110
LCD 2x8 znaků OLED 128x64 bodů LCD Nokia 84x48 bodů
     

Původně jsem používal klasické LCD řádkové (alfa-numerické) displeje (Obvykle zeleno-žluté, nebo modré). Jejich výhoda je, že používají driver HD44780, nebo nějaký podobný, takže není problém s obsluhou a jsou relativně rychlé, takže nezdržují program. Ale na to, co jsou schopny najednou zobrazit, jsou hrozně veliké. Pro zobrazení požadovaných informací bych musel použít alespoň 4x20 znaků a to je hrozná placka asi 6x10cm a verze s podsvětlením má výšku skoro 1,5cm. To se mi na přední panel 50 x 145 mm nevejde. Další nevýhoda je, že pro komunikaci potřebují alespoň 6 vodičů. To se dá sice obejít převodníkem na I2C (obvykle PCF8574), ale zase tím ztratíme tu rychlost.

Potom jsem používal ty grafické OLED. Vypadají perfektně, mají vysoký kontrast, takže jsou dobře vidět i venku při slunečním světle. Obvykle se připojují přes I2C, nebo SPI. Docela problém je, že používají hodně různých driverů, takže často dva displeje, na první pohled stejné, vyžadují jiný firmware. Navíc je nutné mít fonty pro zobrazení textů uloženy ve flash paměti jednočipu. Tedy každý použitý font zabere několik kB paměti. Ale pro mne hlavní problém je, že "jsou slyšet" v reproduktoru. Je to sice slabé, a na zarušeném pásmu by si toho někdo možná ani nevšiml, ale je to tam.

Vyzkoušel jsem také, před časem docela populární, LCD displej z telefonu NOKIA 5110 (3310). Jejich rozlišení je 84x48 bodů, modré podsvětlení. Komunikace po SPI, celkem bez problémů, ale jeho zobrazení mne nijak nenadchlo. Navíc je také nutné mít použité fonty uloženy ve flash paměti MCU.




Displeje Nextion Basic

Poslední, co jsem prozatím zkusil jsou displeje NEXTION. "Vyrábí" je čínská firma Itead.cc (kdysi jsem si u nich objednával výrobu DPS, ale zdá se, že s tím už skončili). Hned na úvod musím napsat jejich asi hlavní nevýhodu - ty displeje jsou docela drahé.

Poznámka: Jak se zdá, tak skutečným výrobcem je jiná čínská firma - TJC. Ta ale prodává disleje jen na vnitřním čínském trhu. A také program na jejich nastavení (na první pohled úplně stejný, jako Nextion_Editor) je pouze v čínštině. Pro firmu Itead vyrábějí displeje s označením Nextion. Itead je prodává do světa za podstatně vyšší cenu a nabízí ke stažení anglickou verzi programu. Výstupní soubory z programů Nextion_Editor a TJC jsou úmyslně vzájemně nekompatibilní. A protože se levné displeje TJC dají občas koupit třeba na AlliExpressu, vznikají všelijaké cracky a návody, jak tu úmyslnou nekompatibilitu obejít.

Ty nejmenší displeje rozměrů 2,4-3,5 palce jsou v českých e-shopech většinou z řady Basic. Výrobce ale dnes propaguje novější alternativu - řadu Discovery. Ty mají o něco výkonnější procesor, menší paměť, docela výrazně nižší spotřebu ve SLEEP režimu a jsou o něco levnější.

     
Displej Nextion 2.4inch
Displej Nextion zezadu
Displej nextion 2.8 inch
Nextion 2.4 inch
Basic
Nextion 2.4 Basic
zezadu
Nextion 2.8 inch Basic
v provozu
     

  • Vyrábí je v různých velikostech. Pro můj účel, na přední panel QRP rádia, by se mohl hodit ten nejmenší s úhlopříčkou 2,4 palce.
  • Líbí se mi rozlišení 320x240 bodů, tedy poměr stran 4:3.
  • Vyrábějí různé verze s různou "chytrostí", a velikostí paměti.
  • Napájení 5V, spotřeba 90mA (docela dost, také trochu záleží na nastaveném jasu)
  • Jedná se o 16ti bitový barevný displej, tedy 65536 barev.
  • Displej má odporovou dotykovou vrstu. Některé ty větší a chytřejší mají kapacitní.
  • Ovládání je po klasické sériové lince (UART) na úrovni TTL. Rychlost 2400 až 921600 Baud.
  • Informace z dotykové vrstvy přicházejí také po sériové lince (UART).
  • Pokud nepoužiji dotykové ovládání, stačí zapojit jen TxData směrem do displeje. Tedy, kromě napájení, jen jeden vodič.

    Program Nextion editor

    Tenhle displej má poněkud nezvyklé ovládání. Jedná se sice o barevný grafický displej, ale pokud zobrazujeme texty, posíláme do něj pouze ty texty, podobně jako u alfa-numerického displeje. Všechny fonty, umístění textů na ploše a různé grafické prvky si připravíme předem v programu Nextion Editor (stáhne se z webu výrobce) a uložíme do paměti displeje. Lze tam uložit také obrázky (jpg, png,...), které potom při běhu našeho firmware zobrazujeme. Tím pádem můžeme zobrazovat třeba i fotografie na systému řízeném osmibitovým jednočipem s pamětí flash třeba jen 8kB. Můžeme si vytvořit několik stránek (pages), s různým rozmístěním různých prvků, které potom jednoduchým příkazem (page x) přepínáme.

    V displeji je použit celkem výkonný jednočip STM32F030C8T6. Kromě zobrazování zvládá i různé výpočty, manipulace s textovými proměnnými, má to časovač a podobně. Mám dojem, že by bylo možné v Nextion editoru naprogramovat a potom v samotném displeji (jen s připojeným napájením) spouštět třeba i nějaké jednodušší hry ovládané pomocí dotykové obrazovky.

    Výhodou tohoto způsobu ovládání je, že nepotřebujeme žádný speciální ovladač (hlavičkový soubor nebo něco podobného). Stačí, že jsme v našem oblíbeném programovacím prostředí schopni vytvořit posílání textů po sériové lince UART. Připomíná mi to VKV/UKV moduly DRA818V, DRA818U, o kterých jsem psal před nějakou dobou.

    Soubor vytvořený v programu Nextion Editor nahrajeme do displeje také buď přes sériovou linku, nebo přeneseme pomocí SD karty (velikost Micro).

    Ukázky nejběžnějších příkazů:

  • Zobrazované texty se zadávají ve dvojitých uvozovkách "text".
  • Barvy se zadávají jako číslo 0-65535 (barevné schéma "565", viz třeba zde)
  • Docela nezvyklé je, že při sériové komunikaci musejí být všechny příkazy ukončeny třikrát 0xFF (třikrát 255). Na to je třeba pamatovat a při programování MCU to nějak zařídit. Třeba v sériovém terminálu Termite, který často používám na testování, musíme zapnout možnost psaní HEX a na konec každého příkazu zapsat 0xFFFFFF.

    
    Máme prvek s textem, jehož jméno je "t0"
    t0.txt="muj text"        //zapíše text
    t0.pco=24000            //změna barvy textu
    t0.bco=0                    //změna barvy pozadí
    t0.xcen=0                  //zarovnání textu 0-L, 1-C, 2-R
    

    Máme vytvořený bargraf jehož jméno je "j0" j0.val=85 //hodnota bargrafu (0-100%) j0.pco=55626 //změna barvy aktivní části bargrafu j0.bco=65535 //změna barvy pozadí bargrafu

    Máme vytvořený QR kód "qr0" qr0.txt="https://599.cz" //text do QR kódu qr0.pco= barva //barva QR kódu qr0.bco= barva //barva pozadí QR kódu

    rest //zresetuje displej cls barva //smaže displej (natře barvou) dim=50 //jas displeje (0-100%) vis t0,0 //viditelnost prvku (0 nebo 1)

    page 0 //přepne na stránku číslo page0.bco=barva //barva pozadí stránky

    Grafika: line x,y,x2,y2,barva //čára barvou z bodu xy do x2y2 draw x,y,x2,y2,barva //obrys obdélníku barvou fill x,y,w,h,barva //vyplněný obdélník barvou (w-šířka, h-výška) cir x,y,r,barva //kružnice v bodě xy, poloměr r cirs x,y,r,barva //plný kruh v bodě xy, poloměr r

    local x global
    Pokud u některého prvku nastavíme parametr "global", lze jeho hodnoty měnit na pozadí z jiné stránky.

    
    Například jsme na stránce page2:
    page0.t0.txt="nový text"               //zapíše text do pole t0 na stránce page0
    

    Trošku problém je uživatelský manuál. Pokud v Nextion editoru klikneme na Help, spustí se nám webová stránka se seznamem příkazů. Je to docela nepřehledné. Na jedné dlouhé stránce jsou pohromadě všechny příkazy a parametry pro všechny verze. Verze displejů jsou odlišeny jen takovým barevným symbolem. Myslím, že takovýto výrobek by si zasloužil lepší uživatelský návod, ideálně třeba i s ukázkovými příklady. Na webu výrobce se dá doklikat na tento, docela použitelný návod k programu Nextion Editor.




    Na Youtube jsem dal video s úplnými základy nastavení displeje.
    Pravděpodobně vytvořím časem ještě jedno které by šlo víde do detailů.
    Doporučuji jeho sledování na Youtube v kvalitě 1080p_HD.

    S vypětím všech sil jsem vytvořil další 3 videa s ukázkami ovládání v různých prostředích.

    Jarda, ok1hdu


  •    | Celý článek |      tisk clánku
     

    Zpět (klikni)

    O   Novinky
    07.07.2023:
    Update na webu DXFC
    Dneska jsem updatoval info na webu DXFC.

    05.07.2019:
    Update fotoalba
    Do fotoalba jsem přidal pár fotografií ze:
    Slovinska (červen 2019)
    Fotoalbum prozatím zrušeno.

    05.12.2018:
    Update fotoalba
    Do fotoalba jsem přidal pár fotografií ze:
    Slovinska (jaro 2018)
    a ze:
    Suchého Vrchu (zima 2005/2006).
    Fotogalerie je prozatím zrušena.

    O   kalendář
    <<  Červenec  >>
    PoÚtStČtSoNe
    1 2 3 4 5 6 7
    8 9 10 11 12 13 14
    15 16 17 18 19 20 21
    22 23 24 25 26 27 28
    29 30 31     

    O   Radary ČHMU

    O   Zaparkováno na:

    O   TSL certifikát:

    PHP Scripting Language MariaDB Apache Web Server

    Tento web site byl vytvořen prostřednictvím phpRS - redakčního systému napsaného v PHP jazyce.
    Na této stránce použité názvy programových produktů, firem apod. mohou být ochrannými známkami
    nebo registrovanými ochrannými známkami příslušných vlastníků.