- Nødvendig materiale
- Regnsensor
- Arbeid av regnsensor
- Kretsdiagram
- Kode Forklaring
- Arbeid med Arduino-basert Rain Detection-system
Et enkelt regnregistreringssystem kan enkelt bygges ved å koble en Arduino med regnsensor. Sensoren vil oppdage regn som faller på den, og Arduino-kortet vil føle det og kan utføre nødvendige handlinger. Et system som dette kan brukes på mange forskjellige felt, som jordbruk og bilfelt. Nedbørsregistrering kan brukes til å automatisk regulere vanningsprosessen. Også kontinuerlig nedbørsdatakan hjelpe bønder med å bruke dette smarte systemet til å vanne avlingen automatisk bare når det er absolutt nødvendig. På samme måte kan vindusviskere i bilsektoren gjøres helautomatiske ved å bruke regndeteksjonssystemet. Og hjemmeautomatiseringssystemene kan også bruke regndeteksjon til automatisk å lukke vinduer og justere romtemperaturen. I denne opplæringen vil vi bygge en grunnleggende regnsensor ved hjelp av Arduino med en summer. Du kan deretter bruke dette oppsettet til å bygge alt du ønsker på toppen av det. Vær også oppmerksom på at regnsensormodulen også blir referert til som en regndråpesensor eller regnmålesensor eller regnvannsensor basert på bruk, men de refererer alle til den samme sensoren som ble brukt i dette prosjektet, og de jobber alle med det samme prinsippet.
Vi har også bygget en enkel regnalarm og en automatisk bilvisker ved å bruke bare 555 Timer. Det kan også være lurt å sjekke det hvis du ikke vil bruke en Arduino. Når det er sagt, la oss komme tilbake til dette prosjektet og begynne å bygge vår Arduino Rain Gauge.
Nødvendig materiale
- Arduino UNO
- Regnsensor
- Summer
- Brettbrett
- Koble ledninger
Regnsensor
The Raindrops modul består av to planker, nemlig Regn styret og kontrollkortet.
Den Rain styret Modulen består av to kobberspor, som er utformet på en slik måte at under tørre betingelser de gir høy motstand mot tilførselsspenningen, og denne utgangsspenning fra denne modulen vil være 5V. Denne modulens motstand avtar gradvis med hensyn til økning i fuktighet på brettet. Når motstanden minker, reduseres utgangsspenningen også med hensyn til fuktighet på modulen. Den Rain tavlemodul består av to tapper som brukes til å koble til kontrolltavlen som vist nedenfor.
Kontrollkortmodul styrer følsomheten og konverterer den analoge utgangen til digital utgang. Hvis den analoge verdien er under terskelverdien til kontrollkortet, er utgangen digital lav, og hvis den analoge verdien er høyere enn terskelverdien, er utgangen digital høy. For denne sammenligningen og konverteringen brukes en LM393 OP-Amp Comparator. En Op-Amp-komparator er en interessant krets som kan brukes til å sammenligne to forskjellige spenningsverdier, vi har allerede brukt i denne kretsen i mange prosjekter som Smart Electronic Candle, Laser Security Alarm, Line Follower Robot og mye mer.
Den Rain kontrollmodul som er vist nedenfor består av 4 pinner for å forbinde Arduino nemlig VCC, GND, D0, A0 og to pinner for å koble regnet tavlemodul. Oppsummert oppdager regnkortmodulen regnvannet, og kontrollkortmodulen brukes til å kontrollere følsomheten og sammenligne og konvertere de analoge verdiene til digitale verdier.
Arbeid av regnsensor
Å arbeide med regnsensormodulen er enkel å forstå. I løpet av en solskinnsdag, på grunn av tørrheten på regnbrettmodulen, gir den høy motstand mot forsyningsspenningen. Denne spenningen vises på utgangspinnen til regnbrettmodulen som 5V. Denne 5V leses som 1023 hvis den leses av en analog pin fra Arduino. Under regn forårsaker regnvannet en økning i fuktighet på regnbrettet, noe som igjen resulterer i en reduksjon i motstanden som tilbys for forsyningen. Når motstanden avtar gradvis, begynner utgangsspenningen å synke.
Når regnbrettet er helt vått og motstanden som tilbys av det er minimal, vil utgangsspenningen være så lav som mulig (ca. 0). Denne 0V leses som 0-verdi hvis den leses av en analog pin fra Arduino. Hvis regnbrettmodulen er delvis våt, vil utgangen fra denne regnbrettmodulen være med hensyn til motstanden den gir. Hvis motstanden som tilbys av regnbrettmodulen er på en slik måte at utgangen er 3V, vil den avleste analoge verdien være 613. Formel for å finne ADC kan gis ved, ADC = (analog spenningsverdi X 1023) / 5. Ved å bruke denne formelen kan du konvertere hvilken som helst analog spenning til t Arduino analog leseverdi.
Kretsdiagram
Nedenfor kretsskjema viser kretsforbindelsene for Rain Drop Sensor med Arduino. Designet er utført med proteus, de fysiske modulene ligner på modulene som er vist i kretsskjemaet.
Regnemåler-modulen, som er vist i kretsskjemaet, er koblet til kontrollkortet. Kontrollkortets VCC-pinne er koblet til 5V-forsyningen. Jordpinnen er koblet til bakken. Om nødvendig er D0-pinnen koblet til en hvilken som helst digital pinne på Arduino, og den pinnen må erklæres som en utgangspinne i programmet. Problemet vi står overfor med D0-pinnen er at vi ikke kan få den nøyaktige verdien av utgangsspenningen. Hvis utgangen krysser terskelspenningen, kan kontrollmodulen føle endringen i utgangen. Vi må betjene summeren, selv om det er en betydelig endring i utgangsspenningen i regnbrettmodulen. På grunn av disse årsakene er A0-pinnen koblet til den analoge pinnen til Arduino, noe som gjør det enkelt å overvåke endringen i produksjonen. Summeren, som brukes som et signal til brukeren,kan kobles til hvilken som helst digital pin på Arduino. Hvis summeren trenger mer enn 5V, så prøv å koble en relékrets eller en transistor og deretter koble belastningen til den.
Kode Forklaring
Den Arduino koden for regnsensor ble skrevet med Arduino IDE. Den komplette koden for dette prosjektet er gitt på slutten av siden.
#define rainfall A0 #define buzzer 5 int value; int sett = 10;
Definere pin A0 som nedbør, og pin 5 som en summer og deklarere variabel "verdi" og "sett" som heltall og sette dens variable settverdi til 10. Denne verdien kan endres i henhold til ønsket operasjonsnivå. Hvis du vil at summeren skal aktiveres, sett den til en minimumsverdi selv når det er lite regn
ugyldig oppsett () {Serial.begin (9600); pinMode (summer, UTGANG); pinMode (nedbør, INNGANG); }
Initialiserer seriekommunikasjonen, og stiller inn summeren. Still inn nedbørstiften som utgangsstift og inngangsstift.
void loop () {verdi = analogRead (nedbør); Serial.println (verdi); verdi = kart (verdi, 0,1023,225,0);
funksjonen analogRead leser verdien av regnsensoren. Funksjonskartet kartlegger verdien på regnsensoren fra utgangsstiften, og tilordner en verdi til variabelen, fra 0 til 225.
hvis (verdi> = satt) {Serial.println ("regn oppdaget"); digitalWrite (summer, HØY);
Hvis den avleste sensorverdien er større enn den innstilte verdien, går programmet inn i sløyfen, skriver ut meldingen på seriell skjerm og slår på summeren
annet {digitalWrite (summer, LAV);
Programmet går inn i den andre funksjonen bare når verdien er mindre enn den innstilte verdien. Denne funksjonen vil slå av summeren når den innstilte verdien er høyere enn verdien på sensoren, noe som forteller at det ikke er regn.
Arbeid med Arduino-basert Rain Detection-system
Dette systemet fungerer på en slik måte at regnvannet fungerer som en utløser når det kommer regn som slår på summeren. I Rain Drop Sensor Arduino Code definerte vi at pinner 5 og A0 er summer og nedbør. Ved å gjøre dette kan vi endre pinnene i den definerte delen av funksjonen, og den gjenværende delen av koden vil være uberørt. Dette vil gjøre programmereren enkel å redigere pinnene.
I tomrumsløpet leser analogRead- kommandoen verdien fra sensoren. I neste linje skriver kommandoen Serial.println (verdi) ut verdien på den serielle skjermen. Dette vil være nyttig når du feilsøker. Kartfunksjonen kartlegger den innkommende verdien mellom 0-225. Funksjonsformatet for kartet er et kart (verdi, min verdi, maksimumsverdi, verdi som skal kartlegges for minimumsverdi, verdi som skal kartlegges for maksimal verdi). Summeren slås PÅ eller AV, avhengig av innstilt verdi og utgang fra sensoren. Denne verdien sammenlignes i if-funksjonen med den innstilte verdien. Hvis verdien er større enn den innstilte verdien, vil den slå på summeren. Hvis verdien er mindre enn den innstilte verdien, slås summeren av.
Komplett arbeid finner du i videoen som er lenket nedenfor. Dette er en applikasjon blant mange, det samme prinsippet kan sees i vindusviskere, annen hjemmeautomatisering, landbrukssektorer, etc. Håper du forsto prosjektet og likte å bygge noe nyttig. Hvis du har spørsmål, bruk kommentarseksjonen nedenfor eller bruk forumene våre for andre tekniske spørsmål.