Teploměr a vlhkoměr DHT12 je vstupní modul pro Arduino. Tento modul obsahuje novější senzor DHT12, který je nástupce oblíbeného modulu DHT11. Tato novější verze komunikuje po sběrnici I2C a díky jejím vlastnostem ji můžeme zařadit někde mezi senzory DHT11 a DHT22. Rozsah měření teploty je -20 až +60 °C s přesností ± 0,5°C. Vlhkost lze měřit v rozsahu 20-95 % RH (relativní vlhkost) s přesností ±5 % RH. A pro napájení je možné použít napětí v rozsahu 2,7-5,5 Voltu.
Pro úspěšné propojení modulu DHT12 a Arduino desky stačí zapojit celkem 4 vodiče. Propojíme „+“ s 5V Arduina, SDA s pinem A4, „-“ se zemí Arduina a SCL s pinem A5. Pro piny SDA a SCL musíme vybrat vždy vyhrazené I2C piny na námi vybrané desce, u Arduino UNO jsou to právě piny A4 a A5.
Pro úspěšné 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 svém začátku připojení potřebných knihoven a inicializaci modulu z knihovny. V podprogramu setup provedeme v prvním kroku zahájení komunikace po sériové lince a následně načteme stav připojeného senzoru do proměnné. Tento stav v dalším kroku zkontrolujeme, jestli je vše v pořádku. Pokud ano, vypíšeme informaci po sériové lince a pokračujeme dále. Pokud se objeví nějaká chyba, vypíšeme o ní detaily po sériové lince. Nekonečná smyčka loop začíná vyčtením všech údajů ze senzoru. Tyto údaje můžeme poté načíst do samostatných proměnných, kdy údaje o teplotě a vlhkosti je ještě nutné podělit 10, abychom získali správné hodnoty. Po načtení údajů provedeme následně jejich vytištění po sériové lince a po pauze 5 sekund se smyčka loop opakuje.
// Teplotní senzor DHT12
// připojení potřebných knihoven
#include <Wire.h>
#include <dht.h>
// inicializace modulu z knihovny,
// 0x5c je I2C adresa modulu
dht12 DHT(0x5c);
void setup() {
// zahájení komunikace po sériové lince
// rychlostí 9600 baud
Serial.begin(9600);
// načtení stavu připojeného senzoru do proměnné
dht::ReadStatus chk = DHT.read();
// kontrola, jestli je senzor připojen v pořádku
// a vytištění výsledku po sériové lince
if (chk == dht::OK) {
Serial.println("DHT12 OK.");
} else {
Serial.print("Chyba pripojeni senzoru DHT12: ");
Serial.println(chk);
}
}
void loop() {
// vyčtení údajů ze senzoru
DHT.read();
// načtení všech údajů ze senzoru
// do proměnných, teplotu a vlhkost
// je nutné vydělit 10.0 pro
// získání výsledku s desetinnými místy
float teplota = DHT.getTemperature() / 10.0;
float vlhkost = DHT.getHumidity() / 10.0;
float rosnyBod = DHT.dewPoint();
// vytištění údajů po sériové lince
Serial.print("DHT12 Teplota: ");
Serial.print(teplota);
Serial.print("stC, vlhkost: ");
Serial.print(vlhkost);
Serial.print("%RH, rosny bod: ");
Serial.print(rosnyBod);
Serial.println("stC.");
// pauza před novým měřením
delay(5000);
}
Po nahrání ukázkového kódu do Arduino desky s připojeným modulem DHT12 dostaneme například tento výsledek:
Teploměr a vlhkoměr DHT12 je zajímavý vstupní modul pro Arduino. Je to nástupce starší generace DHT11 a DHT22, kdy ho díky jeho parametrům můžeme zařadit mezi dva zmíněné. Hodí se do všech projektů, kde potřebujeme měřit teplotu a vlhkost s rozumnou přesností, jako například domácí meteostanice, bezdrátová čidla a podobně. Jeho výhodou zůstává příznivá cena a díky ní dobrý poměr cena/výkon.
Motorizovaný kulový ventil. Má široké uplatnění v různých průmyslových a obytných instalacích. Může být integrován do automatických systémů řízení, kde je možné ovládat průtok dálkově nebo automatizovaně podle předem nastavených podmínek.
Motorizované kulové vently s obvodem CR01, CR02, CR03 nebo CR04 je poměrně jednoduché po elektrické stránce správně zapojit. U ventilu s obvodem CR05 je tomu ale trochu jinak - ventil si sám nehlídá krajní polohy otevření, nebo zavření. Z toho důvodu vznikl tento článek, ukazující některé výhody, použití a především správné zapojení ventilu s obvodem CR05.