Chytrá WiFi zásuvka Sonoff S26
Chytrá domácnost umožňuje ovládat elektrické spotřebiče na dálku. A přesně to umožní zásuvka Sonoff S26.
Teploměr a vlhkoměr DHT11 a DHT22 je snadno použitelný Arduino modul, který obsahuje vše potřebné již ve svém pouzdře. Stačí ho tedy pouze připojit třemi vodiči k Arduino desce a dále už jen vyčítat nové informace o okolí, které se obnovují přibližně každé dvě vteřiny. Rozdíl mezi typem DHT11 a DHT22 je v rozsahu měření a jeho citlivosti, kdy levnější typ DHT11 měří teplotu v rozsahu 0 – 50 stupňů Celsia s přesností ±1 °C a vlhkost v rozmezí 20 – 90 % s přesností ±4 %. Pokročilejší měřící modul DHT22 umožňuje měřit teplotu v rozsahu -40 až +80 stupňů Celsia s přesností ±0,5 °C a vlhkost vzduchu v rozsahu 0-100 % s přesností ±2 %.
Pro úspěšné propojení s Arduino deskou je třeba propojit 3 vodiče a jeden odpor o velikosti 10k ohmů. Propojíme tedy první vodič VCC s +5 V a čtvrtý vodič se zemí Arduina. Druhý vodič datový s pinem 5 a odpor spojíme na jednom konci s datovým vodičem a +5V na konci druhém, jak je vidět na schématu níže. Místo pinu 5 na Arduino desce můžeme samozřejmě využít jiný volný datový pin, ale je nutné tuto volbu provést i v programu pro Arduino desku.
Pro správné přeložení a nahrání uvedeného ukázkového kódu je nutné stáhnout a naimportovat knihovnu DHT, návod jak na to je uveden zde. Ukázkový kód obsahuje na začátku připojení zmíněné knihovny DHT a dále definování čísla pinu, na kterém je připojen datový vodič modulu DHT. Poté je uvedeno definování typu připojeného modulu DHT, kdy pro tento program byl použit modul DHT11. V případě použití modulu DHT22 stačí pouze odkomentovat řádek níže. Jako další následuje už jen vytvoření instance mojeDHT z knihovny DHT s uvedeným pinem a typem modulu DHT. V podprogramu setup je nejprve nastavena komunikace přes sériovou linku a poté zapnuta komunikace modulu DHT s Arduinem. V nekonečné smyčce loop je na jejím začátku vždy vytvořena proměnná a do ní načtena hodnota teploty a poté vlhkosti z připojeného modulu a poté jsou tyto hodnoty zkontrolovány, zda obsahují číselné hodnoty. V případě chyby je vypsána hláška po sériové lince. Pokud jsou uloženy v proměnných číselné hodnoty, jsou tyto poté vypsány po sériové lince a po prodlevě dvou vteřin se celá smyčka opakuje.
// Teploměr a vlhkoměr DHT11/22 // připojení knihovny DHT #include "DHT.h" // nastavení čísla pinu s připojeným DHT senzorem #define pinDHT 5 // odkomentování správného typu čidla #define typDHT11 DHT11 // DHT 11 //#define typDHT22 DHT22 // DHT 22 (AM2302) // inicializace DHT senzoru s nastaveným pinem a typem senzoru DHT mojeDHT(pinDHT, typDHT11); void setup() { // komunikace přes sériovou linku rychlostí 9600 baud Serial.begin(9600); // zapnutí komunikace s teploměrem DHT mojeDHT.begin(); } void loop() { // pomocí funkcí readTemperature a readHumidity načteme // do proměnných tep a vlh informace o teplotě a vlhkosti, // čtení trvá cca 250 ms float tep = mojeDHT.readTemperature(); float vlh = mojeDHT.readHumidity(); // kontrola, jestli jsou načtené hodnoty čísla pomocí funkce isnan if (isnan(tep) || isnan(vlh)) { // při chybném čtení vypiš hlášku Serial.println("Chyba při čtení z DHT senzoru!"); } else { // pokud jsou hodnoty v pořádku, // vypiš je po sériové lince Serial.print("Teplota: "); Serial.print(tep); Serial.print(" stupnu Celsia, "); Serial.print("vlhkost: "); Serial.print(vlh); Serial.println(" %"); } // pauza pro přehlednější výpis delay(2000); }
Po nahrání programu do Arduino desky s připojeným modulem DHT dostaneme například tento výpis:
Teplota: 26.00 stupnu Celsia, vlhkost: 34.00 % Teplota: 26.00 stupnu Celsia, vlhkost: 34.00 % Teplota: 27.00 stupnu Celsia, vlhkost: 35.00 % Teplota: 27.00 stupnu Celsia, vlhkost: 37.00 % Teplota: 27.00 stupnu Celsia, vlhkost: 37.00 %
Teploměr a vlhkoměr DHT11 či DHT22 je oblíbený pro své jednoduché použití. Drobnou nevýhodou oproti DS18B20 je ale nemožnost připojit více těchto modulů na jeden pin. Tato nevýhoda je vyvážena poměrně dobrou přesností v poměru s cenou nebo také možností měřit dvě veličiny, tedy teplotu a vlhkost okolního vzduchu. Modul je tedy vhodný pro různá zařízení a zapojení, kde je nutno měřit teplotu a vlhkost v okolí a případně tyto hodnoty dále zpracovávat.
Seznam použitých komponent:
http://dratek.cz/arduino/829-arduino-teplomer-a-vlhkomer-digitalni.html
http://dratek.cz/arduino/1188-arduino-dht22-teplomer-a-vlhkomer-digitalni-1455993178.html
http://dratek.cz/arduino/974-arduino-uno-r3-atmega328p-1424115860.html
http://dratek.cz/arduino/1227-7-ks-mini-nepajive-pole-25-kontaktu-1458405292.html
Chytrá domácnost umožňuje ovládat elektrické spotřebiče na dálku. A přesně to umožní zásuvka Sonoff S26.
e-Paper displeje už jsou dostupné i pro bastlení za rozumné ceny a pro jejich ovládání se hodí tento Driver.