Hőmérséklet-érzékelő (DS18B20) - Arduino adatgyűjtő kaptármérleggel a méhészek számára
A DS18B20 egy digitális hőmérséklet-érzékelő, amelynek állítható felbontása 9-12bit, és ± 0,5 ° C mérési pontossággal rendelkezik -10 ° C és + 85 ° C között (ezen a hőmérsékleti tartományon kívül kevésbé lesz pontos). A DS18B20 készüléket az úgynevezett „egyvezetékes buszon” keresztül címzik. Ez lehetővé teszi, hogy egyszerre sok érzékelőt csatlakoztasson az Arduino adatcsapjához, és egymás után lekérdezze őket. Az egyvezetékes kifejezés abból a tényből származik, hogy az érzékelő csak egyetlen adatvezetékkel (és GND-vel) működtethető további tápegység (parazita) nélkül. Különösen több érzékelő és hosszabb kábel esetén gyakran jelentenek problémákat, ezért ennek az érzékelőnek megfelelő áramellátást kell biztosítani.
referencia
A DS18B20 különféle kivitelben kapható, valamint kábellel és vízálló házzal előre összeszerelve.
Vezeték
Az előszerelt érzékelők a vízálló házban a gyártótól függően különböző színű kábelekkel rendelkeznek.

A DS18B20 bekötése nagyon egyszerű. Az érzékelő "VDD" feszültségen 3,0-5,5 V feszültséggel van ellátva. Az „Data” az Arduino 3. tűjéhez csatlakozik. Hiányzik a 4,7 K Ohm felhúzási ellenállás a „VDD” és a Data között, valamint a „GND” földdel való összekapcsolása. Ha két érzékelő van csatlakoztatva, például a padló hőmérsékletére és a külső hőmérsékletre, akkor ugyanazt a vezetéket kell elvégezni. Ehhez nincs szükség további ellenállásra. Ha további DS18B20 van csatlakoztatva, vagy különösen hosszú kábeleket használ, akkor szükség lehet a felhúzási ellenállás 1,8 kOhm értékre történő csökkentésére.
Könyvtárak
Tesztelje a program kódját
A csatlakoztatott érzékelők lekérdezése mellett a programkód tartalmaz egy további ellenőrzést is, amikor az érzékelőket felolvassa az esetleges csatlakozási hibákra. Ha probléma merül fel, például egy laza kábel miatt, akkor a hőmérséklet megfelelő változója előre meghatározott értéket kap. Ezzel a tesztprogram kóddal hibaüzenetet is kiad a soros monitor.
Ha a mért értékeket később továbbítják egy webszerverre, az adatrekordok mentésére szolgáló parancsfájl hibát észlel az előre meghatározott értékkel, és ehhez az érzékelőhöz nem menti a mért értéket. Ez nem befolyásolja a grafikus kijelzőt, például amikor az érzékelőn dolgozik.