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.
Tento vybraný modul obsahuje senzor hořlavých plynů, který výrobce označuje jako MQ-2, a dále operační zesilovač pro zjednodušené používání s Arduino deskami. Zmíněný senzor MQ-2 podle výrobce umožňuje detekovat přítomnost hořlavých plynů, mezi které patří například zemní plyn (LPG), metan, butan, alkohol, propan či vodík. Tento senzor hořlavých plynů tedy můžeme umístit například do blízkosti plynového sporáku či ohřívače vody a mít kontrolu nad případnými úniky plynu, které mohou být velkým nebezpečím.
Pro komunikaci se senzorem hořlavých plynů můžeme využít analogového a digitálního výstupu. Přímo na desce modulu MQ-2 najdeme také nastavitelný trimr, díky kterému si můžeme podle našich potřeb nastavit hranici pro sepnutí digitálního vstupu. Pro zjištění této hranice tedy můžeme umístit zapojený modul s Arduinem do blízkosti plynového sporáku, změřit běžné hodnoty, které se objeví při normálním vaření a poté zkusit zhasnout plamen a pozorovat nárůst naměřených hodnot z analogového výstupu senzoru.
Námi vybraný modul se senzorem hořlavých plynů MQ-2 má celkem 4 propojovací piny. Připojíme VCC na napájecí napětí +5V, GND na zem, AOUT na A0 a DOUT na D2. Využít však můžeme samozřejmě i jiné datové piny.
Zde uvedený ukázkový kód obsahuje jako první inicializaci datových pinů a proměnnou pro čtení hodnoty napětí. V podprogramu setup nastavíme komunikaci po sériové lince s rychlostí 9600 baud, dále nastavíme oba piny jako vstupní a také zapojíme digitální vstup dOut na pinu 2 jako vstup pro přerušení s detekcí FALLING, tedy změny z log1 na log0. Mohli by jsme také využít detekci LOW, přičemž v případě překonání hranice by jsme dostali ve výpisu velký počet oznámení o překonání.
V loop smyčce se nachází příkazy, které nejprve do proměnné „analog“ nahrají příslušnou hodnotu napětí v rozsahu 0-1023, kdy 0 odpovídá Gnd a 1023 naopak +5V. Do výpisu informací na sériovou linku jsem také přidal příkaz map, který umožňuje přepočítat hodnoty z jednoho rozsahu na jiný, v tomto případě z analogové hodnoty (0-1023) na procenta, tedy 0-100%. Následuje ještě podprogram „prerus“, který pro názornost vytiskne po sériové lince zprávu o překonání nastavené hranice plynů v okolí v případě, že senzor je již připraven k provozu. Tato příprava je udávána alespoň po dobu 3 minut, tedy 180 000 milisekund. Tato hodnota je hlídána pomocí konstrukce if a využití funkce millis(), která vrací počet milisekund od připojení napájení do Arduino desky.
// Senzor hořlavých plynů // čísla pinu připojeného digitálního // a analogového vstupu const int dOut = 2; const int aOut = A0; // proměnná pro čtení napětí analogového vstupu int analog = 0; void setup() { // komunikace přes sériovou linku rychlostí 9600 baud Serial.begin(9600); // inicializace obou vstupů pinMode(dOut, INPUT); pinMode(aOut, INPUT); // nastavení přerušení na pin 2 (int0) // při klesající hraně (log1->log0) se vykoná program prerus attachInterrupt(0, prerus, FALLING); } void loop(){ // načtení hodnoty analogového vstupu analog = analogRead(aOut); Serial.print("Analogova hodnota: "); Serial.print(analog); Serial.print(", v procentech: "); // přepočet hodnoty analogového vstupu z 1024 // na 100 procent pomocí funkce map Serial.print(map(analog, 0, 1023, 0, 100)); Serial.println("%"); // vyčkej 1 s kvůli zbytečnému množství tisknutých znaků delay(1000); } void prerus(){ // vypiš varovnou hlášku, pokud je aktivován digitální vstup // a senzor byl ústálen alespoň po dobu 180s = 3 minut if(millis()>180000){ Serial.println("Prekonana hranice plynu v okoli!"); delay(1000); } }
Po nahrání programu do Arduino desky si můžeme otevřít Sériový monitor a sledovat výstupní hodnotu analogového výstupu modulu se senzorem hořlavých plynů. Po zahřátí senzoru po dobu alespoň zmíněných 3 minut můžeme vidět, že hodnoty se ustálí. A poté můžeme otestovat senzor například pomocí plynu ze sporáku či obyčejného zapalovače.
Jako výsledek dostaneme například tento výpis:
Analogova hodnota: 45, v procentech: 4% Analogova hodnota: 194, v procentech: 18% Analogova hodnota: 246, v procentech: 24% Analogova hodnota: 402, v procentech: 39% Prekonana hranice plynu v okoli! Analogova hodnota: 506, v procentech: 49%
Jak jsem již zmínil na začátku článku, tento senzor hořlavých plynů MQ-2 může být poměrně jednoduše použit jako zabezpečení proti náhlému úniku plynu v domácnosti. Je však důležité počítat s tím, že senzor je nutné nechat stále zapnutý a před prvním měřením ho nechat alespoň po dobu 3 minut nahřát.
Seznam použitých komponent:
http://dratek.cz/arduino/974-arduino-uno-r3-atmega328p-1424115860.html
http://dratek.cz/arduino/844-arduino-nepajive-pole.html
http://dratek.cz/arduino-kabelaz-propoje-rozsireni/1063-arduino-vodice-samec-samec-40-kusu.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.