- Potřebné materiály
- Dešťový senzor
- Práce s dešťovým senzorem
- Kruhový diagram
- Vysvětlení kódu
- Práce se systémem detekce deště založeným na Arduinu
Jednoduchý systém detekce deště lze snadno vytvořit propojením Arduina s dešťovým senzorem. Senzor detekuje padající srážky a deska Arduino to vycítí a může provádět požadované akce. Takový systém lze použít v mnoha různých oblastech, jako je zemědělství a automobilová pole. Detekci dešťových srážek lze použít k automatické regulaci procesu zavlažování. Také údaje o nepřetržitých srážkáchmůže pomoci farmářům používat tento inteligentní systém k automatickému zavlažování plodiny, pouze pokud je to absolutně nutné. Podobně v automobilovém sektoru lze stěrače čelního skla plně automatizovat pomocí systému detekce deště. A domácí automatizační systémy mohou také použít detekci deště k automatickému zavření oken a nastavení teploty v místnosti. V tomto tutoriálu postavíme základní dešťový senzor pomocí Arduina s bzučákem. Toto nastavení pak můžete použít k vytvoření všeho, co si přejete. Všimněte si také, že modul dešťového senzoru se také označuje jako senzor dešťové kapky nebo dešťový měřič nebo senzor dešťové vody na základě použití, ale všechny odkazují na stejný senzor použitý v tomto projektu a všechny fungují na stejném principu.
Také jsme vytvořili jednoduchý dešťový alarm a automatický stírač do auta pouze pomocí časovače 555, možná budete chtít také zkontrolovat, pokud nechcete používat Arduino. Jak již bylo řečeno, vraťme se k tomuto projektu a začneme budovat náš Arduino Rain Gauge.
Potřebné materiály
- Arduino UNO
- Dešťový senzor
- Bzučák
- Nepájivá deska
- Připojovací vodiče
Dešťový senzor
Modul Raindrops se skládá ze dvou desek, jmenovitě Rain Board a Control Board.
Déšť deska modul se skládá ze dvou měděných stop, navržený takovým způsobem, že za suchých podmínek, které poskytují vysokou odolnost vůči napájecího napětí, a to výstupní napětí tohoto modulu bude 5V. Odpor tohoto modulu se postupně snižuje s ohledem na zvyšování vlhkosti na desce. Jak odpor klesá, klesá také jeho výstupní napětí s ohledem na vlhkost modulu. Modul dešťové desky se skládá ze dvou kolíků použitých k připojení k řídicí desce, jak je znázorněno níže.
Modul řídicí desky řídí citlivost a převádí analogový výstup na digitální výstup. Pokud je analogová hodnota pod prahovou hodnotou řídicí desky, výstup je digitálně nízký a pokud je analogová hodnota vyšší než prahová hodnota, výstup je digitálně vysoký. Pro toto srovnání a převod se používá komparátor LM393 OP-Amp. Komparátor Op-Amp je zajímavý obvod, který lze použít k porovnání dvou různých hodnot napětí, který jsme již v tomto obvodu použili v mnoha projektech, jako je Smart Electronic Candle, Laser Security Alarm, Line Follower Robot a mnoho dalšího.
Řídicí modul déšť, která je uvedena dále se skládá ze 4 kolíky pro připojení Arduino to VCC, GND, D0, A0 a další dva vývody pro připojení deště desky modulu. Stručně řečeno, modul dešťové desky detekuje dešťovou vodu a modul řídicí desky se používá k řízení citlivosti a porovnání a převodu analogových hodnot na digitální hodnoty.
Práce s dešťovým senzorem
Práce s modulem dešťového senzoru je srozumitelná. Během slunečného dne nabízí díky suchu na modulu dešťové desky vysokou odolnost vůči napájecímu napětí. Toto napětí se objeví na výstupním kolíku modulu dešťové desky jako 5V. Toto 5V se čte jako 1023, pokud je čteno analogovým pinem Arduina. Během deště způsobí dešťová voda zvýšení vlhkosti na dešťové desce, což má za následek snížení odporu nabízeného pro dodávku. Jak odpor postupně klesá, výstupní napětí začíná klesat.
Když je dešťová deska zcela mokrá a odpor, který nabízí, je minimální, bude výstupní napětí co nejnižší (přibližně 0). Tato 0V se čte jako hodnota 0, pokud je čtena analogovým pinem Arduina. Pokud je modul dešťové desky částečně mokrý, bude výkon tohoto modulu dešťové desky s ohledem na odpor, který nabízí. Pokud je odpor nabízený modulem dešťové desky takovým způsobem, že výstup je 3 V, bude načtená analogová hodnota 613. Vzorec pro vyhledání ADC lze dát pomocí, ADC = (hodnota analogového napětí X 1023) / 5. Pomocí tohoto vzorce můžete převést libovolné analogové napětí na analogovou hodnotu čtení Arduino.
Kruhový diagram
Níže uvedené schéma zapojení ukazuje zapojení obvodu snímače dešťové kapky s Arduinem. Návrh se provádí pomocí proteus, fyzické moduly jsou podobné modulům, které jsou zobrazeny v schématu zapojení.
Modul srážkoměru, který je zobrazen na schématu zapojení, je připojen k řídicí desce. Pin VCC řídicí desky je připojen k napájení 5 V. Zemnicí kolík je připojen k zemi. V případě potřeby je kolík D0 připojen k libovolnému digitálnímu kolíku Arduina a tento kolík musí být v programu deklarován jako výstupní kolík. Problém, kterému čelíme s pinem D0, spočívá v tom, že nemůžeme získat přesnou hodnotu výstupního napětí. Pokud výstup překročí prahové napětí, může řídicí modul cítit změnu výstupu. Musíme spustit bzučák, i když dojde k výrazné změně výstupního napětí v modulu dešťové desky. Z těchto důvodů je pin A0 připojen k analogovému pinu Arduina, což usnadňuje sledování změny výstupu. Bzučák, který se používá jako signál pro uživatele,lze připojit k jakémukoli digitálnímu kolíku Arduina. Pokud bzučák potřebuje více než 5 V, zkuste připojit reléový obvod nebo tranzistor a poté k němu připojit zátěž.
Vysvětlení kódu
Arduino kód dešťového senzoru byl napsán pomocí Arduino IDE. Celý kód tohoto projektu je uveden na konci stránky.
#define rainfall A0 #define buzzer 5 int value; int sada = 10;
Definování kolíku A0 jako deště a kolíku 5 jako bzučáku a deklarování proměnné „value“ a „set“ jako celých čísel a nastavení jeho proměnné set value na 10. Tuto hodnotu lze změnit podle požadované úrovně provozu. Pokud chcete, aby se bzučák aktivoval, i když je malý déšť, nastavte jej na minimální hodnotu
void setup () {Serial.begin (9600); pinMode (bzučák, VÝSTUP); pinMode (srážky, VSTUP); }
Inicializace sériové komunikace a nastavení bzučáku. Nastavení srážkového kolíku jako výstupního kolíku a vstupního kolíku.
void loop () {value = analogRead (rainfall); Serial.println (hodnota); hodnota = mapa (hodnota, 0,1023,225,0);
funkce analogRead přečte hodnotu dešťového senzoru. Mapa funkcí mapuje hodnotu dešťového senzoru z výstupního kolíku a přiřazuje hodnotu proměnné v rozsahu od 0 do 225.
if (hodnota> = set) {Serial.println ("detekován déšť"); digitalWrite (bzučák, VYSOKÝ);
Pokud je hodnota čtecího senzoru větší než nastavená hodnota, program vstoupí do smyčky, vytiskne zprávu na sériovém monitoru a zapne bzučák
else {digitalWrite (bzučák, LOW);
Program vstoupí do funkce else pouze tehdy, když je hodnota menší než nastavená hodnota. Tato funkce vypne bzučák, když je nastavená hodnota vyšší než hodnota snímače, což znamená, že neprší.
Práce se systémem detekce deště založeným na Arduinu
Tento systém funguje tak, že při dešti působí dešťová voda jako spoušť, která zapne bzučák. V Arduino kódu snímače dešťové kapky jsme definovali, že piny 5 a A0 jsou bzučák a dešťové srážky. Tímto způsobem můžeme změnit piny v definované části funkce a zbývající část kódu bude nedotčena. Programátor tak bude moci snadno upravovat piny.
Ve smyčce void přečte příkaz analogRead hodnotu ze snímače. Na dalším řádku, příkaz Serial.println (hodnota), vytiskne hodnotu na sériovém monitoru. To bude užitečné při ladění. Funkce mapy mapuje příchozí hodnotu mezi 0 - 225. Formát funkce pro mapu je mapa (hodnota, minimální hodnota, maximální hodnota, hodnota, která má být mapována pro minimální hodnotu, hodnota, která má být mapována pro maximální hodnotu). Bzučák se zapne nebo vypne v závislosti na nastavené hodnotě a výstupu senzoru. Tato hodnota je porovnána ve funkci if s nastavenou hodnotou. Pokud je hodnota větší než nastavená hodnota, zapne se bzučák. Pokud je hodnota menší než nastavená hodnota, bzučák se vypne.
Kompletní práci najdete ve videu, na které odkazujete níže. Toto je jedna z mnoha aplikací, stejný princip se projeví u stěračů, jiných automatizací domácnosti, zemědělství atd. Doufám, že jste projektu porozuměli a rádi jste stavěli něco užitečného. Pokud máte nějaké dotazy, použijte níže uvedenou sekci komentářů nebo použijte naše fóra pro další technické dotazy.