Spisu treści:
- Kieszonkowe dzieci
- Krok 1: Rozwój projektu
- Krok 2: Wkładanie czujnika wilgoci do obwodu
- Krok 3: Zrozum wartości wilgotności
- Krok 4: Programowanie logiczne
- Krok 5: Podziękowania
Wideo: System ostrzegania o niskiej wilgotności gleby dla Twojej rośliny: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:28
W kilku rezydencjach często można znaleźć słoiki z różnymi rodzajami roślin. A przy dużej liczbie codziennych czynności ludzie zapominają o podlewaniu roślin i umierają z braku wody.
Aby uniknąć tego problemu, postanowiliśmy stworzyć system informujący o braku wody w roślinie. W ten sposób nigdy nie zapomnisz nawodnić swojej rośliny i będzie ona żywa przez długi czas. Następnie przedstawimy cały rozwój tego projektu.
Kieszonkowe dzieci
- PCBWay Niestandardowa płytka drukowana
- Analogowy czujnik wilgotności gleby dla Arduino
- Arduino UNO
- Przewody połączeniowe (ogólne)
- Standardowy wyświetlacz LCD - 16 x 2 niebieski
- Potencjometr obrotowy UTSOURCE 10k
Krok 1: Rozwój projektu
Jednym ze sposobów, których używamy do wykrywania ilości wody w roślinie, jest parametr wilgotności. Tak więc im mniej wody znajduje się w słoiku naszej rośliny, tym niższa wilgotność gleby.
Dlatego musimy użyć czujnika wilgotności, aby przeanalizować stan nawilżenia w naszym zakładzie.
Za jego pośrednictwem zestawiliśmy obwód montowany w płytce stykowej z Arduino, aby przeprowadzić monitorowanie i sygnalizację niskiej wilgotności słoika kaktusa. Tak więc za pomocą wyświetlacza LCD informujemy naszego użytkownika o wilgotności, jak pokazano na rysunku 1.
Krok 2: Wkładanie czujnika wilgoci do obwodu
Z powyższego obwodu wstawimy sondę do pomiaru wilgotności w instalacji, którą chcemy monitorować. W naszym projekcie wkładamy sondę do małego kaktusa, jak pokazano na rysunku 2.
Teraz zobaczymy, jak projektować pracę krok po kroku, a następnie nauczymy się tworzyć kod sterujący. Początkowo, gdy nie podłączymy czujnika wewnątrz słoika, urządzenie ma niską wilgotność 2% na zewnątrz słoik kaktusa. Widać to na rysunku 3.
Krok 3: Zrozum wartości wilgotności
Ta niska wartość procentowa reprezentuje niską wilgotność. Teraz po włożeniu czujnika do gleby słoika z kaktusami wyświetli się wartość 36%, jak pokazano na Rysunku 4. Czyli nasza wilgotność jest niska i system wyświetla komunikat Low Moisture bo wartość jest mniejsza niż 60%.
Kolejnym krokiem jest nawodnienie gleby dzbanka naszego kaktusa i możemy zweryfikować wzrost wartości wilgotności do 69%.
Po zrozumieniu działania projektu przedstawimy całą logikę budowy, aby stworzyć ten system monitorowania. Zacznijmy!
Krok 4: Programowanie logiczne
Następnie logika programowania zostanie przedstawiona za pomocą skonstruowanego kodu.
Początkowo zadeklarowano bibliotekę Display LCD, zmiennych oraz utworzono obiektowy LCD z jego wyprowadzeniami połączenia z Arduino UNO.
#włączać
#define sensor A0 bool LCDControl = 0, LowUmid = 0, HighUmid = 0; bajt UmidityPercent = 0, wilgotność = 0, PreviousValue = 0; int WartośćUmidada = 0, WartośćAnalogowa = 0; const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7; LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
Następnie zainicjalizowano funkcję konfiguracji i wyświetlacz LCD 16x2, a pin czujnika został skonfigurowany jako wejście. Na koniec dokonaliśmy pierwszego odczytu naszego czujnika i użyliśmy go jako odniesienia dla zmiennej PreviousValue, jak pokazano poniżej.
{Serial.początek (9600); lcd.początek(16, 2); pinMode(czujnik, WEJŚCIE); PoprzedniaWartość = odczyt analogowy (czujnik); }
Za pomocą utworzonych zmiennych i poleceń w funkcji void setup wyjaśnimy całe programowanie logiczne w funkcji pętli.
//Le o valor do pino A0 do sensorAnalogValue = analogRead(sensor); //Mostra o valor da porta analogica bez monitora szeregowego Serial.print("Port analogowy: "); Serial.println(Wartość Analogowa); UmidityPercent = map(AnalogValue, 0, 1023, 0, 100); wilgotność = 100 - UmidityPercent;
W funkcji pętli odczytano wartość analogową i odwzorowano ją w zakresie od 0 do 100. Wartość ta reprezentuje procent wilgotności gleby. Gdy wilgotność jest wysoka, wartość zbliża się do 0, a jeśli wilgotność jest niska, wartość zbliża się do 100.
Aby ułatwić przedstawienie wartości i zapobiec mylącemu odczytowi przez użytkownika, odwracamy tę logikę i przedstawiamy, że 0% będzie niską wilgotnością, a 100% wysoką wilgotnością. Dokonano tego za pomocą obliczeń wykonanych po mapowaniu.
wilgotność = 100 - UmidityPercent;
Po odczytaniu wartość wilgotności należy przedstawić na wyświetlaczu LCD. Następnym krokiem jest sprawdzenie, czy wartość wilgotności różni się od jej wartości plus 1 lub jej wartości minus 1, zgodnie z poniższym warunkiem.
if((wilgotność > (PoprzedniaWartość)+1) || (Wilgotność < (PoprzedniaWartość)- 1))
Warunek ten służy do zapobiegania kilkukrotnemu wyświetlaniu przez system tej samej wartości na wyświetlaczu LCD. Ale gdy warunek jest spełniony, system wyświetli wartość na wyświetlaczu LCD i zweryfikuje, czy wartość jest większa lub równa 60% lub mniejsza niż 60%. Jeśli wartość była większa lub równa 60%, system komunikat Wysoka wilgotność, w przeciwnym razie wyświetl komunikat Niska wilgotność, jak pokazano poniżej.
if((wilgotność > (PoprzedniaWartość)+1) || (Wilgotność < (PoprzedniaWartość)- 1)) { lcd.setCursor(1, 0); lcd.print("Wilgotność: "); lcd.print(" "); lcd.setCursor(11, 0); lcd.print(wilgoć); lcd.print("%"); if(wilgotność = 60 && HighUmid == 0) { lcd.setCursor(2, 1); lcd.print(" "); lcd.setCursor(1, 1); lcd.print("Wysoka wilgotność"); Wysoki Umid = 1; NiskiUmid = 0; } PoprzedniaWartość = wilgoć; }
Na koniec system zapisze wartość zmiennej wilgotności w zmiennej PreviousValue, aby zaktualizować jej wartość. Za każdym razem, gdy na wyświetlaczu prezentowana jest nowa wartość zmienna PreviousValue jest aktualizowana do wykorzystania w innych cyklach przetwarzania kodu. Dlatego jest to prosty system służący do monitorowania wilgotności roślin w naszych rezydencjach i informowania użytkowników o poziom wilgotności gleby.
Krok 5: Podziękowania
Laboratorium Silícios dziękuje PCBWay za wsparcie i współpracę. I mamy dla Ciebie wiele korzyści. Zdobądź 10 darmowych PCB i dużo monet fasoli (Dowiedz się więcej), aby handlować produktami na stronie PCBWay.
Oprócz nich Silícios Lab dziękuje firmie UTSOURCE za wsparcie, za oferowanie nam tanich komponentów elektronicznych o doskonałej jakości i dobrej obsłudze.
Zalecana:
Solarny miernik wilgotności gleby z ESP8266: 10 kroków (ze zdjęciami)
Solarny miernik wilgotności gleby Z ESP8266: W tej instrukcji tworzymy monitor wilgotności gleby zasilany energią słoneczną. Wykorzystuje mikrokontroler Wi-Fi ESP8266 o niskim poborze mocy, a wszystko jest wodoodporne, więc można je pozostawić na zewnątrz. Możesz dokładnie postępować zgodnie z tym przepisem lub wziąć z niego
Kalibracja czujnika wilgotności gleby: 5 kroków
Kalibracja czujnika wilgotności gleby: Na rynku dostępnych jest wiele mierników wilgotności gleby, które pomagają ogrodnikom zdecydować, kiedy podlewać rośliny. Niestety, złapanie garści ziemi i sprawdzenie koloru i tekstury jest tak samo niezawodne, jak wiele z tych gadżetów! Niektóre sondy nawet rejestrują
Stwórz własny czujnik wilgotności gleby za pomocą Arduino !!!: 10 kroków
Stwórz własny czujnik wilgotności gleby za pomocą Arduino !!!: O !!! W tej instrukcji połączymy czujnik wilgotności gleby FC-28 z Arduino. Ten czujnik mierzy objętościową zawartość wody w glebie i podaje nam poziom wilgotności na wyjściu. Czujnik wyposażony jest zarówno w analogowe
Użyj czujnika wilgotności gleby z Magicbit [Magicblocks]: 5 kroków
Użyj czujnika wilgotności gleby z Magicbit [Magicblocks]: Ten samouczek nauczy Cię używać czujnika wilgotności gleby z Magicbit przy użyciu Magicblocks. Używamy magicbit jako płytki rozwojowej w tym projekcie, który jest oparty na ESP32. Dlatego w tym projekcie można użyć dowolnej płytki rozwojowej ESP32
System monitorowania i kontroli wilgotności gleby oparty na IoT za pomocą NodeMCU: 6 kroków
System monitorowania i kontroli wilgotności gleby oparty na IoT przy użyciu NodeMCU: W tym samouczku zaimplementujemy system monitorowania i kontroli wilgotności gleby oparty na IoT przy użyciu modułu WiFi ESP8266, tj. NodeMCU. Moduł przekaźnika INR – Amazon (130/- INR