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

Wiring, C++, C, Java, ...
Pravidla fóra
Toto subfórum slouží k řešení obecných otázek kolem programování (konstrukce, knihovny, alokace paměti, ...)
nosac
Příspěvky: 11
Registrován: 06 lis 2019, 10:31
Reputation: 0

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

Příspěvek od nosac » 11 dub 2021, 15:27

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
Přílohy
výsledek
výsledek

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

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

Příspěvek od pavel1tu » 11 dub 2021, 17:24

A neposune se ti to, když bude teplota pod 10st.C ?
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

nosac
Příspěvky: 11
Registrován: 06 lis 2019, 10:31
Reputation: 0

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

Příspěvek od nosac » 11 dub 2021, 17:36

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.

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

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

Příspěvek od pavel1tu » 12 dub 2021, 07:58

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.
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

nosac
Příspěvky: 11
Registrován: 06 lis 2019, 10:31
Reputation: 0

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

Příspěvek od nosac » 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šší.

ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

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

Příspěvek od ondraN » 12 dub 2021, 10:25

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á

ondraN
Příspěvky: 932
Registrován: 08 srp 2019, 20:01
Reputation: 0

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

Příspěvek od ondraN » 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 ;)

Uživatelský avatar
kiRRow
Příspěvky: 1152
Registrován: 07 kvě 2019, 07:03
Reputation: 0
Bydliště: Opava

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

Příspěvek od kiRRow » 12 dub 2021, 19:27

Já jsem v tomhle za Ondrou ... sprintf je jako trhat fialky dynamitem ...

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

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

Příspěvek od pavel1tu » 12 dub 2021, 20:23

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 ;)
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

nosac
Příspěvky: 11
Registrován: 06 lis 2019, 10:31
Reputation: 0

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

Příspěvek od nosac » 13 dub 2021, 14:41

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 -

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 17 hostů