Existuje široká škála teplotních senzorů kompatibilních s Arduinem, ESP32, ESP8266 a dalšími vývojovými deskami. Může být tedy obtížné vybrat nejvhodnější senzor pro váš projekt. V tomto článku porovnáme 6 široce používaných snímačů teploty: DHT11, DHT22, LM35, DS18B20, BME280 a BMP180.
Srovnáme snímače, pokud jde o komunikační protokol, rozsah teploty, přesnost, snadnost použití a mnoho dalšího.
Provádíme také jednoduchý experiment, při kterém jsme měřili teplotu ve stejném prostředí pomocí všech teplotních čidel v průběhu času. Pomocí tohoto experimentu jsme mohli zjistit, jak čidla reagují na změny teploty. Tento experiment jsme prováděli přibližně 36 hodin a jeho výsledky vám ukážeme později v tomto článku.
Doporučená četba: 9 teplotních čidel kompatibilních s Arduinem pro vaše projekty elektroniky
Srovnání teplotních čidel:
Poznámka: tabulka se posouvá vodorovně jak na stolním počítači, tak na tabletu a mobilu.
Pro rychlé porovnání čidel jsme sestavili následující tabulku, ve které jsou uvedeny nejdůležitější informace při výběru teplotního čidla, a to: komunikační protokol, napájecí napětí, teplotní rozsah a přesnost.
DHT11 a DHT22 (AM2302) jsou digitální snímače teploty, které měří teplotu a vlhkost. Vypadají velmi podobně a fungují stejně, ale mají odlišné specifikace.
Obě čidla mohou být napájena buď napětím 3,3 V, nebo 5 V. Snímač je možné napájet pouze z elektrické sítě. Můžete je tedy snadno použít ve svých projektech Arduino nebo ESP.
Senzor DHT22 má lepší rozlišení a širší rozsah měření teploty a vlhkosti. Je však o něco dražší a můžete si vyžádat měření pouze s intervalem 2 s.
Snímač DHT11 je o něco levnější, má menší rozsah a je méně přesný. Můžete však získávat údaje z čidel každou sekundu.
Přes jejich rozdíly pracují podobně a ke snímání teploty a vlhkosti můžete použít stejný kód. Jen musíte v kódu vybrat typ senzoru, který používáte.
Jestliže jste tedy ochotni utratit nějaký ten dolar navíc, doporučujeme DHT22 místo DHT11.
Máme několik návodů, jak používat snímače DHT11 a DHT22:
ESP32 (Arduino IDE) s čidlem teploty a vlhkosti DHT11/DHT22
ESP8266 (Arduino IDE) DHT11/DHT22 Teplotní a vlhkostní web Server
Arduino se senzorem vlhkosti a teploty DHT11/DHT22
ESP32/ESP8266 (MicroPython) s webovým serverem DHT11/DHT22
LM35, LM335 a LM34
LM35, LM335 a LM34 jsou lineární snímače teploty, jejichž výstupní napětí je úměrné hodnotě teploty. LM35 se dodává kalibrovaný ve stupních Celsia, LM335 v Kelvinech a LM34 ve Fahrenheitech. Takže v závislosti na jednotkách teploty, které budete ve svém projektu používat, může být jeden z těchto snímačů praktičtější než druhý.
Doporučujeme použít LM35 nebo LM34 místo LM335, protože odečítání velkého čísla od naměřených hodnot LM335 pro převod teploty z Kelvina může ohrozit přesnost výsledků.
Podle datasheetu potřebují snímače LM35 a LM34 k provozu velmi malý proud, přibližně 60uA. To má za následek velmi nízké vlastní zahřívání (asi 0,08 ºC v klidném vzduchu), což znamená, že měření teploty nebude ovlivněno samotným čidlem.
K odečtení teploty z těchto čidel stačí přečíst výstupní napětí čidla pomocí analogového vývodu. Pokud používáte Arduino, stačí použít funkci analogRead() a získáte údaje o teplotě se dvěma desetinnými místy.
Pokud tedy potřebujete levný a snadno použitelný senzor pro sledování teploty, může být LM35 dobrou volbou. Také proto, že spotřebovává velmi málo energie, je skvělý pro přenosné projekty, kde je vyžadována nízká spotřeba energie.
Přečtěte si, jak používat teplotní čidla LM35, LM335 a LM34 s Arduinem:
Průvodce pro teplotní čidla LM35, LM335 a LM34 s Arduinem
Teplotní čidlo DS18B20
Teplotní čidlo DS18B20 je jednovodičové digitální teplotní čidlo. To znamená, že ke komunikaci s mikrokontroléry vyžaduje pouze jednu datovou linku (a GND).
Může být napájen externím zdrojem nebo může čerpat energii z datové linky (tzv. „parazitní režim“), čímž odpadá potřeba externího zdroje.
Každý teplotní senzor DS18B20 má jedinečný 64bitový sériový kód. To umožňuje připojit více snímačů ke stejnému datovému vodiči. Pomocí jediného GPIO tak můžete získat údaje o teplotě z více snímačů.
Rozlišení teplotního čidla lze navíc nastavit na 9, 10, 11 nebo 12 bitů, což odpovídá přírůstkům 0,5 °C, 0,25 °C, 0,125 °C a 0,0625 °C v tomto pořadí. Výchozí rozlišení při zapnutí je 12 bitů.
Snímač teploty DS18B20 je k dispozici také ve vodotěsném provedení, které je ideální pro venkovní projekty nebo pro měření teploty kapalin.
Podle našich návodů se můžete naučit používat teplotní senzor DS18B20 s ESP32, ESP8266 a Arduino pomocí prostředí Arduino IDE nebo MicroPython:
ESP32 (Arduino IDE) Senzor teploty DS18B20 (jednoduchý, vícenásobný, webový server)
ESP8266 (Arduino IDE) Senzor teploty DS18B20 (jednoduchý, vícenásobný, Web Server)
ESP32 a ESP8266 (MicroPython) s teplotním čidlem DS18B20