szatti
2016.03.01
0 0
1763
Ja, bocsi. Máshogy értelmeztem a kérdést.
Először van ez. Itt marad 404:
Majd utána ez a programrész ami után 176:
És ez után küldi.
Előzmény: titusz99 (1762)
szatti
2016.02.28
0 0
1757
Beleírtam!
A loop elején 664
Stringgé alakítás után 404, majd küldés előtti pillanatban 176 a free ram.
Előzmény: titusz99 (1756)
titusz99
2016.02.25
0 0
1756
A setup-ban nem érdemes.
A loop-ban talán akkor, ha kevés (200-300).
Lényeg, hogy lásd mennyi van akkor és ott.
Előzmény: szatti (1755)
szatti
2016.02.25
0 0
1755
Köszi, viszont ha ezt a setupban íratom ki, akkor nem a valóságot fogom látni.
Ezt többször ki kell íratni a program futása közben, hogy lássam miként alakul a szabad ram mennyisége?
Mondjuk miután az összes hőmérséklet be van olvasva és előkészítve a wifi küldésre.
Előzmény: titusz99 (1754)
szatti
2016.02.25
0 0
1753
Igen a kukac az csak elírás. Az & akart lenni.
A szabad memóriát hol tudom megnézni?
Mintha az újabb Arduino IDE-k kiírtak volna több infot fordításkor, de nekem az 1.0.6. van fent, mert csak ezzel
tudom az Optiboot féléket programozni.
Előzmény: titusz99 (1748)
vfp
2016.02.24
0 0
1752
Nálam a laptopon az alábbi verziók vannak fent:
-1.05
-1.06
-1.55
-1.63
De csak az 1.05-ben volt benne
Előzmény: granov (1751)
granov
2016.02.24
0 0
1751
Köszi.
Eléggé el...tt dolog, hogy nem lehet sehogyan se leszedni, mert elvileg az install csomagban lenne, de mégsincs benne.
Előzmény: vfp (1750)
granov
2016.02.24
0 0
1749
wire library kerestetik!
Egész délután ezt a könyvtárat vadászom. Az új installban benne sincs, holott a könyvtár kezelő szerint telepítve van. Mindenféle egyéb I2C kezelőt leltem de az eredeti, gyári nem tudom honnan lenne letölthető.
Akinek megvan tegye elérhetővé lécci. Köszönet előre is.
titusz99
2016.02.24
0 0
1748
Ugye csak elírás:
Field1=69.4&Field2=68.2&Field3=1@ field4=10.0
(kukac)
A szóköznek nem szabad ilyen problémát okozni hacsak az a szóköz nem chr(0).
A String egy csomó tipust automatikusan konvertál.
Azt nézted már, hogy a loop-ban mennyi a szabad memória?
A NANO 2k-ja nem túl sok, hamar el szokott fogyni.
Előzmény: szatti (1747)
szatti
2016.02.24
0 0
1747
Nekem az tűnt fel, mintha a szóközt nem számolná bele.
Legutóbbi esetben az értékek valami ilyen formában voltak:
Field1=69.4&Field2=68.2&Field3=1@field4=10.0
Ahol a negyedik a puffer töltöttsége százalékban.
Amikor az 10% alá csökkent, attó kezdve nem ment el az adat. A sor így nézett ki:
Field1=69.4&Field2=68.2&Field3=1@field4= 9.0
A 9 előtti szóközt mintha nem számolta volna és kevesebbet küldött az "AT+CIPSEND=" értékre.
Vagy csak más miatt nem jött ki az érték. A százalékot most INT -re állítottam, így nem működik.
Lehetséges, hogy ha a hőmérséklet értékek valamelyike 10 fok alá menne ( ami ez esetben szerencsére nem játszik) akkor
megint megállna a történet.
Ki fogom próbálni ez a reserved parancsot.
Tehát akkor ha jól értem az összes string-et elhagyhatom az INT és FLOAT változók előtt.
Ezt is tesztelni fogom.
Köszönöm!
Előzmény: titusz99 (1746)
titusz99
2016.02.24
0 0
1746
Akkor valami lenyeli vagy hibás a find.
A string statikus objektum, a tartalma viszont a HEAP-en van.
Amikor bővíted a tartalmát megpróbálja a blokkot megnövelni.
Ha nem megy újat foglal. A memóriád meg feldarabolódik rosszabb esetben egyre kisebb blokkokra.
Ha nem talál megfelelő blokkot akkor kezd furcsán viselkedni a rendszer.
A string-nek vannak operátorai a konverzióra, ha nem kell speciális átalakítást végezni akkor elegek azok is.
Két string összeadásakor két külön blokkot kell összeadnia, ez csak új blokk foglalással fog menni.
Ha a reserved-et beállítod, akkor lefoglal egy nagyobb blokkot. Így nem kell menet közben növelgetnie.
"getStr += String(szoba);" megegyezik a "getStr += szoba;" -val végeredményét tekintve.
A string hosszát nem érinti ezen változtatás.
De elképzelhető, hogy a string hossza azért nem stimmel, mert valamely programsorodnál elfogyott a HEAP.
Ilyenkor jobb esetben csak üres stringed lesz.
Érdemes figyelni a szabad memóriát.
Előzmény: szatti (1745)
szatti
2016.02.24
0 0
1745
Nem marad el a > jel. Figyeltem a soros kommunikációt.
Azonnal megjön, de a program nem veszi észre!
a szoba int típusú.
a többi érték float.
Ezt a string dolgot valójában nem értem hogy működik, csak egy ilyen programot találtam a neten ami működött elsőre.
Miután sok dolgon változtattam jöttek a hibák.
Ha az int és a float értékeknél nem kell a string, akkor hogy lehet a karakterlánc hosszát másképpen kiszámoltatni?
Előzmény: titusz99 (1739)
szatti
2016.02.24
0 0
1744
Ezzel a vezérléssel sok olyat meg tudunk valósítani, ami Rexel - Sestossal lehetetlen.
Pl: nekem csak akkor indul a pillangó vezérlés, ha a kazán már 40 fokos ( begyújtáskor nem folytogatja ).
A puffertöltés pedig csak 60 fokos kazánnál indul el, nem akkor amikor a füstgáz miatt amúgy indulna.
stb......
Előzmény: Törölt nick (1742)
szatti
2016.02.24
0 0
1743
A zavarszűrő sok esetben segíthet, de csak olyat érdemes ami a földeléshez is csatlakozik.
Én nem használok 5V-os reléket, mert a relé is meg tudja zavarni a procit ( induktív impulzusok) , főleg ha az 5V rendszeren megy.
Tudom dióda van rajtuk, de akkor is jobb, ha nem azon megy.
Nekem ilyen tápról megy : http://orkodo.hu/Kameratap-12V-2A
Van egy 5V táp IC a nyákon a Nanohoz ami az 5V lábra adja be a tápot. Nem használom a beépített táját, mert az is okozhat fagyást, mert melegszik. ( tapasztalat)
A relék 12V-ről mennek és a léptetőmotor vezérlése szintén.
Az 5V táp IC-t eléggé melegszik, ezért még ki fogom cserélni egy ilyenre : http://www.ebay.co.uk/itm/170734419936?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT
Ezzel a táppal eddig még nem fagyott le a Nano ( lassan 3 hónap folyamatos üzem).
Egyedül az I2C busz állt meg 2 alkalommal, a kijelzőről tűntek el a betűk, de a vezérlés ment rendben.
Ez állítólag az I2C busz hátránya, hogy néha ki kell resetelni programból.
A 220-at is a panelen levő relék kapcsolják!
Előzmény: Törölt nick (1740)
Törölt nick
2016.02.23
0 0
1742
Automata és kézi üzemben is működhet a rendszer.
A füstgáz szabályozása nem arduino alapú volt, az is megdöglött idővel, ez nem az arduino sajátossága.
A szivattyúkat kapcsolja a kazán/szoba termosztát is, a biztosítás nem egyszeri.
Egy bizonyos cégnél magasszintű automatizált rendszeren is, ipari eszközök mellett fordul elő rendszerhiba, az egyéni megoldásaimnak van még hová fejlődnie.
A vezérlés elemenként is megvalósítható, de egy szinten túl sok lesz az elem, itt jön képbe a mikrovezérlő.
Előzmény: lala1961 (1741)
Törölt nick
2016.02.23
0 0
1740
Ma fűrészbakot hegesztettem, a keringető szivattyúk méltatlankodásától kisérve, + ki kellett kapcsolni az Arduino automata vezérlést, állandóan lefagyott.
Mi lenne, ha a tápegységéhez beiktatnék egy hálózati zavarszűrőt?
Vettem 5V-os reléket is azokra kapcsolna 5V-ot a jelenlegi relé, és azok kapcsolnák a szivattyúk 230 V-ját, messze az Arduino-tól.
Előzmény: szatti (1737)
titusz99
2016.02.23
0 0
1739
OK.
De! Olyan, túl gyorsan megjött nincs!
Ellenben:
előbb deklaráld a string változókat.
majd használd a reserved() metódusát megfelelő értékkel.
az int, float meg egyéb értékekhez nem kell (sőt szerintem hiba is lehet) a String használata.
vagyis
getStr += szoba; // gondolom a szoba float
Azt látom, hogy másoknál is jelentkezik a "AT+CIPSEND= " hibád.
Mintha kb minden 20. esetben maradna el a '>' jel.
Egyébként egy másodperc a várakozás alapértelmezetten.
Esetleg firmware update segíthet.
Előzmény: szatti (1733)
Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!