Search Code

Koyarwar ESP32 35/55 - Mai Kula da Shuka, ƙasa, zafin jiki da haske | Kayan Koyon IoT na SunFounder's ESP32

Koyarwar ESP32 35/55 - Mai Kula da Shuka, ƙasa, zafin jiki da haske | Kayan Koyon IoT na SunFounder's ESP32

A cikin wannan koyawa, za mu gina na'urar kula da shuka ta amfani da microcontroller na ESP32 daga SunFounder ESP32 IoT Learning Kit. Wannan aikin ya haɗa abubuwa da yawa don kula da damshin ƙasa, zafin jiki, damshin iska, da matakan haske. A ƙarshen wannan jagorar, za ka sami tsarin cikakken aiki wanda zai iya sarrafa da nuna waɗannan mahimman sigogi don kula da shuka. Don cikakken bayani na gani, ka tabbata ka duba bidiyon (a cikin bidiyo a 00:00).

ESP32-25_plant_moitor_schematic

Bayanin Kayan Aiki

Babban abubuwan da aka yi amfani da su a wannan aikin sun haɗa da microcontroller na ESP32, na'urar DHT11, na'urar damshin ƙasa, resistor mai dogaro da haske (LDR), da LCD don nuna bayanai. ESP32 yana aiki a matsayin kwakwalwar tsarin, yana sarrafa bayanai da ayyukan sarrafawa. Yana da Wi-Fi da Bluetooth na ciki, yana ba da zaɓuɓɓukan haɗi don sa ido daga nesa.

photoresistor
DHT11 Module
DHT11 Module

Na'urar DHT11 tana auna zafin jiki da damshin iska, yayin da na'urar damshin ƙasa ke gano matakan damshi a cikin ƙasa. LDR tana auna ƙarfin haske na yanayi, yana ba da damar fahimtar yanayin hasken shuka. Kowane ɓangare yana taka muhimmiyar rawa wajen tabbatar da lafiyar shuka ta hanyar samar da bayanai na ainihin lokaci.

Cikakkun Bayanan Datasheet

Manufacturer SunFounder
Part number DHT11
Logic/IO voltage 3.3 V
Supply voltage 5 V
Output current (per channel) 20 mA
Peak current (per channel) 50 mA
PWM frequency guidance N/A
Input logic thresholds 0.3 VCC (low), 0.7 VCC (high)
Voltage drop / RDS(on) / saturation N/A
Thermal limits 0°C to 50°C
Package DIP
Notes / variants Compatible with DHT22

 

  • Ka tabbatar da matakan wutar lantarki da suka dace ga kowane ɓangare (5V ga direban mota, 3.3V ga na'urori).
  • Yi amfani da resistors na ƙasa don maɓallan turawa don hana shigar da ba a so.
  • Ka kiyaye wayoyi a tsabta don guje wa rudani da yuwuwar gajeriyar kewayawa.
  • Ka tabbatar da haɗin kai kafin kunna wutar lantarki don hana lalacewa.
  • Ka duba wayar DHT11 saboda tana kula da haɗin da ba daidai ba.

Umarnin Haɗin Waya

ESP32-25_plant_moitor_wiring

Don haɗa abubuwan, fara da haɗa layin wutar lantarki da ƙasa. ESP32 ya kamata a kunna shi da baturin lithium, haɗa madaidaicin terminal zuwa layin VCC da ƙasa zuwa layin GND akan breadboard. Fil ɗin bayanan na'urar DHT11 yana haɗawa zuwa PIN 13, yayin da VCC ɗinsa ke zuwa layin 3.3V da GND zuwa ƙasa. Na'urar damshin ƙasa tana haɗawa kamar haka: fil ɗin sigina zuwa PIN 14, VCC zuwa 3.3V, da GND zuwa ƙasa.

Ga LDR, haɗa fil ɗaya zuwa layin 3.3V da ɗayan zuwa PIN 35, tare da resistor na 10k ohm da aka haɗa daga LDR zuwa ƙasa. Nunin LCD yana haɗawa zuwa layin 5V don wutar lantarki kuma yana amfani da fil ɗin SDA da SCL waɗanda aka haɗa zuwa PIN 21 da PIN 22, bi da bi. A ƙarshe, haɗa maɓallin turawa zuwa PIN 32 tare da resistor na ƙasa da aka haɗa zuwa ƙasa, yana tabbatar da cewa yana karanta low lokacin da ba a danna shi ba kuma high lokacin da aka danna shi.

Misalan Code & Bayani

Jigon shirinmu yana farawa da ayyana fil ɗin kowane ɓangare. Misali, DHTPIN an sanya shi zuwa PIN 13 don na'urar DHT11, yayin da MOIS_PIN an saita shi zuwa PIN 14 don na'urar damshi. Wannan tsari yana taimakawa wajen kiyaye abin da na'urar ke haɗawa da wane fil.


#define DHTPIN 13     // Saita fil ɗin da aka haɗa zuwa fil ɗin bayanan DHT11
#define MOIS_PIN 14 // Module na damshin ƙasa
#define LIGHT_PIN 35 // Photoresistor

Na gaba, muna fara na'urar DHT da nunin LCD a cikin aikin setup(). Wannan yana da mahimmanci saboda yana shirya waɗannan abubuwan don aiki. Tabbatar da kiran dht.begin() yana da mahimmanci don na'urar DHT ta fara karanta ƙimar daidai.


void setup() {
  Serial.begin(115200);
  dht.begin();  // Fara DHT11
  lcd.init();  // Fara LCD
  lcd.backlight();
}

A cikin aikin loop(), muna ci gaba da karanta ƙimar zafin jiki da damshin iska, muna nuna su akan LCD. Idan an danna maɓallin, ana kunna motar don shayar da shuke-shuke. Wannan dabara tana amfani da karatun dijital na fil ɗin maɓallin don tantance ko za a kunna ko kashe motar.


void loop() {
  float humidity = dht.readHumidity();
  float temperature = dht.readTemperature();
  if (digitalRead(BUTTON) == HIGH) {
    digitalWrite(motor1A, HIGH); // Kunna famfon ruwa
  } else {
    digitalWrite(motor1A, LOW); // Kashe famfon ruwa
  }
  delay(2000);
}

Wannan tsarin lambar yana ba da damar kwararar bayanai da sarrafawa a sarari, yana tabbatar da cewa mai kula da shuka yana aiki yadda ya kamata. Don ƙarin bayani, cikakken lambar yana ƙasa da labarin.

Nuni / Abin da za a Yi Tsammani

Bayan kammala saitin da loda lambar, LCD ya kamata ya nuna karatun zafin jiki da zafi a madadin matakan danshi da haske. Lokacin da aka danna maɓallin turawa, famfon ruwa ya kamata ya kunna, yana isar da ruwa ga shuka. Tabbatar cewa duk haɗin suna da aminci don guje wa matsaloli kamar shigar da ba ta da tushe ko karatun da ba daidai ba (a cikin bidiyo a 05:30).

Kula da ƙimar da aka nuna akan LCD da serial monitor zai taimaka tabbatar da tsarin yana aiki daidai. Idan kun haɗu da matsaloli, sake duba wayoyi kuma tabbatar da cewa duk abubuwan suna da wutar lantarki da ta dace.

Lokutan Bidiyo

  • 00:00 Fara
  • 2:23 Gabatarwar Aikin
  • 4:02 Shafin Docs
  • 7:43 1-L293D Direban Motar Famfon
  • 14:30 2-Maɓallin Turawa don Famfon
  • 16:35 3-DHT11 Sensor Zafin Jiki da Zafi
  • 19:26 4-Slild Sensor Danshi
  • 21:43 5-Sensor Haske
  • 24:47 6-Sensor Danshin Ƙasa
  • 26:01 Cikakken Lambar Arduino na Kula da Shuka
  • 29:21 Nuni

Hotuna

DHT11 Module
DHT11 Module
5V DC water pump
5V DC water pump
soil_mositure_module
soil_mositure_module
photoresistor
photoresistor
ESP32-25_plant_moitor_schematic
ESP32-25_plant_moitor_schematic
ESP32-25_plant_moitor_wiring
ESP32-25_plant_moitor_wiring
836-ESP32 Tutorial 35/55- Arduino code for plant monitor
Harshe: C++
#include "DHT.h"
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

#define DHTPIN 13     // Set the pin connected to the DHT11 data pin
#define MOIS_PIN 14 // Soil mOisture module
#define LIGHT_PIN 35 // Photoresistor
#define motor1A 27 // Pump pin
#define motor2A 26 // Pump pin
#define BUTTON 32 // Button

#define DHTTYPE DHT11  // DHT 11
DHT dht(DHTPIN, DHTTYPE);

int page = 0;

LiquidCrystal_I2C lcd(0x27, 16, 2);

void setup() {

  Serial.begin(115200);

  // Initialize the dht11
  dht.begin();

  lcd.init();  // initialize the lcd
  lcd.backlight();
  lcd.clear();

  // initialize digital pin as an output.
  pinMode(motor1A, OUTPUT);
  pinMode(motor2A, OUTPUT);

  pinMode(BUTTON, INPUT);
}

void loop() {

  // Reading temperature or humidity takes about 250 milliseconds!
  // Sensor readings may also be up to 2 seconds 'old' (it's a very slow sensor)
  float humidity = dht.readHumidity();
  // Read temperature as Celsius (the default)
  float temperature = dht.readTemperature();

  // Check if any reads failed and exit early (to try again).
  if (isnan(humidity) || isnan(temperature)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }

  lcd.clear();
  // Show message per 2 second
  if ((page++) % 2) {
    // Display temperature and humidity
    lcd.setCursor(0, 0);
    lcd.print("Humi: ");
    lcd.print(humidity);
    lcd.print("%");
    lcd.setCursor(0, 1);
    lcd.print("Temp: ");
    lcd.print(temperature);
    lcd.print("\xDF");
    lcd.print("C");
  } else {
    // Display moisture and light sensor values
    lcd.setCursor(0, 0);
    lcd.print("Mois: ");
    lcd.print(analogRead(MOIS_PIN));
    lcd.setCursor(0, 1);
    lcd.print("Light: ");
    lcd.print(analogRead(LIGHT_PIN));
  }
  // Water plant while button pressed
  Serial.println(digitalRead(BUTTON));
  if (digitalRead(BUTTON) == HIGH) {
    // Turn on water pump if button is pressed
    digitalWrite(motor1A, HIGH);
    digitalWrite(motor2A, LOW);
  } else {
    // Turn off water pump if button is not pressed
    digitalWrite(motor1A, LOW);
    digitalWrite(motor2A, LOW);
  }

  delay(2000);
}

Abin da zaka iya bukata

Albarkatun da kuma shafukan da za a duba

Fayiloli📁

Fayil Fritzing