Teljesen kezdőként, nem találok választ az alábbi problémámra.
Adott egy egyszerű program, amikor a Serial.println(millis()); utasítással szeretném a soros portra kiíratni a panel indulástól eltelt időt.
Viszont teljesen mindegy mikor indult el a panel, a soros monitor indulástól kezdődően, 0 értékkel kezdve írja ki. Ha bezárom a soros monitort és újra megnyitom, ismét 0-val kezdi.
Próbáltam változókba menteni az értékét és úgy kiiratni, azonos eredménnyel.
Van rá mód, hogy a panel tényleges futási idejét írassam ki??
Előre is köszönet.
Gábor
millis() valóban panel indulástól fut?
Re: millis() valóban panel indulástól fut?
Mivel a sorosport megnyitása _reseteli_ a chipet és indítja a bootloadert.
A resetjumpert vágd át.
Nem fog újraindulni.
DE a programfeltöltéshez is kell a resetjel!
Futásidő mit jelent?
- üzemóraszámláló?
- táp alá helyezés ideje?
A resetjumpert vágd át.
Nem fog újraindulni.
DE a programfeltöltéshez is kell a resetjel!
Futásidő mit jelent?
- üzemóraszámláló?
- táp alá helyezés ideje?
Re: millis() valóban panel indulástól fut?
Használj olyan soros monitort, amiben ki lehet kapcsolni a DTR-t! Így a csatlakozáskor nem fogja resetelni az Arduino-t.
Ugyanis az Arduino IDE a DTR aktiválásával jelzi a board számára, hogy reseteljen. A DTR (Data Terminal Ready) pedig alapértelmezetten aktív egy soros kapcsolat megnyitásakor, és a legtöbb soros terminál programban nem is lehet állítani. Van néhány kivétel, érdemes azokat használni.
Ilyen például a CoolTerm.
http://freeware.the-meiers.org/
Ugyanis az Arduino IDE a DTR aktiválásával jelzi a board számára, hogy reseteljen. A DTR (Data Terminal Ready) pedig alapértelmezetten aktív egy soros kapcsolat megnyitásakor, és a legtöbb soros terminál programban nem is lehet állítani. Van néhány kivétel, érdemes azokat használni.
Ilyen például a CoolTerm.
http://freeware.the-meiers.org/
Re: millis() valóban panel indulástól fut?
Köszönöm a válaszokat. Ez a ház szennyízátemelő szivattyú tartályának a magas szint riasztása lenne (+ fáziskimaradás, és egyéb riasztások), élő probléma. Táp alá helyezés idejét szeretném kiíratni, amikor ránézek a paraméterekre.
Re: millis() valóban panel indulástól fut?
Szerintem a millis() ilyen feladatra nem lesz jó. Túlcsordulás, stb.
Ha szükséges logolni az eseményeket, akkor RTC + SD kártya.
Ha szükséges, hogy a riasztásról értesülj is, akkor kell valamilyen kommunikációs modul (rádió, ethernet, wifi, stb), amivel értesíteni tud téged.
Ha fontos, hogy magas legyen a rendelkezésre állási idő, akkor külső + belső watchdog.
Hibás esetek kezelése van benne?
És óvatosan! Az Arduino sem hardveresen, sem szoftveresen nem alkalmas non-stop vezérlési üzemre. Nem azt mondom, hogy nem működhet, de van rá esély, hogy valamelyik könyvtárban valami túlcsordul a 27. üzemnapon, és onnantól kezdve nincs szennyvíz szivattyúzás.
Ha szükséges logolni az eseményeket, akkor RTC + SD kártya.
Ha szükséges, hogy a riasztásról értesülj is, akkor kell valamilyen kommunikációs modul (rádió, ethernet, wifi, stb), amivel értesíteni tud téged.
Ha fontos, hogy magas legyen a rendelkezésre állási idő, akkor külső + belső watchdog.
Hibás esetek kezelése van benne?
És óvatosan! Az Arduino sem hardveresen, sem szoftveresen nem alkalmas non-stop vezérlési üzemre. Nem azt mondom, hogy nem működhet, de van rá esély, hogy valamelyik könyvtárban valami túlcsordul a 27. üzemnapon, és onnantól kezdve nincs szennyvíz szivattyúzás.
Re: millis() valóban panel indulástól fut?
A szivattyú ettől függetlenül működik, ez kizárólag "riasztás", jelzés. A wifi még tervben van, de pillanatnyilag nagy falat lenne tudásban. Majd lassacskán.
Hibás esetek kezelése nincs benne. Pillanatnyilag ledek és berregő. Millis ~49 nap után csordul. A terv, hogy előtte csinál egy reset-et (pin 10 összekötve reset bemenette, ezt aktiválja).
Úgy tűnik jól működik, ahogy pillanatnyilag kész van, a CoolTerm is jó lett DTR OFF-ban. Bár még csak 2 napja van egyben az egész. A programot biztos lehetne egyszerüsíteni, méretet csökkenteni, de én gépész vagyok
Folyamatosan megy, led világít. Meglátjuk mennyi ideig bírja a panel.
Hibás esetek kezelése nincs benne. Pillanatnyilag ledek és berregő. Millis ~49 nap után csordul. A terv, hogy előtte csinál egy reset-et (pin 10 összekötve reset bemenette, ezt aktiválja).
Úgy tűnik jól működik, ahogy pillanatnyilag kész van, a CoolTerm is jó lett DTR OFF-ban. Bár még csak 2 napja van egyben az egész. A programot biztos lehetne egyszerüsíteni, méretet csökkenteni, de én gépész vagyok
Folyamatosan megy, led világít. Meglátjuk mennyi ideig bírja a panel.