Networks Business Online Việt Nam & International VH2

Cảm biến độ ẩm | Hệ thống tưới tự động sử dụng Arduino

Đăng ngày 16 March, 2023 bởi admin

Cảm biến độ ẩm | Hệ thống tưới tự động sử dụng Arduino

Nội dung bài viết hôm nay mình sẽ hướng dẫn cho các bạn một dự án giám sát độ ẩm trong nông nghiệp, phù hợp cho những vườn rau nhỏ. 

Để đảm bảo độ ẩm trong đất đạt mức tốt nhất. Trong dự án này ngoài việc đọc độ ẩm và được hiển thị lên LCD16X2, còn có thể điều chỉnh độ ẩm ở mức phù hợp.

Khi nhiệt độ nhỏ hơn mức độ ẩm được setup thì sẽ cho bơm hoạt động giải trí phân phối nước để đổ ẩm đạt mức tốt nhất .

Sơ đồ đấu nối

Các linh kiện cần thiết cho dự án

Code

#include  
#include 
LiquidCrystal_I2C lcd(0x27,16,2);
#define doam A0
#define pot A2
#define relay 8

int doamdat;
int bientro;
bool trangthai;
bool first = true;
unsigned long timeBom;

void hienthi(int DoAm, int Nguong){
  /////////// Do am //////////
  lcd.setCursor(10,0);
  lcd.print(DoAm);
  if(DoAm <=9)
  {
    lcd.print("  %");
  }
  else if(DoAm <=99)
  {
    lcd.print(" %");
  }
  else{
   lcd.print("%"); 
  }
  ////////// Bien tro //////////////
  lcd.setCursor(10,1);
  lcd.print(Nguong);
   if(Nguong <=9)
  {
    lcd.print("  %");
  }
  else if(Nguong <=99)
  {
    lcd.print(" %");
  }
  else{
   lcd.print("%"); 
  }
}

void setup() {
  Serial.begin(9600);//Mở cổng Serial ở mức 9600
  pinMode(relay,OUTPUT);
  lcd.init();
  lcd.backlight();  
  lcd.setCursor(1,0);
  lcd.print(" Do am: ");
  lcd.setCursor(0,1);
  lcd.print(" Bientro: ");
  digitalWrite(relay, HIGH);
  Serial.println("Tuoi cay tu dong");
}

void loop() {
  
  doamdat = analogRead(doam);
  doamdat = map(doamdat, 1023,0,0,100);
  bientro = analogRead(pot);
  bientro = map(bientro, 0,1023,0,100);
  hienthi(doamdat,bientro);
  delay(1000);

  if(doamdat < bientro){
    if(first){
      Serial.println("Bat bom");
      digitalWrite(relay,LOW);
      trangthai = true;
      timeBom = millis();
      Serial.println(String("Time bat: ") + timeBom);
      first = false;
    }
  }
  if(((millis() - timeBom) > 10000) && trangthai == true){
    Serial.println("Tat bom");
    Serial.println(String("Time tat: ") + millis());
    digitalWrite(relay, HIGH);
    trangthai = false;
    first = true;
  }

}

Thư viện

  • Các bạn có thể tải code tìm địa chỉ bus ở đây. Tải ngay.
  • Thư viện LiquidCrystal_I2C.h: Tải ngay.

Lời kết

Tham gia cộng đồng Arduino KIT Để nhận được nhiều kiến thức bổ ích, các bạn Đăng ký để nhận thông báo khi có bài viết mới nhé. Tham gia Cộng đồng Arduino KIT để cùng nhau thảo luận và chia sẽ kiến thức về lập trình Arduino. Nếu các bạn thấy bài viết bổ ích nhớ LikeShare cho mọi người cùng học nhé.

Bài viết liên quan

Bạn sẽ học được gì

  • Có kiến thức cơ bản về Robotics
  • Chế tạo Robot dò đường thông minh
  • Đánh thức nhà khoa học bên trong bạn
  • Tìm hiểu thêm về Robotics, các thuật toán Robot tự động
  • Kiến thức nền tảng để chế tạo các máy móc tự động phục vụ đời sống sinh hoạt, lao động sản xuất
  • Kiến thức để chế tạo sản phẩm, tham gia các cuộc thi khoa học công nghệ trong nước và quốc tế

KHÓA HỌC
CHẾ TẠO ROBOT DÒ ĐƯỜNG

ĐĂNG KÝ NGAY

Đã có 284 học viên ĐK

Share

Pin

1

1 Shares

Source: https://vh2.com.vn
Category : Công Nghệ