Mục lục:

Giám sát nhà máy với cảnh báo SMS: 5 bước
Giám sát nhà máy với cảnh báo SMS: 5 bước

Video: Giám sát nhà máy với cảnh báo SMS: 5 bước

Video: Giám sát nhà máy với cảnh báo SMS: 5 bước
Video: Hệ thống báo cháy hoạt động như thế nào? | Học Nghề Kỹ Sư Điện & Điện Tử 2024, Tháng Chín
Anonim
Giám sát nhà máy với cảnh báo SMS
Giám sát nhà máy với cảnh báo SMS

Ở đây tôi tạo Giám sát thực vật với cảnh báo SMS. Máy chủ không cần thiết cho hệ thống cảnh báo này. Đây là dự án rất rẻ và đáng tin cậy.

Bước 1: Sơ đồ khối của hệ thống

Sơ đồ khối của hệ thống
Sơ đồ khối của hệ thống

Trong các nhà kính ngày nay, nhiều phép đo thông số được yêu cầu

để giám sát và kiểm soát chất lượng tốt và năng suất của cây trồng. Nhưng để có được kết quả mong muốn, cần có một số yếu tố rất quan trọng như Nhiệt độ, Độ ẩm, Ánh sáng và Đất tốt, cần thiết để cây phát triển tốt hơn. Lưu ý những thông số này, tôi đã xây dựng Hệ thống giám sát nhà máy tự động qua mô-đun GSM bằng cách sử dụng Arduino. Hệ thống này rất hiệu quả để trồng cây chất lượng tốt. Phần quan trọng khác của dự án này là nó hoàn toàn tự động và hoạt động trên điện áp thấp như; Nguồn cung cấp DC 5-12V.

Ngày nay Mô-đun GSM được sử dụng rộng rãi để gửi trạng thái SMS của bất kỳ loại dữ liệu nào. Ở đây trong dự án này bằng cách sử dụng Mô-đun GSM SIM900A, chúng tôi có thể lưu giữ thông tin về ảnh hưởng của khí hậu đối với thực vật. Hệ thống cũng phải chứng minh những thay đổi khí hậu ảnh hưởng đến năng suất và chất lượng của nhà máy, v.v. Mục đích chính của dự án này là xây dựng một Hệ thống giám sát nhà máy tự động trong đó mô-đun GSM gửi thông tin về Nhiệt độ, Độ ẩm, Cường độ ánh sáng, Đất độ ẩm.

Bởi vì tôi là công dân Ấn Độ, đã sử dụng mô-đun SIM900A (A là viết tắt của mạng Châu Á) nhưng bạn có thể sử dụng loại mô-đun SIM khác nhau tùy theo quốc gia của bạn. Các mã AT có thể khác nhau.

Bước 2: Chi tiết thành phần

Chi tiết thành phần
Chi tiết thành phần
Chi tiết thành phần
Chi tiết thành phần
Chi tiết thành phần
Chi tiết thành phần

------------------ Tôi đo lường bốn loại thông số, sẽ

để thảo luận bên dưới: ------------------

Nhiệt độ và độ ẩm

Cảm biến DHT11 được sử dụng để phát hiện nhiệt độ và độ ẩm. Khi nhiệt độ và độ ẩm cao, rễ cây bị tổn thương và cây sinh trưởng không tốt.

Cường độ sáng

Cường độ ánh sáng là một yếu tố quan trọng đối với sự phát triển của cây. Để phát hiện cường độ ánh sáng, LDR (Điện trở phụ thuộc ánh sáng) được sử dụng. Cường độ ánh sáng được đo bằng LUX và do đó để trình diễn, ánh sáng 100 LUX được sử dụng làm mức xác định hoặc mức ngưỡng.

Độ ẩm của đất

Độ ẩm của đất rất quan trọng để cây phát triển tốt. Ở đây Soil sensor được sử dụng để đo độ ẩm trong đất. Sử dụng với cảm biến này, chúng tôi có thể đo dữ liệu đất theo cả hai cách, tương tự cũng như kỹ thuật số.

Thông báo SMS:

Khi giá trị của bất kỳ thông số nào ở trên vượt quá mức xác định hoặc mức quan trọng, hệ thống sẽ tự động gửi SMS cho chủ sở hữu hoặc nhà điều hành kèm theo thông tin về các thông số liên quan và khi giá trị về mức bình thường hoặc dưới mức xác định lại hệ thống sẽ tự động gửi SMS cho chủ sở hữu hoặc nhà điều hành với thông tin dữ liệu liên quan.

Thông báo chỉ gửi một lần cho đến khi tình trạng không thay đổi để chủ sở hữu hoặc nhà điều hành không nhận được SMS thường xuyên. Do đó, yêu cầu gói SMS thấp hơn.

Bước 3: Sơ đồ mạch

Sơ đồ mạch
Sơ đồ mạch

Tất cả các bộ phận này đều có sẵn dễ dàng tại bất kỳ trang web mua sắm trực tuyến nào

hoặc với đại lý phụ tùng điện tử nổi tiếng. Tất cả các bảng dữ liệu thành phần đều có sẵn trên web. Nếu có khó khăn vui lòng liên hệ qua mail của tôi.

Bước 4: Làm việc với video và tệp mã

Video làm việc cuối cùng của dự án

Bước 5: Mã chương trình

#bao gồm

#bao gồm

Màn hình LCD LiquidCrystal (2, 3, 4, 5, 6, 7);

dht DHT; #define dht_dpin A1 #define LUX A0 #define đất A3

float volt, lux, giá trị; int output_value; int nhiệt độ, độ ẩm; int lightflag = 0; int humflag = 0; int landflag = 0; int tempflag = 0; kiểm tra int; int test, test1; độ byte [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};

void setup ()

{Serial.begin (9600); // Khởi tạo nối tiếp để giao tiếp với GSM Modem lcd.begin (16, 2); pinMode (đất, INPUT); lcd.createChar (1, độ); lcd.setCursor (0, 0); lcd.print ("Sức khỏe thực vật"); lcd.setCursor (0, 1); lcd.print ("Monitering"); chậm trễ (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("DỰ ÁN AGRI"); lcd.setCursor (0, 1); lcd.print ("Theo S K CHHAYA"); chậm trễ (1000); lcd.clear (); } void loop () {output_value = analogRead (đất); output_value = map (giá trị đầu ra, 550, 0, 0, 100); giá trị = analogRead (LUX); vôn = (giá trị / 1023.0) * 5; lux = ((2500 / vôn) - 500) / 3,3; trì hoãn (10000); // Cho đủ thời gian để GSM đăng ký trên Network DHT.read11 (dht_dpin); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Nhiệt độ"); lcd.setCursor (0, 1); lcd.print (nhiệt độ = DHT. nhiệt độ); // Dữ liệu tạm thời trên LCD lcd.write (1); lcd.print ("C"); chậm trễ (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Độ ẩm"); lcd.setCursor (0, 1); lcd.print (độ ẩm = DHT. độ ẩm); // Dữ liệu độ ẩm trên LCD lcd.print ("%"); chậm trễ (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Ánh sáng"); lcd.setCursor (0, 1); lcd.print (lux); // Dữ liệu sáng trên LCD lcd.print ("LUM"); chậm trễ (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Độ ẩm"); lcd.setCursor (0, 1); lcd.print (giá trị đầu ra); // Dữ liệu đất trên LCD lcd.print ("%"); chậm trễ (1000); lcd.clear ();

if (nhiệt độ 40) {SendSMS (); // SMS cho Nhiệt độ cao} if (độ ẩm 40) {SendSMS2 (); // SMS cho Độ ẩm cao} if (lux 100) {SendSMS4 (); // SMS cho Light high} if (output_value == 950) {SendSMS7 (); // SMS cho Đất khô} else if (output_value! = 950) {SendSMS6 (); // SMS cho Đất ướt}} void SendSMS () {if (tempflag == 0) {Serial.println ("AT + CMGF = 1"); chậm trễ (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); chậm trễ (500); Serial.print ("Nhiệt độ Cao,"); Serial.print ("Nhiệt độ"); Serial.print (nhiệt độ); Serial.println ("độ C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Nhiệt độ Cao"); chậm trễ (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Nhiệt độ"); lcd.setCursor (0, 1); lcd.print (nhiệt độ); lcd.write (1); lcd.print ("C"); chậm trễ (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Đang gửi SMS"); chậm trễ (1000); lcd.clear (); tempflag = 1; kiểm tra = 0; kiểm tra = 0; chậm trễ (10); }} void SendSMS1 () {if (tempflag == 1) {Serial.println ("AT + CMGF = 1"); chậm trễ (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); chậm trễ (500); Serial.print ("Nhiệt độ Thấp"); Serial.print ("Nhiệt độ"); Serial.print (nhiệt độ); Serial.println ("độ C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Nhiệt độ Thấp"); chậm trễ (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Nhiệt độ"); lcd.setCursor (0, 1); lcd.print (nhiệt độ); lcd.write (1); lcd.print ("C"); chậm trễ (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Đang gửi SMS"); chậm trễ (1000); lcd.clear (); tempflag = 0; kiểm tra = 0; kiểm tra = 0; chậm trễ (10); }} void SendSMS2 () {if (humflag == 0) {Serial.println ("AT + CMGF = 1"); chậm trễ (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); chậm trễ (500); Serial.print ("Độ ẩm Cao"); Serial.print (độ ẩm); Serial.println ("%"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Độ ẩm Cao"); chậm trễ (1000); lcd.setCursor (0, 1); lcd.print ("Độ ẩm"); lcd.print (độ ẩm); lcd.print ("%"); chậm trễ (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Đang gửi SMS"); chậm trễ (1000); lcd.clear (); humflag = 1; kiểm tra = 0; kiểm tra = 0; chậm trễ (10); }}

void SendSMS3 () {if (humflag == 1) {Serial.println ("AT + CMGF = 1"); chậm trễ (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); chậm trễ (500); Serial.print ("Độ ẩm thấp"); Serial.print ("Độ ẩm"); Serial.print (độ ẩm); Serial.println ("%"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Độ ẩm Thấp"); chậm trễ (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Độ ẩm"); lcd.setCursor (0, 1); lcd.print (độ ẩm); lcd.print ("%"); chậm trễ (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Đang gửi SMS"); chậm trễ (1000); lcd.clear (); humflag = 0; kiểm tra = 0; kiểm tra = 0; chậm trễ (10); }} void SendSMS4 () {if (lightflag == 0) {Serial.println ("AT + CMGF = 1"); // Gửi tin nhắn SMS ở Chế độ văn bản delay (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); // Đổi thành số điện thoại đích delay (500); Serial.print ("Good LIGHT,"); Serial.print ("Cường độ"); Serial.print (lux); Serial.println ("LUX"); Serial.println ((char) 26); // ký tự dừng Ctrl + Z lcd.setCursor (0, 0); lcd.print ("Đèn tốt"); chậm trễ (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Cường độ"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); chậm trễ (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Đang gửi SMS"); chậm trễ (1000); lcd.clear (); lightflag = 1; kiểm tra = 0; kiểm tra = 0; chậm trễ (10); }} void SendSMS5 () {if (lightflag == 1) {Serial.println ("AT + CMGF = 1"); chậm trễ (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); chậm trễ (500); Serial.print ("THẤP ÁNH SÁNG,"); Serial.print ("Cường độ"); Serial.print (lux); Serial.println ("LUX"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Ánh sáng yếu"); chậm trễ (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Cường độ"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); chậm trễ (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Đang gửi SMS"); chậm trễ (1000); lcd.clear (); lightflag = 0; kiểm tra = 0; kiểm tra = 0; chậm trễ (10); }} void SendSMS6 () {if (landflag == 0) {Serial.println ("AT + CMGF = 1"); chậm trễ (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); chậm trễ (500); Serial.print ("Đất khô,"); Serial.print ("Độ ẩm"); Serial.print (giá trị đầu ra); Serial.println ("%"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Đất khô"); chậm trễ (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Độ ẩm"); lcd.setCursor (0, 1); lcd.print (giá trị đầu ra); lcd.print ("%"); chậm trễ (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Đang gửi SMS"); chậm trễ (1000); lcd.clear (); đất bùn = 1; kiểm tra = 0; kiểm tra = 0; chậm trễ (10); }} void SendSMS7 () {if (landflag == 1) {Serial.println ("AT + CMGF = 1"); chậm trễ (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); chậm trễ (500); Serial.print ("Đất ướt,"); Serial.print ("Độ ẩm"); Serial.print (giá trị đầu ra); Serial.println ("%"); Serial.println ((char) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Đất ướt"); chậm trễ (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Độ ẩm"); lcd.setCursor (0, 1); lcd.print (giá trị đầu ra); lcd.print ("%"); chậm trễ (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Đang gửi SMS"); chậm trễ (1000); lcd.clear (); đất nền = 0; kiểm tra = 0; kiểm tra = 0; chậm trễ (10); }}

Đề xuất: