Stránka 2 z 3

Re: zobrazení teploty na LCD s přesností na desetiny °C

Napsal: 11 dub 2021, 15:27
od nosac
Zkusil jsem tip od OndraN i Cenda608. Oba fungovali, super. Od Konyho mi řvala kontrola kompilace:
exit status 1
'senzoryDS' was not declared in this scope

Každopádně díky za pomoc. v příloze výsledek. Změnil jsem ještě ve void setup

Kód: Vybrat vše

sensor1.setResolution(10);
z 10 na 12, aby zaokrouhloval správně Teď je to supr :D

Re: zobrazení teploty na LCD s přesností na desetiny °C

Napsal: 11 dub 2021, 17:24
od pavel1tu
A neposune se ti to, když bude teplota pod 10st.C ?

Re: zobrazení teploty na LCD s přesností na desetiny °C

Napsal: 11 dub 2021, 17:36
od nosac
pavel1tu píše:
11 dub 2021, 17:24
A neposune se ti to, když bude teplota pod 10st.C ?
Na to myslím. Píšu z mobilu tak to teď nevidim, ale mam ve druhém řádku nastavenou pozici pro kurzor před vypsanim stavu, ceka, jede, stop, je to na konci mého kódu.

Re: zobrazení teploty na LCD s přesností na desetiny °C

Napsal: 12 dub 2021, 07:58
od pavel1tu
nosac píše:
11 dub 2021, 17:36
Na to myslím. Píšu z mobilu tak to teď nevidim, ale mam ve druhém řádku nastavenou pozici pro kurzor před vypsanim stavu, ceka, jede, stop, je to na konci mého kódu.
Od začátku čekám, kdy někdo z "profíků" nedhodí formátování pomocí "%", ale marně
pak by jsi nemusel nic hlídat, já pak generuji tisk celých řádků ne těchto displejích.

Re: zobrazení teploty na LCD s přesností na desetiny °C

Napsal: 12 dub 2021, 08:21
od nosac
Jsem začátečník. To je můj první projekt s LCD, tak se učím. I ten tip od Cendy mě překvapil jak to lze jednoduše pořešit. Mimochodem když ve funkci If sleduji stav několik podmínek a místo znaku & používám slovo and, tak to nevadí ? Příjde mi to pro mně jednodušší.

Re: zobrazení teploty na LCD s přesností na desetiny °C

Napsal: 12 dub 2021, 10:25
od ondraN
pavel1tu píše:
12 dub 2021, 07:58
.....
Od začátku čekám, kdy někdo z "profíků" nedhodí formátování pomocí "%", ale marně
pak by jsi nemusel nic hlídat, já pak generuji tisk celých řádků ne těchto displejích.
Pokud myslíš formátovaný výstup pomocí funkce sprintf a placeholderů a formátovacích znaků, tak to je většinou pro začátečníky dost těžko stravitelné, zabere to spoustu paměti a jednoduchý výstup to stejně moc nezjednoduší. Je to v tomto případě takový kanón na vrabce. Pro začátečníka je asi vhodnější, aby si to zkusili vyřešit nějakou klasickou konstrukcí a tím si i procvičí základní algoritmizaci :mrgreen: A taky přiznám, že mě docela překvapilo, že na stránkách wiringu je ta formátovací funkce nedokumentovaná

Re: zobrazení teploty na LCD s přesností na desetiny °C

Napsal: 12 dub 2021, 10:42
od ondraN
nosac píše:
12 dub 2021, 08:21
Jsem začátečník. To je můj první projekt s LCD, tak se učím. I ten tip od Cendy mě překvapil jak to lze jednoduše pořešit. Mimochodem když ve funkci If sleduji stav několik podmínek a místo znaku & používám slovo and, tak to nevadí ? Příjde mi to pro mně jednodušší.
Vzhledem k tomu, že C ani C++ nemají operátor and, tak máš asi někde předdefinované makro, které při překladu nahradí and něčím, ale ty pořádně nevíš čím. Může ho nahradit operátorem & a nebo &&. Ten první je bitový, ten druhý je výrazový. Oba jsou přípustné ale fungují odlišně. Je nebezpečné, když používáš něco o čem nemáš jistotu, jak to funguje. V podmínkách u výrazů, by se měl vždy používat oprátor zdvojený (výrazový), tedy &&, || (and, or).
A ještě se zamysli nad tím, co na displeji uvidíš, když jeden ůdaj bude 10.0C a další bude 9.9C. Zkus na to přijít sám, nebo si to zkusit ;)

Re: zobrazení teploty na LCD s přesností na desetiny °C

Napsal: 12 dub 2021, 19:27
od kiRRow
Já jsem v tomhle za Ondrou ... sprintf je jako trhat fialky dynamitem ...

Re: zobrazení teploty na LCD s přesností na desetiny °C

Napsal: 12 dub 2021, 20:23
od pavel1tu
ondraN píše:
12 dub 2021, 10:25
Pokud myslíš formátovaný výstup pomocí funkce sprintf a placeholderů a formátovacích znaků, tak to je většinou pro začátečníky dost těžko stravitelné, zabere to spoustu paměti a jednoduchý výstup to stejně moc nezjednoduší. Je to v tomto případě takový kanón na vrabce. Pro začátečníka je asi vhodnější, aby si to zkusili vyřešit nějakou klasickou konstrukcí a tím si i procvičí základní algoritmizaci :mrgreen: A taky přiznám, že mě docela překvapilo, že na stránkách wiringu je ta formátovací funkce nedokumentovaná
Ano, pokud takto zobrazuje jen jednu hodnotu - asi se to nevyplatí. Ale když bude vědět že to existuje ...
Pro zobrazení času, stopek - je to lepší, než pořád dokola zkoumat kde je víc jak 10, kde méně,
u teploměru co jde i do mínusu už vůbec.

Ale uznávám, každý na to má svůj názor ;)

Re: zobrazení teploty na LCD s přesností na desetiny °C

Napsal: 13 dub 2021, 14:41
od nosac
ondraN píše:
12 dub 2021, 10:42
nosac píše:
12 dub 2021, 08:21
Jsem začátečník. To je můj první projekt s LCD, tak se učím. I ten tip od Cendy mě překvapil jak to lze jednoduše pořešit. Mimochodem když ve funkci If sleduji stav několik podmínek a místo znaku & používám slovo and, tak to nevadí ? Příjde mi to pro mně jednodušší.
Vzhledem k tomu, že C ani C++ nemají operátor and, tak máš asi někde předdefinované makro, které při překladu nahradí and něčím, ale ty pořádně nevíš čím. Může ho nahradit operátorem & a nebo &&. Ten první je bitový, ten druhý je výrazový. Oba jsou přípustné ale fungují odlišně. Je nebezpečné, když používáš něco o čem nemáš jistotu, jak to funguje. V podmínkách u výrazů, by se měl vždy používat oprátor zdvojený (výrazový), tedy &&, || (and, or).
A ještě se zamysli nad tím, co na displeji uvidíš, když jeden ůdaj bude 10.0C a další bude 9.9C. Zkus na to přijít sám, nebo si to zkusit ;)
Vědomě jsem žádné makro nevytvořil, leda že by bylo někde v použité knihovně. Zkusil jsem použít "and" a ono v Arduinu IDE zezelenalo jako by to nebyl pouze text. Testoval jsem to před chvíli i v jednoduchém kódu s blikáním LEDkou, taky funguje.
U displeje vím že pozice teploty skáče, když se posune hodnota z 9na10 nebo 99na100 nebo pod nulu o znak -