- Material som krävs
- Regnsensor
- Arbeta med regnsensor
- Kretsschema
- Kodförklaring
- Arbetar med Arduino-baserat Rain Detection-system
Ett enkelt regndetekteringssystem kan enkelt byggas genom att koppla en Arduino med regnsensor. Sensorn kommer att upptäcka regn som faller på den och Arduino-kortet känner av det och kan utföra nödvändiga åtgärder. Ett system som detta kan användas inom många olika områden, såsom jordbruk och bilfält. Regndetektering kan användas för att automatiskt reglera bevattningsprocessen. Uppgifter om kontinuerlig nederbördkan hjälpa jordbrukare att använda detta smarta system för att automatiskt bevattna grödan endast när det är absolut nödvändigt. På samma sätt kan vindrutetorkare inom bilsektorn göras helt automatiska med regndetekteringssystemet. Och hemautomationssystemen kan också använda regndetektering för att automatiskt stänga fönster och justera rumstemperaturen. I den här guiden kommer vi att bygga en grundläggande regnsensor med Arduino med en summer. Du kan sedan använda den här inställningen för att bygga allt du vill ovanpå den. Observera också att regnsensormodulen också kallas en regndroppsensor eller regnsensor eller regnvattensensor baserat på användning, men de hänvisar alla till samma sensor som används i detta projekt och de arbetar alla på samma princip.
Vi har också byggt ett enkelt regnlarm och en automatisk biltorkare genom att bara använda 555 Timer, du kanske vill kontrollera det också om du inte vill använda en Arduino. Med det sagt, låt oss komma tillbaka till det här projektet och börja bygga vår Arduino Rain Gauge.
Material som krävs
- Arduino UNO
- Regnsensor
- Summer
- Bakbord
- Anslutande ledningar
Regnsensor
Den Raindrops Modulen består av två skivor, nämligen Rain Board and Control Board.
Den Regn ombord Modulen består av två kopparspår, utformade på ett sådant sätt att under torra förhållanden de ger hög motståndskraft mot matarspänningen, och denna utgångsspänning av denna modul kommer att vara 5V. Modulens motstånd minskar gradvis med avseende på en ökning av fukt på brädet. När motståndet minskar minskar dess utspänning också med avseende på fukt på modulen. Den Regn ombord Modulen består av två ben som används för att ansluta till styrkortet som visas nedan.
Styrkortmodulen styr känsligheten och omvandlar den analoga utgången till digital utgång. Om det analoga värdet ligger under styrkortets tröskelvärde är utgången digital låg och om det analoga värdet är högre än tröskelvärdet är utgången digital hög. För denna jämförelse och konvertering används en LM393 OP-Amp Comparator. En Op-Amp-komparator är en intressant krets som kan användas för att jämföra två olika spänningsvärden, vi har redan använt i denna krets i många projekt som Smart Electronic Candle, Laser Security Alarm, Line Follower Robot och mycket mer.
Den Regn styrmodulen, som visas nedan består av 4 stift för att ansluta Arduino nämligen VCC, GND, D0, A0 och ytterligare två stift för att ansluta regn kortet modulen. Sammanfattningsvis upptäcker regnkortmodulen regnvattnet och styrkortmodulen används för att kontrollera känsligheten och jämföra och konvertera de analoga värdena till digitala värden.
Arbeta med regnsensor
Arbetet med regnsensormodulen är enkelt att förstå. På grund av torrheten på regnbrädemodulen ger den en solig dag hög motståndskraft mot matningsspänningen. Denna spänning visas på utgångsstiftet på regnkortmodulen som 5V. Denna 5V läses som 1023 om den läses av en analog stift från Arduino. Under regn orsakar regnvattnet en ökning av fuktigheten på regnbrädan, vilket i sin tur leder till en minskning av det motstånd som erbjuds för tillförseln. När motståndet minskar gradvis börjar utspänningen att minska.
När regnbrädet är helt vått och motståndet som erbjuds av det är minimalt, kommer utspänningen att vara så låg som möjligt (ca 0). Denna 0V läses som 0-värde om den läses av en analog stift av Arduino. Om regnkortmodulen är delvis våt kommer utgången från denna regnkortmodul att vara med avseende på motståndet den erbjuder. Om motståndet som erbjuds av regnkortmodulen är på ett sådant sätt att utgången är 3V kommer det lästa analoga värdet att vara 613. Formel för att hitta ADC kan ges med, ADC = (analog spänningsvärde X 1023) / 5. Genom att använda denna formel kan du konvertera vilken analog spänning som helst till t Arduino analog läsvärde.
Kretsschema
Nedanstående kretsschema visar kretsanslutningarna för Rain Drop Sensor med Arduino. Designen görs med proteus, de fysiska modulerna liknar modulerna som visas i kretsschemat.
Regnemåttmodulen, som visas i kretsschemat, är ansluten till styrkortet. Kontrollkortets VCC-stift är ansluten till 5V-matningen. Jordstiftet är anslutet till marken. Om det behövs är D0-stiftet anslutet till alla digitala stift i Arduino, och stiftet måste deklareras som en utgångsstift i programmet. Problemet med D0-stiftet är att vi inte kan få det exakta värdet på utspänningen. Om utgången passerar tröskelspänningen kan styrmodulen känna av förändringen i utgången. Vi måste manövrera summern, även om det sker en betydande förändring av utspänningen i regnkortmodulen. Av dessa anledningar är A0-stiftet anslutet till den analoga stiftet på Arduino, vilket gör det enkelt att övervaka förändringen i utdata. Summern, som används som en signal till användaren,kan anslutas till valfri digital stift på Arduino. Om summern behöver mer än 5V, försök sedan ansluta en reläkrets eller en transistor och anslut sedan lasten till den.
Kodförklaring
Den Arduino koden för regnsensorn skrevs med hjälp av Arduino IDE. Den fullständiga koden för detta projekt ges i slutet av sidan.
#define rain A0 #define summer 5 int value; intuppsättning = 10;
Definiera stift A0 som nederbörd, och stift 5 som en summer och deklarera variabeln "värde" och "ställa in" som heltal och ställa in dess variabla inställningsvärde till 10. Detta värde kan ändras enligt den önskade driftsnivån. Om du vill att summern ska aktiveras, ställ in den till ett minimivärde även när det är lite regn
ogiltig installation () {Serial.begin (9600); pinMode (summer, OUTPUT); pinMode (nederbörd, INPUT); }
Initiera seriekommunikationen och ställa in summern. Ställa in nederbördsstiftet som utgångsstift och inmatningsstift.
void loop () {value = analogRead (regn); Serial.println (värde); värde = karta (värde, 0,1023,225,0);
funktionen analogRead läser värdet på regnsensorn. Funktionskartan kartlägger regnsensorns värde från utgångsstiftet och tilldelar variabeln ett värde från 0 till 225.
if (value> = set) {Serial.println ("regn upptäckt"); digitalWrite (summer, HÖG);
Om det lästa sensorvärdet är större än det inställda värdet, går programmet in i slingan, skriver ut meddelandet på seriell bildskärm och slår på summern
annat {digitalWrite (summer, LOW);
Programmet går in i den andra funktionen bara när värdet är mindre än det inställda värdet. Denna funktion stänger av summern när det inställda värdet är högre än sensorn, vilket säger att det inte finns regn.
Arbetar med Arduino-baserat Rain Detection-system
Detta system fungerar på ett sådant sätt att regnvattnet, när det regnar, fungerar som en utlösare som slår på summern. I Arduino-koden för regnfallssensor definierade vi att stift 5 och A0 är summer och regn. Genom att göra detta kan vi ändra stiften i den definierade delen av funktionen, och den återstående delen av koden kommer att vara orörd. Detta gör det enkelt för programmeraren att redigera stiften.
I tomrumsloopen läser analogRead- kommandot värdet från sensorn. I nästa rad skriver kommandot Serial.println (värde) ut värdet på den seriella bildskärmen. Detta kommer att vara till hjälp vid felsökning. Kartfunktionen kartlägger det inkommande värdet mellan 0-225. Formateringsfunktionen för kartan är en karta (värde, minimivärde, maximivärde, värdet som ska mappas för minimivärde, värdet som ska mappas för maximalt värde). Summern slås PÅ eller AV, beroende på inställt värde och sensorns utgång. Detta värde jämförs i if-funktionen med det inställda värdet. Om värdet är större än det inställda värdet slås det på summern. Om värdet är mindre än det inställda värdet stängs summern av.
Hela arbetet finns i videon som länkas nedan. Detta är en applikation bland många, samma princip kommer att ses i vindrutetorkare, annan hemautomation, jordbrukssektorn etc. Hoppas att du förstod projektet och tyckte om att bygga något användbart. Om du har några frågor, använd kommentarsektionen nedan eller använd våra forum för andra tekniska frågor.