Tartalomjegyzék:
- Kellékek
- 1. lépés: Projektfejlesztés
- 2. lépés: A nedvességérzékelő behelyezése az áramkörbe
- 3. lépés: Ismerje meg a nedvességértékeket
- 4. lépés: Logikai programozás
- 5. lépés: Köszönetnyilvánítás
Videó: Riasztási rendszer alacsony nedvességtartalmú talajról a növény számára: 5 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:40
Több lakóhelyen gyakori, hogy különböző típusú növényekkel ellátott üvegeket találunk. És a sok napi tevékenység mellett az emberek elfelejtik öntözni növényeiket, és végül vízhiány miatt meghalnak.
A probléma elkerülése érdekében úgy döntöttünk, hogy létrehozunk egy rendszert, amely tájékoztatja, ha az üzemben nincs víz. Ily módon soha nem felejti el a növény öntözését, és sokáig életben marad. Ezután bemutatjuk a projekt teljes fejlesztését.
Kellékek
- PCBWay Egyedi PCB
- Analóg talajnedvesség -érzékelő az Arduino számára
- Arduino UNO
- Jumper vezetékek (általános)
- Standard LCD - 16 x 2 kék
- UTSOURCE forgó potenciométer 10k
1. lépés: Projektfejlesztés
A növény vízmennyiségének kimutatására egyik módszer a nedvesség paraméter. Tehát minél kevesebb víz van növényünk edényében, annál alacsonyabb a talaj nedvessége.
Ezért nedvességérzékelőt kell használnunk a nedvesség állapotának elemzéséhez növényünkben.
Ezen keresztül egy áramkört állítottunk fel a kenyérsütő táblába Arduino -val, hogy ellenőrizze és jelezze a kaktuszos üveg alacsony páratartalmát. Tehát az LCD kijelző segítségével tájékoztathatja felhasználónkat a nedvességről, amint az az 1. ábrán látható.
2. lépés: A nedvességérzékelő behelyezése az áramkörbe
A fenti áramkörből behelyezzük a szondát a páratartalom mérésére a megfigyelni kívánt üzembe. Projektünk során szondát illesztünk egy kis kaktuszba, amint azt a 2. ábra mutatja.
Most látni fogjuk, hogyan kell lépésről lépésre előrevetíteni a munkát, majd ezt követően megtanuljuk, hogyan kell létrehozni a vezérlőkódot. Kezdetben, ha nem csatlakoztatjuk az érzékelőt az edény belsejébe, az eszköz alacsony, 2% -os nedvességtartalmú kívül a kaktuszkorsó. Ez látható a 3. ábrán.
3. lépés: Ismerje meg a nedvességértékeket
Ez az alacsony százalékos érték alacsony páratartalmat jelent. Most, miután behelyezte az érzékelőt a kaktuszkorsó talajába, 36% -os érték jelenik meg, amint az a 4. ábrán látható. Vagyis alacsony a páratartalmunk, és a rendszer megjeleníti az Alacsony nedvesség üzenetet, mert az érték kisebb mint 60%.
A következő lépés a kaktuszunk kancsójának talaja öntözése, és ellenőrizni tudjuk a páratartalom értékének 69%-ra való növekedését.
Miután megértettük a projekt működését, bemutatjuk a felügyeleti rendszer létrehozásához szükséges összes építési logikát. Kezdjük el!
4. lépés: Logikai programozás
A továbbiakban a programozási logika a felépített kódon keresztül kerül bemutatásra.
Kezdetben a Display LCD, változók könyvtárává nyilvánították, és létrehoztak egy objektum LCD -t, amelynek csatlakozói az Arduino UNO -val vannak.
#befoglalni
#define sensor A0 bool LCDControl = 0, LowUmid = 0, HighUmid = 0; bájt UmidityPercent = 0, nedvesség = 0, PreviousValue = 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);
Ezt követően a beállítási funkció és az LCD 16x2 kijelző inicializálásra került, és az érzékelő csapja bemenetként lett konfigurálva. Végül elkészítettük az érzékelő első leolvasását, és referenciaként használtuk a PreviousValue változót, amint az alább látható.
{Serial.begin (9600); lcd. kezdet (16, 2); pinMode (érzékelő, BEMENET); PreviousValue = analogRead (érzékelő); }
A létrehozott változókkal és a void setup függvényben található parancsokkal elmagyarázzuk a ciklusfüggvény összes logikai programozását.
// Le o valor do pino A0 do sensorAnalogValue = analogRead (sensor); // Mostra o valor da porta analogica nincs soros monitor Serial.print ("Analog Port:"); Serial.println (AnalogValue); UmidityPercent = térkép (analógérték, 0, 1023, 0, 100); nedvesség = 100 - UmidityPercent;
A hurok funkcióban az analóg értéket leolvasták, és az értéket 0 és 100 közötti tartományban képezték le. Ez az érték a talaj nedvességtartalmának százalékát jelenti. Ha a nedvesség magas, akkor az érték megközelíti a 0 -t, és ha a nedvesség alacsony, akkor az érték megközelíti a 100 -at.
Az érték ábrázolásának megkönnyítése és a felhasználó olvasási zavarainak elkerülése érdekében megfordítjuk ezt a logikát, és azt állítjuk, hogy 0% alacsony páratartalom és 100% magas páratartalom lesz. Ezt a feltérképezést követő számítással végeztük.
nedvesség = 100 - UmidityPercent;
A nedvességérték leolvasása után meg kell jeleníteni a kijelzőn. A következő lépés annak ellenőrzése, hogy az alábbi feltételeknek megfelelően a nedvességérték eltér -e plusz 1 vagy mínusz 1 értékétől.
if ((nedvesség> [PreviousValue] +1) || (nedvesség <(PreviousValue)- 1))
Ez a feltétel arra szolgál, hogy a rendszer ne jelenítse meg ugyanazt az értéket többször a kijelző LCD -n. Ha azonban a feltétel igaz, a rendszer megjeleníti az értéket az LCD -n, és ellenőrzi, hogy az érték nagyobb vagy egyenlő, mint 60%, vagy kevesebb, mint 60%. Ha az érték 60%-nál nagyobb vagy egyenlő, a rendszer jelen van a Magas nedvesség üzenetet, különben jelenítse meg az Alacsony nedvesség üzenetet, amint az alább látható.
if ((nedvesség> (Előzőérték) +1) || (nedvesség <(Előzőérték)- 1)) {lcd.setCursor (1, 0); lcd.print ("Nedvesség:"); lcd.print (""); lcd.setCursor (11, 0); lcd.print (nedvesség); lcd.print ("%"); if (nedvesség = 60 && HighUmid == 0) {lcd.setCursor (2, 1); lcd.print (""); lcd.setCursor (1, 1); lcd.print ("Magas nedvesség"); HighUmid = 1; LowUmid = 0; } PreviousValue = nedvesség; }
Végül a rendszer eltárolja a nedvesség változó értékét az PreviousValue változóban, hogy aktualizálja annak értékét. Minden alkalommal, amikor új érték jelenik meg a kijelzőn, az PreviousValue változó aktualizálásra kerül, hogy a kód más feldolgozási ciklusaiban használható legyen. Ezért ez egy egyszerű rendszer, amelyet a növények nedvességének nyomon követésére használnak a maradékokban, és tájékoztatják a felhasználókat a talaj nedvességtartalma.
5. lépés: Köszönetnyilvánítás
A Silícios Lab megköszöni a PCBWay támogatását és együttműködését. És sok előnyünk van az Ön számára. Keressen 10 ingyenes PCB -t és sok babérmét (tudjon meg többet) a PCBWay webhelyen található termékekért.
Rajtuk kívül a Silícios Lab köszönetet mond az UTSOURCE -nak a támogatásáért, amiért kiváló minőségű és jó szolgáltatást nyújtó olcsó elektronikus alkatrészeket kínál nekünk.
Ajánlott:
Ultra alacsony fogyasztású WiFi otthoni automatizálási rendszer: 6 lépés (képekkel)
Rendkívül kis teljesítményű WiFi otthoni automatizálási rendszer: Ebben a projektben megmutatjuk, hogyan lehet néhány lépésben felépíteni egy alapvető helyi otthoni automatizálási rendszert. Raspberry Pi -t fogunk használni, amely központi WiFi eszközként fog működni. Míg a végcsomópontokhoz az IOT Cricket -et fogjuk használni az akkumulátor előállításához
Lézeres biztonsági riasztási projekt Arduino használatával: 5 lépés
Lézeres biztonsági riasztási projekt Arduino használatával: A lézeres biztonsági riasztás széles körben elterjedt iparágak és más reklámok. Ennek oka az, hogy a lézert kevésbé hajlamosak befolyásolni a környezeti feltételek, ami megbízhatóvá és megbízhatóvá teszi. Tehát ebben az Arduino projektben lézert használtam
Shelly energiafogyasztás riasztási jel: 8 lépés
Shelly energiafogyasztási riasztási jel: FIGYELMEZTETÉS Ezt az utasítást olyan személynek kell elvégeznie, aki jó villanyszerelővel rendelkezik. Nem vállalok felelősséget az embereket és dolgokat veszélyeztető veszélyekért. meghaladja a fogyasztást
Hálózati rivalizálás: alacsony késleltetésű játék a BBC Micro számára: bit: 10 lépés (képekkel)
Hálózati rivalizálás: alacsony késleltetésű játék a BBC Micro számára: bit: Ebben az oktatóanyagban elmagyarázom, hogyan valósítson meg egy alapvető többjátékos játékot a BBC mikro: bit-en a következő funkciókkal: Egyszerű felület Alacsony késleltetés a gombnyomások és a képernyőfrissítések Rugalmas résztvevők száma Easy co
Alexa függönyvezérlő rendszer - 3D nyomtatás és alacsony költség: 19 lépés (képekkel)
Alexa függönyvezérlő rendszer - 3D nyomtatható és alacsony költségű: Üdvözlöm, régóta próbálom a házunk lehető legnagyobb részét automatizálni. Ahogy megérkezik a tél ide, az Egyesült Királyságba, úgy döntöttem, hogy eltávolítom azt a feladatot, hogy este lezárom az összes függönyt, majd reggel újra kinyitom őket. Ez azt jelenti, hogy futok