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.
Bezkontaktní čidlo hladiny kapalin je vstupní modul pro Arduino. Toto čidlo umožňuje detekovat kapaliny v různých obalech, ať už plastových či skleněných. Jedná se o digitální detekci, tedy o informaci o úspěšné či neúspěšné detekci kapaliny.
Pro napájení tohoto čidla můžeme použít napětí v rozmezí 5 až 24 Voltů, přičemž odběr sepnutého čidla je maximálně 5 miliampér. Čidlo můžeme také používat na přímé spínání zátěže, ale zde je omezení proudu na maximálně 100 mA. Délka kabelu k čidlu je 50 centimetrů a pracovní teplota je 0-85° C.
Pro úspěšné propojení čidla hladiny kapalin a Arduino desky je nutné zapojit celkem 3 vodiče. Propojíme hnědý vodič s +5V Arduina, žlutý vodič s pinem D2 a modrý vodič se zemí Arduina. Senzor má také ještě čtvrtý černý vodič, ale ten nebudeme využívat.
Pro digitální vstup je nutné vybrat pin, který slouží jako přerušovací. Seznam těchto pinů pro jednotlivé desky si můžete prohlédnout zde, u Arduino UNO desky jsou to například piny D2 a D3.
Ukázkový kód obsahuje na svém začátku nastavení čísla propojovacího pinu a vytvoření proměnné, do které budeme ukládat čas poslední aktivace čidla, tedy detekce hladiny.
V podprogramu setup provedeme nejprve inicializaci sériové linky s rychlostí 9600 baudů a poté nastavíme detekci přerušení na náš datový pin, kdy při nástupné hraně (RISING) bude vykonán podprogram prerus.
Nekonečná smyčka loop je v této ukázce jednoduchá, kdy vždy v prvním kroku vytiskneme informaci o času od poslední detekce hladiny. A poté už jen počkáme po nastavený čas před novým během smyčky.
V podprogramu prerus se provedou dvě jednoduché operace. Nejprve vytiskneme informaci o detekování hladiny kapaliny a následně uložíme do proměnné aktuální čas, abychom mohli s touto proměnnou pracovat ve smyčce loop.
// Bezkontaktní čidlo hladiny kapalin // nastavení čísla propojovacího pinu #define pinVstup 2 // proměnná pro uložení času aktivace unsigned long casAktivace = 0; void setup() { // inicializace komunikace po sériové lince // rychlostí 9600 baud Serial.begin(9600); // nastavení přerušení na pin 2 (int0) // při nástupné hraně (log0->log1) se vykoná program prerus attachInterrupt(digitalPinToInterrupt(pinVstup), prerus, RISING); } void loop() { // pravidelná informace o času od poslední detekce Serial.print("Cas od posledni detekce hladiny: "); Serial.print(millis() - casAktivace); Serial.println(" ms."); // pauza před novým během smyčky delay(1000); } void prerus() { // výpis informace při detekci Serial.println("Detekovana hladina!"); // uložení času aktivace casAktivace = millis(); }
Po nahrání uvedeného ukázkového kódu do Arduino desky s připojeným bezdotykovým čidlem kapalin dostaneme například tento výsledek, kde si můžete všimnout, že jsem 2x sepnul čidlo přiblížením čidla k hladině vody ve sklenici.
Cas od posledni detekce hladiny: 0 ms. Cas od posledni detekce hladiny: 1000 ms. Detekovana hladina! Cas od posledni detekce hladiny: 201 ms. Cas od posledni detekce hladiny: 1202 ms. Cas od posledni detekce hladiny: 2202 ms. Detekovana hladina!
Bezkontaktní čidlo hladiny kapalin je malý kompaktní senzor, který nám umožňuje detekovat kapaliny skrze obaly. Tato vlastnost se nám může hodit například při zkoumání množství kapaliny v neprůhledném obalu či nádrži, přičemž s detekcí pak můžeme dále pracovat v programu. Senzor je vyroben z odolného ABS plastu a vydrží velké rozpětí teplot, takže ho lze použít i v náročnějším prostředí. A k odolnosti přispívá také výrobcem udávaný stupeň ochrany IP67.
Seznam použitých komponent:
https://dratek.cz/arduino/1258-klon-arduino-uno-r3-atmega328p-ch340g-usb-typ-b-kabel-1459967190.html
https://dratek.cz/arduino/5005-bezkontaktni-cidlo-hladiny-kapalin-xkc-y25-v.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.