Inhoudsopgave:
- Benodigdheden
- Stap 1: Projectontwikkeling
- Stap 2: De vochtsensor in het circuit plaatsen
- Stap 3: Begrijp de vochtwaarden
- Stap 4: Logisch programmeren
- Stap 5: Erkenningen
Video: Waarschuwingssysteem voor bodem met weinig vocht voor uw plant - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
In verschillende woningen is het gebruikelijk om potten met verschillende soorten planten te vinden. En met het grote aantal dagelijkse activiteiten vergeten mensen hun planten water te geven en sterven ze door gebrek aan water.
Om dit probleem te voorkomen, hebben we besloten een systeem te maken om te informeren wanneer een plant geen water heeft. Zo vergeet je nooit meer je plant te irrigeren en blijft hij lang in leven. Vervolgens zullen we de hele ontwikkeling van dit project presenteren.
Benodigdheden
- PCBWay aangepaste PCB
- Analoge bodemvochtsensor voor Arduino
- Arduino UNO
- Overbruggingsdraden (generiek)
- Standaard LCD - 16 x 2 blauw
- UTSOURCE Draaipotentiometer 10k
Stap 1: Projectontwikkeling
Een van de manieren die we gebruiken om de hoeveelheid water in de plant te detecteren, is via de vochtparameter. Dus hoe minder water er in de pot van onze plant zit, hoe lager het bodemvocht.
Daarom moeten we een vochtigheidssensor gebruiken om de vochttoestand in onze plant te analyseren.
Hierdoor hebben we een circuit opgezet dat met Arduino in het breadboard is gemonteerd, om de bewaking en indicatie van een lage luchtvochtigheid van de cactuspot uit te voeren. Dus, door middel van het display LCD om onze gebruiker te informeren over het vocht, zoals weergegeven in figuur 1.
Stap 2: De vochtsensor in het circuit plaatsen
Van het bovenstaande circuit zullen we de sonde voor vochtigheidsmeting in de plant plaatsen die we willen bewaken. In ons project steken we een sonde in een kleine cactus, zoals weergegeven in figuur 2.
Nu zullen we zien hoe we stap voor stap werk kunnen projecteren en hierna zullen we leren hoe we de controlecode kunnen maken. In eerste instantie, wanneer we de sensor niet in de pot aansluiten, heeft het apparaat een laag vochtgehalte van 2% buiten de cactuspot. Dit is te zien in figuur 3.
Stap 3: Begrijp de vochtwaarden
Deze lage procentuele waarde staat voor een lage luchtvochtigheid. Nu, nadat de sensor in de grond van de cactuspot is gestoken, wordt een waarde van 36% weergegeven, zoals weergegeven in figuur 4. Dat wil zeggen, onze vochtigheid is laag en het systeem geeft het bericht Lage vochtigheid weer omdat de waarde lager is dan 60%.
De volgende stap is om de aarde van de kan van onze cactus te irrigeren en we kunnen de stijging van de waarde van de luchtvochtigheid tot 69% verifiëren.
Nadat we de werking van het project hebben begrepen, zullen we alle constructielogica presenteren om dit monitoringsysteem te creëren. Laten we beginnen!
Stap 4: Logisch programmeren
Hierna wordt de programmeerlogica gepresenteerd via de geconstrueerde code.
Aanvankelijk werd uitgeroepen tot de bibliotheek van Display LCD, variabelen en werd een object-LCD gemaakt met zijn verbindingspennen met Arduino UNO.
#erbij betrekken
#define sensor A0 bool LCDControl = 0, LowUmid = 0, HighUmid = 0; byte UmidityPercent = 0, vocht = 0, Vorige Waarde = 0; int ValUmidade = 0, Analoge Waarde = 0; const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7; LiquidCrystal lcd (rs, en, d4, d5, d6, d7);
Hierna werden de setup-functie en display LCD 16x2 geïnitialiseerd en werd de pin van de sensor geconfigureerd als input. Ten slotte hebben we de eerste meting van onze sensor gedaan en gebruikten we als referentie voor variabele PreviousValue, zoals hieronder wordt weergegeven.
{Serial.begin(9600); lcd.begin (16, 2); pinMode (sensor, INGANG); Vorige Waarde = analoog lezen (sensor); }
Met de gemaakte variabelen en de commando's in de void setup-functie, zullen we alle logische programmering in de loop-functie uitleggen.
//Le o valor do pino A0 do sensorAnalogValue = analogRead (sensor); //Mostra o valor da porta analogica geen seriële monitor Serial.print ("Analoge poort: "); Serial.println(AnalogValue); UmidityPercent = kaart (analoge waarde, 0, 1023, 0, 100); vochtigheid = 100 - UmidityPercentage;
In de lusfunctie werd de analoge waarde uitgelezen en de waarde werd toegewezen in een bereik van 0 en 100. Deze waarde vertegenwoordigt een percentage van bodemvocht. Als het vocht hoog is, nadert de waarde 0 en als het vocht laag is, nadert de waarde 100.
Om de weergave van de waarde te vergemakkelijken en om verwarring door de gebruiker te voorkomen, keren we deze logica om en stellen we voor dat 0% een lage luchtvochtigheid en 100% hoge luchtvochtigheid is. Dit is gedaan door middel van de berekening die is uitgevoerd na het in kaart brengen.
vocht = 100 - UmidityPercentage;
Na het lezen van de vochtigheidswaarde moet het op het LCD-scherm worden weergegeven. De volgende stap is om te controleren of de vochtwaarde verschilt van de waarde plus 1 of de waarde min 1, volgens de onderstaande voorwaarde.
if((vocht > (PreviousValue)+1) || (vocht < (PreviousValue)- 1))
Deze voorwaarde wordt gebruikt om te voorkomen dat het systeem dezelfde waarde meerdere keren op het LCD-scherm weergeeft. Maar als de voorwaarde waar is, zal het systeem de waarde op het LCD-scherm weergeven en controleren of de waarde meer of gelijk is aan 60% of minder dan 60%. het bericht Hoge vochtigheid, anders presenteert u het bericht Lage vochtigheid, zoals hieronder wordt weergegeven.
if((vocht > (PreviousValue)+1) || (vocht < (PreviousValue)- 1)) { lcd.setCursor(1, 0); lcd.print("Vocht: "); lcd.print(" "); lcd.setCursor(11, 0); lcd.print(vocht); lcd.print("%"); if (vocht = 60 && HighUmid == 0) { lcd.setCursor (2, 1); lcd.print(" "); lcd.setCursor(1, 1); lcd.print("Hoge vochtigheid"); HoogUmid = 1; LaagUmid = 0; } Vorige Waarde = vocht; }
Ten slotte zal het systeem de waarde van de variabele vochtigheid opslaan in de variabele PreviousValue om de waarde ervan te actualiseren. Elke keer dat een nieuwe waarde in het display wordt weergegeven, wordt de variabele PreviousValue geactualiseerd om te worden gebruikt in andere verwerkingscycli van de code. Daarom is dit een eenvoudig systeem dat wordt gebruikt om de vochtigheid van planten in onze residenties te controleren en gebruikers te informeren over het bodemvochtgehalte.
Stap 5: Erkenningen
Het Silícios Lab bedankt PCBWay voor zijn steun en samenwerking. En we hebben veel voordelen voor u. Verdien 10 gratis PCB's en veel bonenmunten (Meer weten) om te ruilen voor producten op de PCBWay-website.
Naast hen bedankt het Silícios Lab UTSOURCE voor zijn ondersteuning, voor het aanbieden van goedkope elektronische componenten van hoge kwaliteit en goede service.
Aanbevolen:
Waarschuwingssysteem voor slaperigheid: 3 stappen
Waarschuwingssysteem voor slaperigheid: elk jaar verliezen veel mensen het leven door dodelijke verkeersongevallen over de hele wereld en slaperig rijden is een van de belangrijkste oorzaken van verkeersongevallen en overlijden. Vermoeidheid en microslaap bij de bedieningselementen zijn vaak de hoofdoorzaak van ernstige acc
Vocht- en temperatuurmeting met behulp van HIH6130 en Arduino Nano: 4 stappen
Vocht- en temperatuurmeting met behulp van HIH6130 en Arduino Nano: HIH6130 is een vochtigheids- en temperatuursensor met digitale uitgang. Deze sensoren bieden een nauwkeurigheidsniveau van ±4% RV. Met toonaangevende stabiliteit op lange termijn, echte temperatuurgecompenseerde digitale I2C, toonaangevende betrouwbaarheid, energie-efficiëntie
Vocht- en temperatuurmeting met HTS221 en Arduino Nano: 4 stappen
Vocht- en temperatuurmeting met behulp van HTS221 en Arduino Nano: HTS221 is een ultracompacte capacitieve digitale sensor voor relatieve vochtigheid en temperatuur. Het bevat een detectie-element en een mixed signal application specific integrated circuit (ASIC) om de meetinformatie te leveren via digitale seriële
Watersensor voor bodem: 7 stappen
Watersensor voor bodem: dit project is een gemakkelijke en zeer informatieve manier om de studenten op te leiden die efficiënt zijn in het schrijven van codes en het begrijpen van de mechanismen van de elektronica die bij de Arduino betrokken is. Benodigde materialen:- Arduino Microcontroller- Watersensor (m
Een antenne toevoegen aan een router met weinig vermogen: 11 stappen
Een antenne toevoegen aan een ondermaatse router: ik heb een D-Link-router van het 2,4 GHz-type. Het ondersteunt 802.11b en ik gebruik het voor alle laptops die ik repareer en test. Ik wil af en toe het signaal naar de andere kant van het huis sturen, en ik heb ervoor gekozen om dit te doen, in plaats van een nieuwe extra antenne te kopen