INHOUDSOPGAWE:
- Voorrade
- Stap 1: Projekontwikkeling
- Stap 2: Plaas die vogsensor in die stroombaan
- Stap 3: Verstaan die vogwaardes
- Stap 4: Logiese programmering
- Stap 5: Erkennings
Video: Waarskuwingstelsel vir lae voggrond vir u plant: 5 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:24
In verskeie koshuise is dit algemeen dat potte met verskillende soorte plante gevind word. En met die groot aantal daaglikse aktiwiteite, vergeet mense om hul plante nat te maak en sterf hulle uiteindelik weens gebrek aan water.
As 'n manier om hierdie probleem te vermy, het ons besluit om 'n stelsel op te stel om in te lig wanneer 'n plant geen water het nie. Op hierdie manier sal u nooit vergeet om u plant te besproei nie, en dit sal nog lank aan die lewe bly. Vervolgens bied ons die hele ontwikkeling van hierdie projek aan.
Voorrade
- PCBWay Custom PCB
- Analoge grondvogsensor vir Arduino
- Arduino UNO
- Springdrade (generies)
- Standaard LCD - 16 x 2 blou
- UTSOURCE Rotary Potentiometer 10k
Stap 1: Projekontwikkeling
Een van die maniere waarop ons die hoeveelheid water in die plant kan opspoor, is deur die vogparameter. Dus, hoe minder water in die kruik van ons plant is, hoe laer is die grondvog.
Daarom moet ons 'n humiditeitsensor gebruik om die toestand van vog in ons plant te ontleed.
Daardeur het ons 'n stroombaan opgestel wat saam met Arduino in die broodbord gemonteer is, om die monitering en aanduiding van 'n lae humiditeit van die kaktuspot uit te voer. Dus, op die skerm LCD om ons gebruiker in te lig oor die vog, soos in figuur 1 getoon word.
Stap 2: Plaas die vogsensor in die stroombaan
Uit die bogenoemde stroombaan plaas ons die sonde vir die meting van humiditeit in die plant wat ons wil monitor. In ons projek steek ons 'n sonde in 'n klein kaktus, soos getoon in figuur 2.
Nou sal ons sien hoe om werk stap-vir-stap te projekteer, en hierna leer ons hoe u die beheerkode kan skep. Aanvanklik, as ons nie die sensor in die pot koppel nie, het die toestel 'n lae voginhoud van 2% buite die kaktusfles. Dit kan in figuur 3 gesien word.
Stap 3: Verstaan die vogwaardes
Hierdie lae persentasie waarde verteenwoordig 'n lae humiditeit. Nadat die sensor in die grond van die kaktuspot geplaas is, word 'n waarde van 36% vertoon, soos in figuur 4. Dit wil sê, ons humiditeit is laag en die stelsel vertoon die boodskap Lae vog omdat die waarde minder is as 60%.
Die volgende stap is om die grond van die kruik van ons kaktus te besproei, en ons kan die verhoging van die waarde van die humiditeit tot 69%kontroleer.
Nadat ons die werking van die projek verstaan het, sal ons al die konstruksielogika voorstel om hierdie moniteringstelsel te skep. Laat ons begin!
Stap 4: Logiese programmering
Hierna sal die programmeringslogika aangebied word deur die gekonstrueerde kode.
Aanvanklik is dit verklaar as die biblioteek van LCD -skerms, veranderlikes en 'n voorwerp -LCD met sy verbindingspenne met Arduino UNO.
#insluit
#define sensor A0 bool LCDControl = 0, LowUmid = 0, HighUmid = 0; byte UmidityPercent = 0, vog = 0, Vorige waarde = 0; int ValUmidade = 0, AnalogValue = 0; const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);
Hierna is die opstelfunksie en die LCD 16x2 geïnitialiseer en die pen van die sensor as 'n invoer gekonfigureer. Uiteindelik het ons ons sensor gelees en as verwysing gebruik vir die veranderlike PreviousValue, soos hieronder getoon word.
{Serial.begin (9600); lcd.begin (16, 2); pinMode (sensor, INVOER); PreviousValue = analogRead (sensor); }
Met die veranderlikes wat geskep is en die opdragte in die leemte -opstelfunksie, verduidelik ons alle logiese programmering in die lusfunksie.
// Le o valor do pino A0 do sensorAnalogValue = analogRead (sensor); // Weergawes van analoë sonder seriële monitor Serial.print ("Analoog poort:"); Serial.println (AnalogValue); UmidityPercent = kaart (AnalogValue, 0, 1023, 0, 100); vog = 100 - UmiditeitPersent;
In die lusfunksie is die analoogwaarde gelees en die waarde in 'n reeks van 0 en 100 gekarteer. Hierdie waarde verteenwoordig 'n persentasie van die grondvog. As die vog hoog is, nader die waarde 0 en as die vog laag is, bereik die waarde 100.
Om die voorstelling van die waarde te vergemaklik en om die lees van die gebruiker nie verwarrend te voorkom nie, keer ons hierdie logika om en stel voor dat 0% lae humiditeit en 100% hoë humiditeit is. Dit is gedoen deur middel van die berekening wat na die kartering uitgevoer is.
vog = 100 - UmiditeitPersent;
Na die lees moet die vogwaarde in die LCD -skerm verskyn. Die volgende stap is om te kontroleer of die vogwaarde verskil van die waarde plus 1 of die waarde minus 1, volgens die onderstaande toestand.
as ((vog> (Vorige waarde) +1) || (vog <(Vorige waarde)- 1))
Hierdie toestand word gebruik om te voorkom dat die stelsel verskeie kere dieselfde waarde in die LCD -skerm vertoon. Maar as die toestand waar is, sal die stelsel die waarde in die LCD vertoon en kontroleer of die waarde meer of gelyk is aan 60%of minder as 60%. die boodskap Hoë vog, anders, bied die boodskap Lae vog, soos hieronder getoon.
as ((vog> (VorigeWaarde) +1) || (vog <(VorigeWaarde)- 1)) {lcd.setCursor (1, 0); lcd.print ("Vog:"); lcd.print (""); lcd.setCursor (11, 0); lcd.print (vog); lcd.print ("%"); as (vog = 60 && HighUmid == 0) {lcd.setCursor (2, 1); lcd.print (""); lcd.setCursor (1, 1); lcd.print ("hoë vog"); HighUmid = 1; LowUmid = 0; } Vorige waarde = vog; }
Laastens sal die stelsel die waarde van vogveranderlike in die veranderlike van die vorige waarde stoor om die waarde daarvan te aktualiseer. Elke keer as 'n nuwe waarde op die skerm verskyn, word die veranderlike Vorige waarde geaktualiseer om in ander siklusse van die verwerking van die kode gebruik te word. die grondvogvlak.
Stap 5: Erkennings
Die Silícios Lab bedank PCBWay vir sy ondersteuning en werk saam. En ons het baie voordele vir u. Verdien 10 gratis PCB's en baie boontjie -munte (weet meer) om produkte op die PCBWay -webwerf te verhandel.
Benewens hulle, bedank die Silícios Lab UTSOURCE vir sy ondersteuning, omdat hy ons die goedkoop elektroniese komponente van uitstekende gehalte en goeie diens aangebied het.
Aanbeveel:
Viervoudige elektroniese toetser vir lae spanning: 7 stappe
Viervoudige elektroniese toetser vir lae spanning: wat is hierdie ding? 'N Veelsydige viervoudige laespanningstoetser wat bydra tot 'n groener wêreld, want met die hulp van hierdie klein apparaat kan baie gebreekte elektroniese toestelle 'n tweede of derde lewe kry, en sal dit nie gestuur word nie die vullishoop! Veilig
Waarskuwingstelsel in die gang: 4 stappe
Waarskuwingstelsel in die gang: Op skool is daar klokke wat aandui wanneer klasverandering moet plaasvind. Hulle lui eers om aan te dui wanneer die klas moet eindig, en dan bel hulle 'n tweede keer om aan te dui wanneer die volgende klas moet begin. As 'n student laat is, het hulle gewoonlik nie
Maak die waarskuwingstelsel vir praat / stemkennisgewing: 4 stappe
Maak 'n waarskuwingstelsel vir praat / stemkennisgewing: hierdie projek het ons 'n praat- / stemkennisgewing- en waarskuwingstelsel gemaak. Minstens twee sensors kan in hierdie projek gebruik word
HaptiGuard - Sywaartse waarskuwingstelsel: 3 stappe (met foto's)
HaptiGuard - Sywaartse waarskuwingstelsel: 'n Vinnige en akute sywaartse waarskuwingstelsel as 'n sywaartse idee van Personal Photonics van die Media Computing Group Aachen, befonds deur die Duitse ministerie van onderwys en wetenskap. Elke keer as daar iets by u kom wat u nie kan hoor nie (hetsy omdat
UCL - Ingebed - Waarskuwingstelsel - RC -motor: 7 stappe
UCL - Embedded - Warningsystem - RC Car: In hierdie projek het ek 'n eenvoudige waarskuwingstelsel vir logistieke robotte gemaak. Dit is basies 'n RC -motor met 'n ultra -soniese sensor voor en 'n senor in die agterkant. Die motor word via 'n app via bluetooth bestuur