Az Arduino keretrendszerben közvetlenül nincs rá mód, de a kódba bele tudod írni közvetlen utasításokkal. De. Az a funkcionalitás, ami neked, kell e nélkül is megoldható. Az órák és a megszakítások regiszterszintű piszkálása nem túl célravezető és jelentős kockázat, mert csak egy rossz elirás és húzhatod újra a lapkát (nekem van, illetve mivel elajándékoztam, csak volt megdöglött eszközöm hasonló miatt). Az ok is egyszerű: azzal kell számolni, hogy ezek az alap órajel (16 MHz) leosztásával machinálnak, tehát sokkal inkább a másodpercnél kisebb vagy a körüli, de semmiképp sem több perces időzítésekre való. RTC-vel pontosan, belső órák figyelésével picit ad-hoc módon tudod megoldani a kérdést állapotgépek használatával.
Ha jól értelmeztem az angol leírásokat, akkor az időzített megszakításhoz regisztereket kell beállítani. Tudtommal az IDE-ben nem lehet regisztereket írogatni. (vagy én értettem félre valamit).
Az is lehet, hogy az egész elgondolásom hibás, és nem így kéne lekezelni az időpont kritikus eseteket.
Egy sörkollektor vezérlőt tuningolok mindig egy-egy ötlettel tovább.
Van két sörkollektor a tetőn. Mind a kettőben és a szobában van egy-egy DS18b20. Három külön Dallas BUS-on mérem a hőfokokat 15 másodpercenként. Kiértékelem a mérési eredményeket, ha szükséges kapcsolgatom a kollektorok ventilátorait (külön-külön).
A mérési eredményekből 5 perces átlagokat képzek.
Idáig vagyok most készen.
további gondolatok:
- Az átlagokat thinkspeak-ra akarom küldeni egy ESP-01-val AT parancsokkal.
- Szeretnék egy menüt is a rendszerbe, hogy a kapcsolási értékeket lehessen változtatni.
A hőmérséklet lekérdezése és kiértékelése fontos, ezért szeretném ezt egy időzített megszakítással lekezelni.
Lehetséges-e ezt IDE-vel megoldani, és ha igen hogyan?
Na most egy igazán láma kérdéssel fordulok hozzátok.
A sztori röviden az, hogy van egy általam épített eszköz, ami egy DS3231-es óra modulra támaszkodik, de nem Arduino lapka van benne, hanem egy 328P-PU.
Ez csak azért érdekes, mert ezt nem tudom soros porton figyelgetni, hogy mit csinál.
Az óra modul működik, másodpercenként, percenként, óránként, naponként kell a programnak bizonyos dolgokat csinálnia és ezeket csinálja is.
Az óra modul 3,3V-ról megy és a szokásos A4/A5 I2C lábakon megy, van benne egy szintillesztő is.
Minden fasza is, csak éppen nem pontos az órája, ezért megpróbáltam egy nanoval beállítani a példaprogramok alapján.
És nem vagyok képes beállítani és már agyvérzést kapok tőle.
Olyan, mintha nem lenne rákötve az óra modul, teljesen hülye adatokat kapok vissza tőle, illetve ha lehúzom az egészet, akkor is ugyanazokat a fals értékeket kapom.
Nem vagyok képes értelmes óra adatokat kapni tőle, miközben az IC meg kap, mivel tökéletesen működik.
Az óra modul jó, kettő van belőle, mindkettővel ugyanez van, a nano is jó, minden más program fut rajta.
Nem tudom, hogy történhetett kiszedtem az update-ig a címet. Nem értem miért van így a példaprogramban. Így első alkalommal lefutott a CSTT és a CIICR is hiba nélkül. Aztán meg újra nem. Csak ez az A6 modul ilyen instabil, vagy más gsm modul is ilyen bajos?
1. A GET-nél már csak a /update től kell az url, http, host, port ott már ninincs. Hiszen már fel vagy konnektálva.
2. 80as portra konnektálsz sima tcpvel, ez a http portja, az urled meg https. Elsőre csekkold, hogy http-n is elérhető az api, ésakkor készen vagy. Aztán meg utánna kell nézni, hogy hogyan lehet arduinoból gsm modullal https requestet csinálni.
Sziasztok. Adott egy Arduino UNO, és egy a6 gsm modul. A cél egy rövid adat küldése lenne a projektünk szerverére. Első körben tökéletesen megfelelne a thingspeak.com-ra küldött adat is, hogy lássam, működik e minden. A hívás, és SMS küldés rendben. Az adatkapcsolatot ellenőríztem, van internet. Azonban akárhány példaprogramot próbáltam, mindegyik hibával jön vissza: +CME ERROR 50, 53 és 58.
--Kábelezés:--
VCCin -> en
gnd->gnd
u_tx-> 2
u_rx-> 3
Táp: UNO- laptop usb ről,
A6- microusb
--Telekom APN--
A hozzáférési pont neve: Telekom Net (*T-Mobile NET)
APN: internet
Felhasználónév: (üres)
Jelszó: (üres)
Jelszókérés: Nem
Autentikáció típusa: PAP
IP: Dinamikus
Elsődleges IP-cím: 000.000.000.000
Másodlagos IP-cím: 000.000.000.000
--A kód--
(ki van szedve a szenzor rész belőle, mert az nem kell nekem):
gprsSerial.println((char)26);//sending delay(5000);//waitting for reply, important! the time is base on the condition of internet gprsSerial.println(); ShowSerialData();
Jó az alap elgondolásod. Egy állapotgépet kell egy újabb bemenettel kiegészíteni. Mondjuk ahogy néztem, az eredeti kódot nagyon alaposan át kellene írni.
Lassan 4 éve hogy használom ezt a vezérlést a kinti lápában. Viszont most egy kicsit át akarom variálni a dolgot. Két, külön lámpa, külön vezérlővel, külön nyomógombbal. Viszont akarok egy közös gombot is hozzájuk. Ez egy két körös nyomógomb lenne, szóval a két vezérlés elválasztva maradna. Viszont, ha ezt a nyomógombot a meglévő nyomógombbal párhuzamosan kötöm akkor, ha az egyik lámpa már fel van kapcsolva akkor a gomb megnyomására az lekapcsol. Arra gondoltam, hogy a közös gombot egy másik bemenetre kellene kötni, és itt, ha a lámpa már fel van kapcsolva akkor az első gombnyomás nem kapcsolja le. De ezt leszámítva a nyomógombbal ugyan úgy lehet vezérelni. Szóval rövid megnyomásra időzítővel kapcsol fel. Hosszú gombnyomásra pedig felkapcsolva marad és világít a kontroll lámpa. Tudnátok ebben segíteni?
az unknown devicesnél a device managerben (eszközkezelő) látszik valami?
a kínai klón usb illesztőkkel vannak gondok, amíg egy gépen be nem üzemelődik, utánna ok. elsőre rá kell jönni, hogy ch34x vagy cp21xx stílusú van rajta. utánna keresgélni minnél kulturáltabb fórumokban, hogy kinek honnan letöltött jött be mostanában, és sorban próbálkozni velük, közben kicsit takarítva.
Vagy 2 éve vettem két kínai boardot, egy Uno-t és egy Nano-t. Mindkettőre ment fel saját kezűleg írt progi, működött, öröm, bódogtág
Az egyiken át akartam írni a progit a minap. Kis laptopra feltettem a hivatalos progit, de a portot nem látja (USB drivert próbáltam telepíteni, elvileg a program mappájában van, de nem talált semmit az eszközkezelő). Ez Win7 alatt volt.
Pár nap múlva a nagy laptopon is próbálkoztam, ugyanaz az eredménytelenség, Win10 alatt. PRóbáltam a másik boardot, ott sem lát portot, próbáltam USB kábelt cserélni is. Itt is eljátszottam a hivatalos, a program mappájából történő USB driver telepítést de semmi.
Valakinek esetleg valami jó ötlete, hogy mit szúrtam el? Annak idején (nyilván egy korábbi programverzióval) csont nélkül feltelepítette a portot.
Ehhez nem kell, de fontos, hogy szabadon tudjon áramolni körülötte a levegő. Én nem ezt, hanem az eggyel nagyobb, LRS-75-5 verziót venném. Szeretem túlbiztosítani a dolgokat.