- Potrebné materiály
- Dažďový senzor
- Fungovanie dažďového senzora
- Schéma zapojenia
- Vysvetlenie kódu
- Funguje systém detekcie dažďa založený na Arduine
Jednoduchý systém detekcie dažďa sa dá ľahko vytvoriť prepojením Arduina s dažďovým senzorom. Senzor deteguje všetky padajúce zrážky a doska Arduino to zaznamená a môže vykonať požadované činnosti. Systém ako tento je možné použiť v mnohých rôznych oblastiach, napríklad v poľnohospodárstve a automobilovom priemysle. Detekciu zrážok je možné použiť na automatickú reguláciu procesu zavlažovania. Tiež údaje o nepretržitých zrážkachmôže pomôcť poľnohospodárom používať tento inteligentný systém na automatické zalievanie plodín iba v nevyhnutných prípadoch. Podobne aj v automobilovom priemysle môžu byť stierače čelného skla vyrobené úplne automaticky pomocou systému detekcie dažďa. Domáce automatizačné systémy môžu tiež využívať detekciu dažďa na automatické zatváranie okien a nastavovanie teploty v miestnosti. V tomto návode zostavíme základný dažďový senzor pomocou Arduina s bzučiakom. Toto nastavenie potom môžete použiť na zostavenie všetkého, čo chcete. Pamätajte tiež na to, že modul dažďového senzora sa tiež označuje ako dažďová kvapka alebo dažďový senzor alebo dažďová voda na základe použitia, všetky však odkazujú na rovnaký senzor použitý v tomto projekte a všetky pracujú na rovnakom princípe.
Vytvorili sme tiež jednoduchý dažďový alarm a automatický stierač iba pomocou časovača 555. Ak nechcete používať Arduino, môžete to tiež skontrolovať. Ako už bolo povedané, vráťme sa k tomuto projektu a začnime budovať náš Arduino Rain Gauge.
Potrebné materiály
- Arduino UNO
- Dažďový senzor
- Bzučiak
- Nepál
- Pripojovacie vodiče
Dažďový senzor
Modul Raindrops sa skladá z dvoch dosiek, a to Rain Board a Control Board.
Modul Rain doska sa skladá z dvoch medených stôp navrhnutých tak, aby za sucha poskytovali vysokú odolnosť voči napájaciemu napätiu a toto výstupné napätie tohto modulu bude 5V. Odolnosť tohto modulu postupne klesá s ohľadom na zvýšenie vlhkosti na doske. Keď sa odpor zmenšuje, jeho výstupné napätie klesá aj s ohľadom na vlhkosť modulu. Modul Rain board sa skladá z dvoch pinov použitých na pripojenie k riadiacej doske, ako je to znázornené nižšie.
Modul riadiacej dosky riadi citlivosť a prevádza analógový výstup na digitálny výstup. Ak je analógová hodnota pod prahovou hodnotou riadiacej dosky, výstup je digitálne nízky a ak je analógová hodnota vyššia ako prahová hodnota, výstup je digitálne vysoký. Na toto porovnanie a konverziu sa používa komparátor LM393 OP-Amp. Komparátor Op-Amp je zaujímavý obvod, ktorý možno použiť na porovnanie dvoch rôznych hodnôt napätia. V tomto obvode sme ho už použili v mnohých projektoch, ako sú inteligentná elektronická sviečka, laserový bezpečnostný alarm, robot na sledovanie linky a oveľa viac.
Riadiaci modul dážď, ktorá je uvedená ďalej sa skladá zo 4 kolíky pre pripojenie Arduino to VCC, GND, D0, A0 a ďalšie dva vývody pre pripojenie dažďa dosky modulu. Stručne povedané, modul dažďovej dosky detekuje dažďovú vodu a modul riadiacej dosky sa používa na riadenie citlivosti a porovnanie a prevod analógových hodnôt na digitálne hodnoty.
Fungovanie dažďového senzora
Práca modulu dažďového senzora je ľahko pochopiteľná. Počas slnečného dňa ponúka vďaka suchu na module dažďovej dosky vysokú odolnosť voči napájaciemu napätiu. Toto napätie sa na výstupnom kolíku modulu dažďovej dosky zobrazuje ako 5V. Toto 5V sa číta ako 1023, ak sa číta z analógového kolíka Arduina. Počas dažďa spôsobuje dažďová voda zvýšenie vlhkosti na dažďovej doske, čo má za následok zníženie odporu ponúkaného pre napájanie. Keď odpor postupne klesá, výstupné napätie začína klesať.
Keď je dažďová doska úplne mokrá a odpor, ktorý ponúka, je minimálny, výstupné napätie bude čo najnižšie (približne 0). Táto 0V sa číta ako hodnota 0, ak sa číta pomocou analógového kolíka Arduina. Ak je modul dažďovej dosky čiastočne mokrý, bude výkon tohto modulu dažďovej dosky závisieť od odporu, ktorý ponúka. Ak je odpor ponúkaný dažďovým modulom taký, že výstup je 3 V, načítaná analógová hodnota bude 613. Vzorec na vyhľadanie ADC je možné dať pomocou ADC = (hodnota analógového napätia X 1023) / 5. Pomocou tohto vzorca môžete prevádzať ľubovoľné analógové napätie na t Arduino pre čítanie analógovej hodnoty.
Schéma zapojenia
Nižšie uvedená schéma zapojenia zobrazuje zapojenie obvodu pre snímač kvapiek dažďa s Arduino. Návrh sa robí pomocou proteus, fyzické moduly sú podobné modulom, ktoré sú zobrazené na schéme zapojenia.
Modul zrážkomeru, ktorý je znázornený na schéme zapojenia, je pripojený k riadiacej doske. Pin VCC riadiacej dosky je pripojený k zdroju 5V. Uzemňovací kolík je pripojený k zemi. V prípade potreby je pin D0 pripojený k ľubovoľnému digitálnemu pinu Arduina a tento pin musí byť v programe deklarovaný ako výstupný. Problém, ktorému čelíme s pinom D0, je ten, že nemôžeme získať presnú hodnotu výstupného napätia. Ak výstup prekročí prahové napätie, potom riadiaci modul dokáže zaznamenať zmenu výstupu. Musíme spustiť bzučiak, aj keď dôjde k výraznej zmene výstupného napätia v module dažďovej dosky. Z týchto dôvodov je pin A0 pripojený k analógovému kolíku Arduino, čo uľahčuje sledovanie zmeny výstupu. Bzučiak, ktorý sa používa ako signál pre používateľa,je možné pripojiť k ľubovoľnému digitálnemu kolíku Arduino. Ak bzučiak potrebuje viac ako 5 V, skúste pripojiť reléový obvod alebo tranzistor a potom k nemu pripojiť záťaž.
Vysvetlenie kódu
Arduino kód dažďového senzoru bol napísaný pomocou Arduino IDE. Celý kód tohto projektu je uvedený na konci stránky.
# definovať zrážky A0 # definovať hodnotu bzučiaka 5; int sada = 10;
Definovanie kolíka A0 ako zrážok a kolíka 5 ako bzučiaka a deklarovanie premenných „value“ a „set“ ako celých čísel a nastavenie ich premennej set value na 10. Túto hodnotu je možné zmeniť podľa požadovanej úrovne činnosti. Ak chcete, aby sa bzučiak aktivoval, aj keď je malý dážď, nastavte ho na minimálnu hodnotu
void setup () {Serial.begin (9600); pinMode (bzučiak, VÝSTUP); pinMode (dážď, VSTUP); }
Inicializácia sériovej komunikácie a nastavenie bzučiaka. Nastavenie zrážkového kolíka ako výstupného kolíka a vstupného kolíka.
void loop () {value = analogRead (dážď); Serial.println (hodnota); hodnota = mapa (hodnota, 0,1023,225,0);
funkcia analogRead prečíta hodnotu dažďového senzora. Funkčná mapa mapuje hodnotu dažďového senzora z výstupného kolíka a priraďuje hodnotu premennej v rozmedzí od 0 do 225.
if (value> = set) {Serial.println ("detekovaný dážď"); digitalWrite (bzučiak, VYSOKÝ);
Ak je hodnota snímaného snímača vyššia ako nastavená hodnota, program vstúpi do slučky, vytlačí správu na sériovom monitore a zapne bzučiak.
else {digitalWrite (bzučiak, LOW);
Program vstúpi do funkcie else iba vtedy, keď je hodnota menšia ako nastavená hodnota. Táto funkcia vypne bzučiak, keď je nastavená hodnota vyššia ako hodnota snímača, ktorý informuje, že neprší.
Funguje systém detekcie dažďa založený na Arduine
Tento systém funguje tak, že pri daždi pôsobí dažďová voda ako spúšťač, ktorý zapne bzučiak. V Arduino kóde senzora dažďovej kvapky sme definovali, že piny 5 a A0 sú bzučiak a dážď. Týmto spôsobom môžeme zmeniť piny v definovanej časti funkcie a zvyšná časť kódu bude nedotknutá. Toto umožní programátorovi ľahkú úpravu pinov.
V slučke neplatnosti číta príkaz analogRead hodnotu zo snímača. V ďalšom riadku príkaz Serial.println (hodnota) vytlačí hodnotu na sériový monitor. To bude užitočné pri ladení. Mapová funkcia mapuje prichádzajúcu hodnotu medzi 0 - 225. Funkčný formát pre mapu je mapa (hodnota, minimálna hodnota, maximálna hodnota, hodnota, ktorá sa má mapovať pre minimálnu hodnotu, hodnota, ktorá sa má mapovať pre maximálnu hodnotu). Bzučiak sa zapne alebo vypne v závislosti od nastavenej hodnoty a výkonu snímača. Táto hodnota sa porovnáva vo funkcii if s nastavenou hodnotou. Ak je hodnota vyššia ako nastavená hodnota, zapne sa bzučiak. Ak je hodnota menšia ako nastavená hodnota, bzučiak sa vypne.
Kompletné fungovanie nájdete vo videu, na ktoré odkazujete nižšie. Toto je jedna z mnohých aplikácií, rovnaký princíp bude viditeľný pri stieračoch čelného skla, iných domácich automatizáciách, poľnohospodárstve atď. Dúfam, že ste pochopili projekt a bavilo vás stavať niečo užitočné. Ak máte akékoľvek otázky, použite sekciu komentárov nižšie alebo použite naše fóra pre ďalšie technické otázky.