Stránka 1 z 1

Countimer a určení sekund pomocí Stringu

Napsal: 03 led 2019, 19:44
od NCPlyn
Dobrý večer, dělám jednu věc, která potřebuje zadat čas pomocí keypadu. Keyped mám vyřešen, čas v sekundách mám třeba ve Stringu "sektime".
Problém je v tom, že nedokážu ho dát do příkazu který nastavuje odpočet.

Kód: Vybrat vše

timer.setCounter(0, 0, 30, timer.COUNT_DOWN, onComplete);
Zde potřebuji vyměnit číslo 30 za "sektime", ale nevím jak. Používám tuto knihovnu pro odpočet : https://github.com/inflop/Countimer

Budu rád za každou radu která pomůže :)

Re: Countimer a určení sekund pomocí Stringu

Napsal: 03 led 2019, 20:46
od SkullKeep
Klasicky místo čísla použij proměnou typu např. integer sektime; . Díval jsem se do knihovny a na nastavení odpočtu hodin,minut a sekund je použita proměná typu unsigned int8.

Re: Countimer a určení sekund pomocí Stringu

Napsal: 03 led 2019, 20:46
od pavel1tu
To nejde dát místo těch "30" proměnnou ? Já bych si to naprogramoval sám bez knihovny.

On tu je problém, že ten kod je v sekci "Setup()", která se spouští jen po startu arduina.

Mám myšlenku, nevím jestli proveditelnou .....

1) na začátku deklarace proměnné "sektime", třeba s časem 30s - kolik to bude - nedůležité ....
setup()
2) načtení sektime z eeprom, pokud to bude 0, ponechat přednastvených 30s, jinak načíst z eeprom
3) timer.setCounter(0, 0, sektime, timer.COUNT_DOWN, onComplete);
loop()
nastavení z klávesnice
4) nastavit nový čas z klávesnice, pokud jej chceme, uložit do eeprom, počkat 200ms (raději) --> restart Arduina --> Arduino se spustí s novým sektime


5) chod programu s nastaveným časem z eeprom...

Idea dobrá, ale bude to fungovat ?

Re: Countimer a určení sekund pomocí Stringu

Napsal: 03 led 2019, 20:50
od jankop
Třeba nějak takhle

Kód: Vybrat vše

timer.setCounter(0, 0, sektime.toInt() , timer.COUNT_DOWN, onComplete);
nebo takhle:

Kód: Vybrat vše

timer.setCounter(0, 0, sektime.toFloat() , timer.COUNT_DOWN, onComplete);
Netuším, jaký string máš k dispozici, tos nesdělil.
Prostě ten svůj string převedeš na číslo.
Kdyby ses zeptal rovnou na převod stringu na číslo, tak by to bylo každému jasné.

Re: Countimer a určení sekund pomocí Stringu

Napsal: 03 led 2019, 21:19
od NCPlyn
Díky všem! Nakonec jsem využil .ToInt() jak tu řekl SkullKeep a jankop. Chtělo to ještě nějakou úpravu kódu ale vše už funguje jak má. dík :)

Re: Countimer a určení sekund pomocí Stringu

Napsal: 07 led 2019, 02:11
od gilhad
Mimochodem - nebylo by lepsi rovnou tu hodnotu nacitat jako cislo?