Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-23 15:02
Witam chłopaków Dzisiaj przedstawiam wam mój drugi projekt dotyczący instrukcji. Ten projekt przedstawia mieszankę mojego pierwszego projektu, w którym użyłem czujnika wilgotności gleby i czujnika DHT22, który służy do pomiaru temperatury i wilgotności. Ten projekt jest łatwy do wykonania, a ludzie korzystający z Arduino poczują, że jest on interesujący. Różnica między tym projektem a pierwszym polega na tym, że w tym projekcie użytkownik będzie miał menu, w którym będzie mógł wybrać to, co chce w danym momencie zobaczyć. Będą cztery opcje. Więc chwyć swój zestaw i zacznij tworzyć ten projekt, który można wykorzystać w każdym domu.
Krok 1: Uzyskanie wszystkich części
Ten projekt wykorzystuje niewiele części. Te części są bardzo tanie, więc nie martw się o cenę. Niektóre części użyte w tym projekcie można zmienić, dzięki czemu projekt może być tańszy w wykonaniu. To od Ciebie zależy, które z rekomendowanych części zamierzasz wykorzystać i uczynić ten projekt jeszcze lepszym. Części użyte w tym projekcie:
- Arduino uno rev3 (możesz również użyć innego Arduino)
- Deska do krojenia chleba
- Wyświetlacz LCD 1602 zielony z I2C (można też użyć wyświetlacza bez I2C, ale do podłączenia potrzeba więcej pinów)
- 16-przyciskowa klawiatura (wymienna)
- FC-28-d Moduł wykrywania higrometru gleby + czujnik wilgotności gleby
- Czujnik temperatury i wilgotności DHT22 (możesz użyć DHT11, który jest tańszy)
- Czerwona dioda LED
- Niebieska dioda LED
- 2 rezystory 220 omów (używane do diod)
- Rezystor 4k7 używany do DHT22 na schemacie
- Złącze baterii Arduino
- Kilka kabli rozruchowych do podłączenia wszystkich części
Jedną rzeczą, którą muszę ci powiedzieć, zanim zaczniesz budować ten projekt, jest to, że klawiatura nie jest potrzebna. Tym razem użyłem klawiatury, ponieważ mój enkoder obrotowy był zepsuty. Myślę, że ten projekt byłby idealny, gdyby miał enkoder obrotowy, ponieważ używałby mniejszych pinów lub może używać 3 przycisków.
Krok 2: Łączenie wszystkich części razem
W tym kroku możesz zobaczyć schemat, który wykonałem z fritzem. Napiszę gorąco, aby połączyć każdą kluczową część tego projektu.
Jak widać używamy 5V i GND z arduino do zasilania płytki stykowej.
LCD:
- VCC do 5v (+ część na płytce stykowej)
- GND do gnd (- część na płytce stykowej)
- SDA do pinu analogowego A4
- SCL do pinu analogowego A5
Klawiatura z 16 przyciskami:
Do podłączenia manipulatora używamy pinów 9, 8, 7, 6, 5, 4, 3, 2 (dlatego użyłbym enkodera obrotowego, bo zajęłoby tylko 3 piny na płytce)
Czujnik wilgotności gleby:
- VCC do 5v (+ część na płytce stykowej)
- GND do GND (-część na płytce stykowej)
- D0 do cyfrowego pinu 0
- A0 do pinu analogowego A0
DHT22:
- VCC do 5v (+ część na płytce stykowej)
- GND do GND (-część na płytce stykowej)
- Pin wyjściowy jest połączony z pinem 12
Podłączanie diody:
- jedna część diody wchodzi w - część płytki stykowej
- druga część przechodzi przez rezystor 220 omów a następnie jest podłączona do pinu 10 (dioda niebieska) lub 11 (dioda czerwona)
Krok 3: Pisanie kodu
Postaram się wyjaśnić kod w kilku częściach. Zostanie również napisany pełny kod, dzięki czemu można go skopiować, a także zmienić, jeśli zajdzie taka potrzeba. Również w tym kodzie napisano kilka metod pracy z czujnikami, ale tym razem główny nacisk położono na stworzenie menu, które będzie łatwe do zrozumienia dla osób, które są nowe z Arduino. Tym razem nie używam żadnych przerwań, ale w następnych projektach to zrobię, więc pamiętaj, że ten kod może być znacznie lepszy z przerwaniami.
- Pierwsza część kodu zawiera wszystkie użyte biblioteki dla tego projektu. Pamiętaj, że do wszystkich części, o których mówiłem, że używam, potrzebujesz kolejnych bibliotek: Wire, LiquidCrystal_I2C, Keypad i DHT. Wszystkie biblioteki można znaleźć w Arduino IDE, jeśli przejdziesz do części szkicu, a następnie w bibliotekach dołączonych. Należy również pamiętać, że jeśli używasz czegoś takiego jak enkoder obrotowy, prawdopodobnie będziesz musiał uzyskać nowe biblioteki zamiast klawiatury, którą prawdopodobnie byłyby obrotowe.h i przycisk. Jeśli używasz czujnika DHT11, biblioteka nadal jest DHT.
- W drugiej części kodu będzie zdefiniowanie wszystkich używanych części. Przede wszystkim LCD. Za nim znajduje się czujnik DHT, który jest podobny do obiektu z czujnikiem typu dht, a także pin, do którego jest podłączony. Czujnik wilgotności gleby i diody są trzecim.
- Klawiaturę opiszę nieco więcej. Jak powiedziałem, mój enkoder obrotowy był zepsuty, więc postanowiłem go użyć. Do tego projektu wystarczą tylko cztery przyciski, nawet trzy są do tego dobre. Więc używam czterech przycisków na klawiaturze tylko dla jednej opcji. Możesz użyć niektórych przycisków, jeśli chcesz coś innego, jeśli masz pomysł. W tej części musisz zdefiniować wiersze i kolumny. Następnie hexaKeys będą reprezentować opcje używane w tym projekcie. W moim projekcie są B (tył), U (góra), D (dół) i A (akceptuję). Możesz sprawić, by każdy przycisk robił coś innego. Jeden przycisk może włączyć podświetlenie, można je wyłączyć. Więc nie krępuj się bawić z tym więcej
- W tej części znajdują się zmienne globalne używane w kodzie. Zmienne Bool są używane do zmiany ekranu. Zmienna Welcome jest prawdziwa przez kilka sekund tylko po włączeniu arduino i, po czym przez resztę czasu będzie fałszywa. Główny nacisk kładziony jest na zmienną mainScreen. Ta zmienna służy do prowadzenia cię z menu do dowolnej innej opcji w kodzie. Jeśli ta zmienna jest fałszywa, oznacza to, że użytkownik zdecydował się skorzystać z jednej z czterech opcji tego projektu.
- Tutaj są napisane wszystkie metody użyte w tym kodzie. Postaram się wyjaśnić wszystkie pisane metody w tej części
- void startScreen(); // metoda uruchamiania projektu i arduino
- int wybórNumer(int wybór); // to zmienia twój wybór opcji projektu. Liczba idzie od 1 do 4
- void mainScreenP(int wybór); //zostaną zapisane cztery opcje tworzonego urządzenia
- bool mainScreenCS(bool mainScreen); //to zmienia mainScreen na false
- bool mainScreenBack(bool mainScreen); //to zmienia mainScreen na true
- nieważna tempCelsjusz(); // odczyt temperatury w opcji czujnika C DHT
- nieważna tempFarenheit(); // odczyt temperatury w opcji czujnika F DHT
- void printHumidity(); // odczyt czujnika wilgotności DHT opcja
- void readSensorData(); // odczyt danych z podłączonych czujników
- String pobierzTemperaturaC();
- String pobierzTemperaturaF();
- PobierzHumidity();
- void glebyMoisture(); // to dla innego czujnika i diod
- void printSensorSoilMoisture(); // drukowanie części wilgotności gleby na lcd
- void diodeLights (wartość int); // włączanie i wyłączanie diod
- void printValue(wartość int);
6. Konfiguracja dla arduino to część, w której ustawiasz czujnik LCD i DHT, a także diody
7. Część główna to część, w której wykorzystywane są wszystkie opisane powyżej metody.
Pełny kod tego projektu będzie w załączniku do tego kroku. Należy pamiętać, że istnieje możliwość, że piny może nie są połączone jak na schemacie, myślę, że diody są zmienione.
Krok 4: Korzystanie z Arduino
To chyba najzabawniejsza część. Przynajmniej jest śmieszniej po napisaniu całego kodu. W tej części możesz zobaczyć zdjęcia jak działa projekt. Dostępne są 4 opcje.
- Odczyt temperatury w stopniach Celsjusza
- Odczytywanie temperatury w stopniach Fahrenheita
- Odczytywanie wilgotności
- Włączanie diod i odczytywanie wartości czujnika wilgotności gleby.
Możesz wybrać dowolną z możliwych opcji, możesz także wrócić i wybrać ponownie, jeśli chcesz zobaczyć coś innego. Prosty i łatwy w użyciu.
Jeśli jest jakieś inne pytanie, możesz mnie zadać. Dziękuję za obejrzenie mojego projektu. Z całym szacunkiem. Sebastiana
Zalecana:
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ą
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
Jak korzystać z czujnika wilgotności gleby za pomocą Arduino: 4 kroki
Jak korzystać z czujnika wilgotności gleby za pomocą Arduino: Czujnik wilgotności gleby to czujnik, który może być używany do pomiaru wilgotności gleby. Nadaje się do tworzenia prototypów projektów Smart Farming, projektów sterowników nawadniania lub projektów IoT Agriculture. Ten czujnik ma 2 sondy. Który służy do
Hydroizolacja pojemnościowego czujnika wilgotności gleby: 11 kroków (ze zdjęciami)
Wodoodporność pojemnościowego czujnika wilgotności gleby: Pojemnościowe czujniki wilgotności gleby to świetny sposób na monitorowanie stanu wody w glebie w roślinach doniczkowych, ogrodzie lub szklarni za pomocą Arduino, ESP32 lub innego mikrokontrolera. Przewyższają sondy oporowe często stosowane w projektach DIY. Widzieć
Plan testowania czujnika wilgotności gleby: 6 kroków (ze zdjęciami)
Plan testowania czujnika wilgotności gleby: Wyzwanie: Zaprojektuj i wykonaj plan, który zapali CZERWONĄ diodę LED, gdy gleba jest mokra, a ZIELONĄ diodę LED, gdy gleba jest sucha. Będzie to wymagało użycia czujnika wilgotności gleby. Cel: Celem tej instrukcji jest sprawdzenie, czy pada deszcz i czy roślina