Isi kandungan:

Pemantauan Tumbuhan Dengan Makluman SMS: 5 Langkah
Pemantauan Tumbuhan Dengan Makluman SMS: 5 Langkah

Video: Pemantauan Tumbuhan Dengan Makluman SMS: 5 Langkah

Video: Pemantauan Tumbuhan Dengan Makluman SMS: 5 Langkah
Video: CARA BARU FILTER EXCEL - LEBIH CANGGIH #excel #tutorialexcel #lifehacks 2024, November
Anonim
Pemantauan Tumbuhan Dengan Makluman SMS
Pemantauan Tumbuhan Dengan Makluman SMS

Di sini saya membuat pemantauan Loji dengan amaran SMS. Pelayan tidak diperlukan untuk sistem amaran ini. Ia adalah projek yang sangat murah dan boleh dipercayai.

Langkah 1: Blok Diagram Sistem

Gambarajah Blok Sistem
Gambarajah Blok Sistem

Di rumah hijau hari ini, banyak pengukuran parameter diperlukan

untuk memantau dan mengawal kualiti dan produktiviti tanaman yang baik. Tetapi untuk mendapatkan hasil yang diinginkan ada beberapa faktor yang sangat penting yang berperan seperti Suhu, Kelembapan, Cahaya dan Tanah yang baik, yang diperlukan untuk pertumbuhan tanaman yang lebih baik. Mengingat parameter ini, saya telah membina Sistem Pemantauan Loji Automatik melalui modul GSM menggunakan Arduino. Sistem ini sangat berkesan untuk menanam tanaman berkualiti. Bahagian penting lain dari projek ini ialah ia sepenuhnya automatik dan berfungsi dengan voltan rendah seperti; Bekalan DC 5-12V.

Kini beberapa hari Modul GSM digunakan secara meluas untuk menghantar status SMS dari segala jenis data. Di sini dalam projek ini dengan menggunakan SIM900A GSM Module kita dapat menyimpan maklumat mengenai kesan iklim pada tanaman. Sistem ini juga akan menunjukkan perubahan iklim yang mempengaruhi kilang dalam produktiviti dan kualitinya, dll. Tujuan utama munculnya projek ini adalah untuk membina Pemantauan Tanaman Automatik di mana modul GSM menghantar maklumat mengenai Suhu, Kelembapan, intensiti cahaya, Tanah kelembapan.

Oleh kerana saya adalah warganegara India, modul SIM900A (A adalah singkatan dari rangkaian Asia) tetapi anda boleh menggunakan modul SIM yang berbeza mengikut negara anda. Kod AT mungkin berbeza.

Langkah 2: Perincian Komponen

Perincian Komponen
Perincian Komponen
Perincian Komponen
Perincian Komponen
Perincian Komponen
Perincian Komponen

------------------ Saya mengukur empat jenis parameter, yang akan berlaku

untuk dibincangkan di bawah: ------------------

Suhu dan Kelembapan

Sensor DHT11 digunakan untuk merasakan suhu dan kelembapan. Apabila suhu dan kelembapan tinggi akar tanaman rosak dan pertumbuhan tanaman tidak baik.

Intensiti Cahaya

Keamatan cahaya adalah faktor penting untuk pertumbuhan tanaman. Untuk mengesan intensiti cahaya LDR (perintang bergantung cahaya) digunakan. Intensiti cahaya diukur dalam LUX dan oleh itu untuk demonstrasi 100 cahaya LUX digunakan seperti yang ditentukan atau tahap ambang.

Kelembapan tanah

Kandungan kelembapan tanah sangat penting untuk pertumbuhan tanaman yang baik. Di sini Sensor tanah digunakan untuk mengukur kandungan kelembapan di Tanah. Dengan menggunakan sensor ini, kita dapat mengukur data tanah dengan cara kedua, analog dan juga digital.

Pemberitahuan SMS:

Apabila nilai mana-mana parameter di atas melebihi dari tahap yang ditentukan atau tahap kritikal, sistem akan secara automatik mengirim SMS kepada pemilik atau operator dengan maklumat tentang parameter yang berkaitan dan ketika nilai tersebut berada dalam julat normal atau di bawah tahap yang ditentukan lagi sistem secara automatik menghantar SMS kepada pemilik atau pengendali dengan maklumat data yang berkaitan.

Pemberitahuan hanya dikirim sekali sehingga keadaan tidak berubah sehingga pemilik atau operator tidak sering menerima SMS. Oleh itu, diperlukan pek SMS yang lebih rendah.

Langkah 3: Rajah Litar

Rajah Litar
Rajah Litar

Semua bahagian ini mudah didapati di mana-mana laman web membeli-belah dalam talian

atau dengan pengedar alat ganti elektronik yang terkenal. Semua lembar data komponen boleh didapati di web. Sekiranya ada kesukaran, sila hubungi di surat saya.

Langkah 4: Fail Video dan Kod Kerja

Video kerja akhir projek

Langkah 5: Kod Programe

#sertakan

#sertakan

LiquidCrystal lcd (2, 3, 4, 5, 6, 7);

dht DHT; #tentukan dht_dpin A1 #tentukan LUX A0 #tentukan tanah A3

float volt, lux, nilai; int output_value; suhu int, kelembapan; int lightflag = 0; int humflag = 0; int tanahflag = 0; int tempflag = 0; pemeriksaan int; ujian int, ujian1; darjah byte [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};

persediaan tidak sah ()

{Serial.begin (9600); // Memulakan siri untuk berkomunikasi dengan Modem GSM lcd.begin (16, 2); pinMode (tanah, INPUT); lcd.createChar (1, darjah); lcd.setCursor (0, 0); lcd.print ("Kesihatan Tumbuhan"); lcd.setCursor (0, 1); lcd.print ("Monitering"); kelewatan (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("PROJEK AGRI"); lcd.setCursor (0, 1); lcd.print ("Oleh S K CHHAYA"); kelewatan (1000); lcd.clear (); } gelung void () {output_value = analogRead (tanah); output_value = peta (output_value, 550, 0, 0, 100); nilai = analogRead (LUX); volt = (nilai / 1023.0) * 5; lux = ((2500 / volt) - 500) / 3.3; kelewatan (10000); // Beri masa yang cukup untuk GSM mendaftar di Network DHT.read11 (dht_dpin); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temp"); lcd.setCursor (0, 1); lcd.print (suhu = suhu DHT.); // Temp data pada LCD lcd.write (1); lcd.print ("C"); kelewatan (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Kelembapan"); lcd.setCursor (0, 1); lcd.print (kelembapan = DHT.kelembapan); // Data kelembapan pada LCD lcd.print ("%"); kelewatan (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Cahaya"); lcd.setCursor (0, 1); lcd.print (lux); // Data cahaya pada LCD lcd.print ("LUM"); kelewatan (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Kelembapan"); lcd.setCursor (0, 1); lcd.print (output_value); // Data tanah pada LCD lcd.print ("%"); kelewatan (1000); lcd.clear ();

jika (suhu 40) {SendSMS (); // SMS untuk suhu tinggi} jika (kelembapan 40) {SendSMS2 (); // SMS untuk Kelembapan tinggi} jika (lux 100) {SendSMS4 (); // SMS untuk Cahaya tinggi} jika (output_value == 950) {SendSMS7 (); // SMS untuk Tanah Kering} lain jika (output_value! = 950) {SendSMS6 (); // SMS untuk Tanah Basah}} batal SendSMS () {if (tempflag == 0) {Serial.println ("AT + CMGF = 1"); kelewatan (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); kelewatan (500); Serial.print ("Temp High,"); Serial.print ("Temp"); Cetakan bersiri (suhu); Serial.println ("darjah C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp Tinggi"); kelewatan (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Suhu"); lcd.setCursor (0, 1); lcd.print (suhu); lcd.write (1); lcd.print ("C"); kelewatan (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Menghantar SMS"); kelewatan (1000); lcd.clear (); tempflag = 1; semak = 0; ujian = 0; kelewatan (10); }} batal SendSMS1 () {if (tempflag == 1) {Serial.println ("AT + CMGF = 1"); kelewatan (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); kelewatan (500); Serial.print ("Temp Low,"); Serial.print ("Temp"); Cetakan bersiri (suhu); Serial.println ("darjah C"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Suhu Rendah"); kelewatan (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Suhu"); lcd.setCursor (0, 1); lcd.print (suhu); lcd.write (1); lcd.print ("C"); kelewatan (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Menghantar SMS"); kelewatan (1000); lcd.clear (); tempflag = 0; semak = 0; ujian = 0; kelewatan (10); }} batal SendSMS2 () {if (humflag == 0) {Serial.println ("AT + CMGF = 1"); kelewatan (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); kelewatan (500); Serial.print ("Kelembapan Tinggi"); Cetakan bersiri (kelembapan); Serial.println ("%"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Kelembapan Tinggi"); kelewatan (1000); lcd.setCursor (0, 1); lcd.print ("Kelembapan"); lcd.print (kelembapan); lcd.print ("%"); kelewatan (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Menghantar SMS"); kelewatan (1000); lcd.clear (); humflag = 1; semak = 0; ujian = 0; kelewatan (10); }}

batal SendSMS3 () {if (humflag == 1) {Serial.println ("AT + CMGF = 1"); kelewatan (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); kelewatan (500); Serial.print ("Kelembapan Rendah,"); Serial.print ("Kelembapan"); Cetakan bersiri (kelembapan); Serial.println ("%"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Kelembapan Rendah"); kelewatan (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Kelembapan"); lcd.setCursor (0, 1); lcd.print (kelembapan); lcd.print ("%"); kelewatan (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Menghantar SMS"); kelewatan (1000); lcd.clear (); humflag = 0; semak = 0; ujian = 0; kelewatan (10); }} batal SendSMS4 () {if (lightflag == 0) {Serial.println ("AT + CMGF = 1"); // Untuk menghantar SMS dalam kelewatan Mod Teks (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); // Tukar ke kelewatan nombor telefon destinasi (500); Cetakan bersiri ("CAHAYA yang baik,"); Serial.print ("Intensity"); Cetakan bersiri (lux); Serial.println ("LUX"); Serial.println ((char) 26); // watak berhenti Ctrl + Z lcd.setCursor (0, 0); lcd.print ("Cahaya yang baik"); kelewatan (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intensiti"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); kelewatan (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Menghantar SMS"); kelewatan (1000); lcd.clear (); lightflag = 1; semak = 0; ujian = 0; kelewatan (10); }} batal SendSMS5 () {if (lightflag == 1) {Serial.println ("AT + CMGF = 1"); kelewatan (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); kelewatan (500); Serial.print ("CAHAYA RENDAH,"); Serial.print ("Intensity"); Cetakan bersiri (lux); Serial.println ("LUX"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Lampu rendah"); kelewatan (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Intensiti"); lcd.setCursor (0, 1); lcd.print (lux); lcd.print ("LUX"); kelewatan (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Menghantar SMS"); kelewatan (1000); lcd.clear (); lightflag = 0; semak = 0; ujian = 0; kelewatan (10); }} batal SendSMS6 () {if (tanahflag == 0) {Serial.println ("AT + CMGF = 1"); kelewatan (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); kelewatan (500); Serial.print ("Tanah Kering,"); Serial.print ("Kelembapan"); Serial.print (output_value); Serial.println ("%"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Tanah Kering"); kelewatan (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Kelembapan"); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print ("%"); kelewatan (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Menghantar SMS"); kelewatan (1000); lcd.clear (); tanah liat = 1; semak = 0; ujian = 0; kelewatan (10); }} batal SendSMS7 () {if (tanahflag == 1) {Serial.println ("AT + CMGF = 1"); kelewatan (500); Serial.println ("AT + CMGS = \" + 919979897404 / "\ r"); kelewatan (500); Serial.print ("Tanah Basah,"); Serial.print ("Kelembapan"); Serial.print (output_value); Serial.println ("%"); Serial.println ((char) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Tanah Basah"); kelewatan (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Kelembapan"); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print ("%"); kelewatan (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Menghantar SMS"); kelewatan (1000); lcd.clear (); tanah liat = 0; semak = 0; ujian = 0; kelewatan (10); }}

Disyorkan: