A cat5 kábel jó, elég olcsó és 4 csavart érpár van benne. Ethernet+arduino már 1500.- Ft/mérőhely, de sokkal jobban megbíznék az átjött adatban, mint egy analóg jelben röbbtíz m távolból. Teljesen szabványos, router vagy switch olcsó, semmit nem kell barkácsolni.
Ha hőmérséklet érzékelőket akarsz üzemeltetni, ott a DALLAS 1-Wire rendszere (pl.: Ds18b20) egyszerű és sokat fel lehet fűzni a buszra. (mivel magának az érzékelőnek van egydi címe) 1db digitális portot visz el, és nálam 30-40m síma 4-eres telefon vezetéken megy, több helyen szabványos RJ-11-es aljzatokat raktap bele, így kialaítva a leágazásokat. UTP-n még messzebre is mehet. De lehet két, vagy több buszt kialakítani, ha a busz hossza vagy iránya gondot jelent.
Nem kell különleges kliens-szerver szoftvert írni hozzá, egy egyszerű könyvtár és már lehet is címezgetni az érzékelőket.
Ha meg magas hőmérsékletet akarsz mérni (120C fölött), akkor már a MAX6675+K type páros, és nincs gond a torzuló jellel.
Az sebességre hivatkoztok itt, de miért is?
Az érzékelők lekérdezése kb. 1mp. Ezek mellett szerintem érdektelen, hogy az I2C 100KHz, vagy az SPI 400KHz. Tudtommal ezeket a protokolokat elsősorban eszközön belüli komunikációra találtak ki, tehet néhány 10cm. Tudom elmennek nagyobb távolságra is, de minek.
Mi a célja a mérésnek? Ha csak hőmérséklet naplózás, akkor a mérési intervallumok 30mp-1perc közöttiek (extrém esetben 10mp). Aztán csinálsz belőle 5 perces átlagokat és azt jeleníted meg grafikonon.
Én kb. így látom, várom más véleményét ezzel kapcsolatban.
Az analóg jel továbbításával az a baj, hogy torzul, zavarokat szed föl, hacsak nem nagyon kis ellenálláson/nagy árammal történik. Ez viszont külön erősítőt igényel. És nehéz buszra szervezni, tehát ha 7 analóg jelet mérnék, akkor a 6 arduino bemenet nem elég, míg ha digitalizálom, és úgy akarom begyűjteni, az sokkal egyszerűbb. Habár most egyből nem tudnám megmondani, hogyan is kapcsolgatnék a buszra adatot. Könnyen lehet, hogy nem lehet megúszni az intelligens jeladót, ami pl. egy arduino nano vagy mini pro, és ezeket minden szenzor mellé kitenni, majd nem a szenzorokkal kommunikálni, hanem az arduinokkal. Egy vezérlőkóddal kezdeni a vételt, kiküldeni egy sorszámot, ezt minden arduino veszi, és az szólal meg a mért értékkel, amelyiket megcímeztem. Az rs232 és rs485-nél nem tudom hogyan megy a buszra szervezés. Ezeket könnyű megcsinálni hosszú vezetékkel hibamentesre. Meghajtás kell, az arduino kimenet önmagában nem elég, meg a védelem miatt is. A címzés miatt igazából a kézfogós protokollok nem jók, mert először csak hallgatni kell, amíg kimegy a cím, hogy kinek kell beszélni, aztán meg csak beszélni kell, és mindenki más hallgat. Már emiatt is a buta eszközök, mint pl. shiftregiszter nehezen elképzelhetőek. Ha meg a központi egységnél akarnám multiplexelni a távoli szenzorokat, akkor millió vezeték kellene, mindegyikhez vinni kellene a saját vezetékét, az nyilván nem jó. Vezeték nélkül a BT-t kihagynám, 50 m-re nem érzem elég stabilnak, már a wifi is kérdéses, a 433 MHz-es modulok viszont kellően olcsók, és azt hiszem 100 m-t írnak rálátással. Csak nem tudom mi van, ha viszonylag közel vannak a szenzorok, szét kellene hangolni őket más-más frekvenciára, de nem hiszem hogy van ilyen lehetőség rajtuk. Ha nincs, akkor kiesett ez is.
Ha nagyon nagy idiótaságot írok, majd legfeljebb valaki pontosít.
Ami nagy vonalakban a lényeg: Alapvetően az Arduino analóg bemenetei erre a célra vannak, magát a jelet (ha az analóg jellegű, tehát alapvetően egy feszültség/áram viszony változó ellenálláson át való megváltoztatását jelenti), különösebb nehézség nélkül (elvben legalábbis) végtelen távolságra lehet szállítani. Itt csak a kábel minőségét, ellenállását, kapacitását kell figyelembe venni, illetve azt, hogy a jel mennyire érzékeny külső tényezőkre (környéken futó nagy feszültségű elektromos vezeték, telefonkábel, internetkábel stb.). Amikor valamilyen buszt használsz, akkor egy meglévő analóg jelet alakítasz át digitális jellé, amelyet aztán valamilyen módon továbbítasz. Az egyes szabványok nagyjából determinálják az átvitel formáját és módját is, de pl. TCP/IP mehet soros kábeltől elkezdve wifin át BT-ig (meg még ugye kis millió más módon is). Minél komplexebb a továbbítandó adat (mérési sűrűség, mérési pontosság, hibahatár stb.), annál megbízhatóbb módot kell választani. A DS18B20 One Wire buszt használ, nem kell hozzá semmilyen további elem az érzékelő oldalán, a tápfeszültség alapján létrehozza és a busz-csatornán küldi a jeleket, akár elég jelentős távolságra (megfelelő minőségű kábelen persze). A megoldás előnye egyben a hátránya is: van kábel. Biztonságosnak tekinthető, nincs gond a tápellátással, cserébe telepíteni kell.
A kábeltelen megoldások közül mindegyiknek három fontos tulajdonsága van. Egyrészt a távolsággal arányosan veszít (rendszerint) a megbízhatóságából, mindenképp kell hozzá egy komplett jelfeldolgozó rendszer az érzékelő oldalán (igen, ez lehet akár egy arduino is, bár nem feltétlen kell), végül meg kell oldani a tápellátást valahogy (ami kábelezést igényel).
Az i2c elvileg alaplai kommunikációra lett kitalálva, elég érzékeny a rádiófrekvenciás zavarokra, bár én ezt annyira (eddig) nem tapasztaltam, igaz, hogy Arduino viszonyban ez azért elég alacsony órajelet jelent.
Az SPI egy klasszissal gyorsabb bír lenni (pláne, ha meghajtja valaki), tehát érzékenyebb valamivel, cserébe a kétirányúsága folytán megbízhatóbb.
E kettő inkább a klasszikus "szerver--kliens" vagy "master--slave" felállás szerint üzemelnek, tehát van egy központi (vezérlő) elem és egy külső, perifériális elem (pl. adatgyűjtő vagy kimenet).
Az RS485 -- ha jól emlékszem -- erősítés nélkül 100 métert kibír CAT5 kábelen, ami azért elég baráti (bár a One Wire is).
RS232 inkább szükségmegoldás szerintem, bár pokoli olcsó és egyszerű.
E kettő többé-kevésbé azonos "erősségű" berendezések közötti strukturált adatforgalmat tud megvalósítani (bár Master asszem így is kell hozzájuk). Okos ház tervezéshez ezek működőképes megoldások.
Nagyobb távolságra milyen buszra érdemes érzékelőket kötni? Gondolok itt fényérzékelőre, vízszintre, tehát analóg mennyiségek digitalizált adatát kell átvinni 20-50 m távolságból. Soros port, rs485, vagy valami egyéb busz, i2c, spi, esetleg rf adó-vevő, BT, wifi? És mi legyen az érzékelő mellett? Egy másik arduino? Ha egy buszon vannak, akkor sorszámozni kell, van-e erre kész megoldás?
MAX7221 probléma „megoldva”. Nem stimmelnek a logikai szintek, úgyhogy valami csatoló kell... Gondolkodom, tanulok, aztán majd... A többivel nem volt időm foglalkozni.
Kifejezetten olcsó távol keleti relékkel már volt olyan szívásom, hogy soha többet....
Persze tudom, minden ott készült, de ezek az olcsó minősítetlen jelfogók valamim katasztrófák, szó szerint életveszély. Amikor a névleges áram töredékétől összeolvad, szétég, avgy áthúz egy nyítottnak vélt érintkezőn, stb.
Valóban nem feltétlen tréfa állapotot tud eredményezni.
"Nekünk azonnal kellett 10 db. Másnapra itt volt. Ennyi előnye volt a magyar webshopnak."
Ahogy mondják: az idő pénz :-)
Amúgy az eBay-es tapasztalataim vegyesek, általában az jön ami kell, de vannak olyan dolgok (sokszor), ahol az olcsóság az igénytelenséget is jelent. Plusz ami nem hobbicélra megy, ott duplán meggondolandó, hogy pl. szép a relé-board, csak épp nincs meg rajta a biztonsági légrés.
Ezért kell a multiméter, abból is a szakadásvizsgálat.
G végig párhuzamba kötve: GROUD.
V végig párhuzamba kötve: V(cc), tápfeszültség, elvileg +5V (ami a Nanoból kigyön),
S végig egyenként a Nano megfelelő lábaihoz kötve: Signal, ide kell kötni a szenzor jel lábát.
Nem tudom, kitől gyött, de arra figyelj, hogy mielőtt bármit is alkotnál vele, mérd végig, mert úgy szakadás, mint rövidzár is lehet benne, ráadásul az enyémen a jelölések is el voltak csúszva valamelyik oldalon.
Ezt én sem értettem először. De a 2200 forintba az a nullára átkötés már nem fért bele. A kondi még igen, csati, mérőfej igen, de az nem. Mindegy, az a darab drót nem vág a földhöz, de ha odaírják nem rágódok rajta fél estét, hogy kacatot vettem, hanem még kell egy mozdulat a jó működéshez.
Megjött mellé a nano sensor shieldje is és nagyon tecc. Dugdosós is meg forrpontos is.
Amit nem tudok, hogy a 3 sor dugdosós között van e különbség, mert egy "G" "V" "S" jelölés különbözteti meg őket.
Én csak azt nem értem, és most tök őszintén, hogy ha a gyári specifikáció is ezt ajánlja, akkor miért nem így?
Ja, volt itt szó a SainSmart hőmérő breakoutjáról. Ami nekem van, azon speciel a táp és a jel láb jelölése fel van cserélve. Eltartott egy ideig, mire rájöttem (mert a LED az bőszen világít).
Nem mértél rá közvetlenül a kvarc lábaira uC bemenetén szkóppal, vagy valami frekimérővel? Mert az egyből megmondta volna, hogy mennyi is az a freki.....
El tudom képzelni, hogy a távol keleti kvarcok nem az előírás szerinti tűrésen belül vannak. Amiről te írsz az valami nagyon nagyon tűrésen kívüli kvarc, talán pont azéért - is - olcsó az ilyen fejlesztőkészlet.
Persze ez az alkalmazások elég nagy részénél nem számít, de ahol pont az időmérés szükséges milisec szinten, ott azért okozhat problémát.
Nálam mindenesetre tényleg elég pontos. Nyilván nem annyira mint mondjuk egy RTC, de teljesen jól használható.
Hát vagyunk itt páran, akiknek ez megy. Külföldi fórumokon rendszeresen segítek kódhibákat keresni és javítani (ahogy nekem is mások). Volt, amibe projekt szinten beletört a bicskám, volt, amire időm nem volt (még válaszolni sem), pedig fizetős lett volna (és nem is elhanyagolható összeg).
Szóval, ahogy Vargham írta, válassz egy eshetőséget és jár el aszerint!
ebay, nyilván. Bulk, mindennemű papír nélkül 3,49 volt 10 darab, szállítással együtt. Ha el nem néztem valamit (de szerintem nem). A Kontha középárú, csak olyasmiért megyek, ami másutt (HEStore, Lomex) nincs vagy nem számottevően olcsóbb ebayen.