Stránka 1 z 1

Deklarace LCD

Napsal: 02 črc 2020, 15:11
od hafca
Jsem začátečník a zkouším přepsat kód, který je pro displej z Nokie 5110 na LCD 20x4. V první části kódu void setup() je LCD definované LiquidCrystal_I2C lcd(0x23,20,4); a všechny příkazy lcd.print projdou kompilací bez chyby.
Jenže kód pak pokračuje void loop() a tam už mi vypadává chyba 'lcd' was not declared in this scope. Je tam dost podmínek pro zobrazení a co jsem zkoušel, tak po každé podmínce musím znovu deklarovat to LCD.
Musí to tak být nebo se to dá nějak obejít? Jde mi o zjednodušení aby kód moc nebobtnal.

Re: Deklarace LCD

Napsal: 02 črc 2020, 15:29
od KiLLA
..a kde ten kód je? je tajnej? 8-) vlož to sem a uvidíme, čím to bylo.. :lol:

Re: Deklarace LCD

Napsal: 02 črc 2020, 15:30
od AstroMiK
Ta řádka :
LiquidCrystal_I2C lcd(0x23,20,4);

by měla být ještě před blokem setup(). Když je uvnitř bloku setup(), tak platí jen v tom bloku.

Re: Deklarace LCD

Napsal: 02 črc 2020, 15:30
od PetrB
no, zjevně v setupu definuješ lokální proměnnou.
Máš minimálně dvě možnosti:
1) inicializovat to globálně ještě před setupem:

Kód: Vybrat vše

LiquidCrystal_I2C lcd(0x23,20,4);
...
void setup() {
....
}

void loop() {
...
 tady voláš lcd.necoUdelej();
}
2) definovat si globální ukazatel a inicializaci provést v setupu (to mi přijde takové čistší, ale jde spíše o zvyk - máš kontrolu nad tím, co se kdy vytváří)

Kód: Vybrat vše

LiquidCrystal_I2C *lcd;
...
void setup() {
lcd=new LiquidCrystal_I2C (0x23,20,4);
...
}

void loop() {
...
 tady voláš lcd->necoUdelej();
}

Re: Deklarace LCD

Napsal: 02 črc 2020, 16:13
od hafca
AstroMiK píše:
02 črc 2020, 15:30
Ta řádka :
LiquidCrystal_I2C lcd(0x23,20,4);

by měla být ještě před blokem setup(). Když je uvnitř bloku setup(), tak platí jen v tom bloku.
Zase o něco chytřejší. Takhle deklarované to funguje.
Dík všem za pomoc

to KiLLA
Kód sem dát mohu, ale má to téměř 700 řádků a nechtěl jsem to tady moc plnit.

Re: Deklarace LCD

Napsal: 02 črc 2020, 16:40
od kiRRow
Na vkládání kódu je tag CODE ... ikonka s </> ... 700řádků se pak zobrazí krásně barevně v rozměrově přijatelném okénku. Viz příspěvky výše.

Re: Deklarace LCD

Napsal: 02 črc 2020, 19:53
od hafca
OK, budu si to pamatovat pro případ, že bych zase na něčem ztroskotal.