Projekt czujnika i wilgotności gleby Arduino DHT22 z menu: 4 kroki
Projekt czujnika i wilgotności gleby Arduino DHT22 z menu: 4 kroki
Anonim
Projekt czujnika i wilgotności gleby Arduino DHT22 z menu
Projekt czujnika i wilgotności gleby Arduino DHT22 z menu

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

Uzyskanie wszystkich części
Uzyskanie wszystkich części
Uzyskanie wszystkich części
Uzyskanie wszystkich części
Uzyskanie wszystkich części
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:

  1. Arduino uno rev3 (możesz również użyć innego Arduino)
  2. Deska do krojenia chleba
  3. 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)
  4. 16-przyciskowa klawiatura (wymienna)
  5. FC-28-d Moduł wykrywania higrometru gleby + czujnik wilgotności gleby
  6. Czujnik temperatury i wilgotności DHT22 (możesz użyć DHT11, który jest tańszy)
  7. Czerwona dioda LED
  8. Niebieska dioda LED
  9. 2 rezystory 220 omów (używane do diod)
  10. Rezystor 4k7 używany do DHT22 na schemacie
  11. Złącze baterii Arduino
  12. 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

Łączenie wszystkich części razem
Łą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.

  1. 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.
  2. 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.
  3. 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
  4. 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.
  5. 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

Korzystanie z Arduino
Korzystanie z Arduino
Korzystanie z Arduino
Korzystanie z Arduino
Korzystanie z Arduino
Korzystanie z Arduino
Korzystanie z Arduino
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.

  1. Odczyt temperatury w stopniach Celsjusza
  2. Odczytywanie temperatury w stopniach Fahrenheita
  3. Odczytywanie wilgotności
  4. 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: