Stránka 1 z 1

Vložení textu a proměnné

Napsal: 28 pro 2019, 19:35
od Axamith
Ahoj, dávám dohromady ovládání termostatu a časovače (spínání relé) s nastavením přes LCD a tlačítka. prošel jsem spoustu příkladů LCD menu a došel k přesvědčení, že bude nejlepší, když si to napíši sám od nuly.
Řeším problematiku vkládání textu a proměnné do jednoho řádku. Zajímalo by mě, jestli existuje způsob, jak vložit jedním příkazem text a proměnnou, nebo dvě proměnné.

Toto je běžný způsob:

Kód: Vybrat vše

int paste [6] = {12, 24, 36, 48, 60, 72}; //definuji proměnnou

lcd.clear();
lcd.setCursor(0,0);
lcd.print("CAS: ");  //vložím text

lcd.setCursor(4,0);
lcd.print(paste[0]);  //vložím proměnnou
lcd.print(" HOD."); //a další text
Teď napíši asi blbost, IDE mi to sice nevyhodnotí jako nesmyslnou deklaraci, ale zobrazí se mi pouze první vkládaná proměnná, tedy text_1, zbytek už ne. Zkoušel jsem pracovat se závorkami, ale nedosáhl jsem požadovaného výsledku. Jde toto nějak ošetřit?

Kód: Vybrat vše

int paste [6] = {12, 24, 36, 48, 60, 72}; //definuji proměnnou
String text_1 = "CAS: "; //definuji text 1
String text_2 = "hod."; //definuji text 2

lcd.clear();
lcd.setCursor(0,0);
lcd.print(text_1),(paste[2]),(text_2);

Re: Vložení textu a proměnné

Napsal: 28 pro 2019, 20:04
od AstroMiK
Sice netuším, co je podle tebe tak špatného na tom prvním způsobu, ale když trváš na printu pomocí jednoho příkazu, tak se dají ty proměnné jednoduše sloučit do samostatného Stringu:

Kód: Vybrat vše

    String radka = text_1 + paste[2] + text_2;
    lcd.print(radka);
    

Re: Vložení textu a proměnné

Napsal: 28 pro 2019, 20:10
od pavel1tu
Pokud zde projdeš forum,
je zde k dispozici pěkné a jednoduché menu, myslím že je to projekt "budíku" ?

PS: Já si podle toho vytvořil knihovnu, ale zatím tam mám chyby, pak to dám k dispozici.
PS2: pro "tisk" jednoho řádku si udělej funkci, do které pošleš text, nebo proměnnou a číslo řádku - pak ji stačí jen volat a nemusíš ten výstup na displej pořád psát dokola .... popřípadě pro celou položku menu.

Re: Vložení textu a proměnné

Napsal: 28 pro 2019, 21:57
od jankop
AstroMiK píše:
28 pro 2019, 20:04

Kód: Vybrat vše

    String radka = text_1 + paste[2] + text_2;
    lcd.print(radka);
 
No já bych to zjednodušil na:

Kód: Vybrat vše

 lcd.print(text_1 + paste[2] + text_2);
a ještě lépe na:

Kód: Vybrat vše

 lcd.print(text_1 + String(paste[2]) + text_2);

Re: Vložení textu a proměnné

Napsal: 29 pro 2019, 17:55
od Axamith
Díky všem za konzultaci a připomínky. Snažil jsem se jen zjednodušit kód, nic víc, nic míň :-) A pochopit a naučit se další vychytávky.
To menu, které zmiňuje Pavel1tu je tady https://www.arduino-forum.cz/viewtopic. ... bud%C3%ADk
Další hezké jsem našel zde https://github.com/DJDevon3/Arduino a do třetice https://www.arduinotech.cz/inpage/ardui ... nu-na-lcd/
Nevím jak kdo, ale já se nejvíce naučím, když si program napíšu sám, byť odkoukám princip z jiného projektu. Vyhovuje mi to více, než stroze okopírovat hotovou věc. Ale stojí to více času a úsilí.