Агуулгын хүснэгт:

SMS дохиолол бүхий ургамлын хяналт: 5 алхам
SMS дохиолол бүхий ургамлын хяналт: 5 алхам

Видео: SMS дохиолол бүхий ургамлын хяналт: 5 алхам

Видео: SMS дохиолол бүхий ургамлын хяналт: 5 алхам
Видео: РАЗДАЕТ WIFI СЛЕДИТ ЗА ЧЕЛОВЕКОМ 4G камера видеонаблюдения 2024, Долдугаар сарын
Anonim
SMS дохиолол бүхий ургамлын хяналт
SMS дохиолол бүхий ургамлын хяналт

Энд би SMS дохиогоор ургамлын хяналтыг бий болгож байна. Энэхүү дохиоллын системд сервер шаардлагагүй болно. Энэ бол маш хямд бөгөөд найдвартай төсөл юм.

Алхам 1: Системийн блок диаграм

Системийн блок диаграм
Системийн блок диаграм

Өнөөгийн хүлэмжинд олон тооны параметрүүдийг хэмжих шаардлагатай байдаг

ургамлын сайн чанар, бүтээмжийг хянах, хянах. Гэхдээ хүссэн үр дүнд хүрэхийн тулд ургамлын илүү сайн ургахад шаардлагатай температур, чийгшил, гэрэл, сайн хөрс зэрэг маш чухал хүчин зүйлүүд байдаг. Эдгээр параметрүүдийг санаж байхдаа би Arduino ашиглан GSM модуль дээр ургамлын автомат хяналтын системийг бий болгосон. Энэхүү систем нь сайн чанарын ургамал ургуулахад маш үр дүнтэй байдаг. Энэ төслийн өөр нэг чухал хэсэг нь бүрэн автомат бөгөөд бага хүчдэл дээр ажилладаг; 5-12V тогтмол гүйдлийн тэжээл.

Өнөө үед GSM модулийг ямар ч төрлийн өгөгдлийн SMS статус илгээхэд өргөн ашигладаг болсон. Энэхүү төсөлд SIM900A GSM модулийг ашиглан бид цаг уурын ургамалд үзүүлэх нөлөөллийн талаарх мэдээллийг хадгалах боломжтой. Систем нь ургамлын бүтээмж, чанарт нөлөөлж буй цаг уурын өөрчлөлтийг харуулах ёстой. Энэхүү төслийг боловсруулах гол зорилго нь GSM модуль нь температур, чийгшил, гэрлийн эрч хүч, хөрсний талаархи мэдээллийг илгээдэг ургамлын автомат мониторингийн систем юм. чийг

Би Энэтхэгийн иргэн учраас SIM900A (Азийн сүлжээ гэсэн утгатай) модулийг ашигласан боловч та өөрийн улсын дагуу өөр төрлийн SIM модулийг ашиглаж болно. AT кодууд өөр байж болно.

Алхам 2: Бүрэлдэхүүн хэсгүүдийн дэлгэрэнгүй мэдээлэл

Бүрэлдэхүүн хэсгийн дэлгэрэнгүй мэдээлэл
Бүрэлдэхүүн хэсгийн дэлгэрэнгүй мэдээлэл
Бүрэлдэхүүн хэсгийн дэлгэрэнгүй мэдээлэл
Бүрэлдэхүүн хэсгийн дэлгэрэнгүй мэдээлэл
Бүрэлдэхүүн хэсгийн дэлгэрэнгүй мэдээлэл
Бүрэлдэхүүн хэсгийн дэлгэрэнгүй мэдээлэл

------------------ Би явж байгаа дөрвөн төрлийн параметрүүдийг хэмждэг

доор хэлэлцэх болно: ------------------

Температур ба чийгшил

DHT11 мэдрэгчийг температур, чийгшлийг мэдрэхэд ашигладаг. Температур, чийгшил өндөр байвал ургамлын үндэс гэмтэж, ургалт нь сайн байдаггүй.

Гэрлийн эрч хүч

Гэрлийн эрчим нь ургамлын өсөлтөд чухал хүчин зүйл болдог. Гэрлийн эрч хүчийг тодорхойлохын тулд LDR (Гэрэлээс хамааралтай эсэргүүцэл) ашигладаг. Гэрлийн эрчимийг LUX -ээр хэмждэг тул 100 LUX гэрлийг тодорхой эсвэл босго түвшинд ашигладаг.

Хөрсний чийгшил

Ургамал сайн ургахад хөрсний чийг агуулсан байх нь маш чухал юм. Энд хөрсний мэдрэгчийг хөрсний чийгийн хэмжээг хэмжихэд ашигладаг. Энэхүү мэдрэгчийг ашиглан хөрсний өгөгдлийг аналог, тоон хэлбэрээр хоёуланг нь хэмжих боломжтой.

SMS мэдэгдэл:

Дээрх параметрүүдийн аль нэгний утга нь тогтоосон түвшин эсвэл чухал түвшингээс хэтэрсэн тохиолдолд систем нь холбогдох параметрүүдийн талаархи мэдээллийг эзэмшигч эсвэл оператор руу автоматаар SMS илгээх бөгөөд утга нь хэвийн хязгаарт эсвэл тогтоосон түвшнээс доогуур байвал систем автоматаар автоматаар автоматаар систем рүү автоматаар илгээгддэг. холбогдох өгөгдлийн мэдээллийг эзэмшигч эсвэл оператор руу SMS илгээх.

Нөхцөл байдал өөрчлөгдөх хүртэл мэдэгдэл нь зөвхөн нэг л удаа илгээгддэг тул эзэмшигч эсвэл оператор байнга SMS хүлээн авдаггүй. Тиймээс бага SMS багц шаардлагатай.

Алхам 3: Хэлхээ диаграм

Хэлхээ диаграм
Хэлхээ диаграм

Эдгээр бүх хэсгүүдийг ямар ч онлайн дэлгүүрээс хялбархан авах боломжтой

эсвэл электроникийн сэлбэг хэрэгслийн сайн мэддэг борлуулагчтай. Бүх бүрэлдэхүүн хэсгүүдийн мэдээллийн хүснэгтийг вэб дээрээс авах боломжтой. Хэрэв ямар нэгэн бэрхшээл байвал миний шуудангаар холбоо бариарай.

Алхам 4: Ажлын видео болон кодын файл

Төслийн ажлын эцсийн видео

Алхам 5: Програмын код

#оруулах

#оруулах

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

DHT; #тодорхойлох dht_dpin A1 #тодорхойлох LUX A0 #хөрсийг тодорхойлох A3

хөвөх вольт, люкс, үнэ цэнэ; int output_value; температур, чийгшил; int lightflag = 0; int humflag = 0; int хөрсний далбаа = 0; int tempflag = 0; int шалгах; int тест, тест1; байтын зэрэг [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};

хүчингүй тохиргоо ()

{Serial.begin (9600); // GSM Modem lcd.begin (16, 2) -тэй холбогдохын тулд цуваа эхлүүлэх; pinMode (хөрс, оролт); lcd.createChar (1, зэрэг); lcd.setCursor (0, 0); lcd.print ("Ургамлын эрүүл мэнд"); lcd.setCursor (0, 1); lcd.print ("Хяналт тавих"); саатал (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("AGRI ТӨСӨЛ"); lcd.setCursor (0, 1); lcd.print ("By S K CHHAYA"); саатал (1000); lcd.clear (); } void loop () {output_value = analogRead (хөрс); output_value = map (output_value, 550, 0, 0, 100); утга = analogRead (LUX); вольт = (утга / 1023.0) * 5; lux = ((2500 / вольт) - 500) / 3.3; саатал (10000); // GSM сүлжээнд бүртгүүлэх хангалттай хугацаа өг DHT.read11 (dht_dpin); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Темп"); lcd.setCursor (0, 1); lcd.хэвлэх (температур = DHT температур); // LCD lcd.write дээрх температурын өгөгдөл (1); lcd.print ("C"); саатал (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Чийгшил"); lcd.setCursor (0, 1); lcd.хэв (чийгшил = DHT. чийгшил); // LCD lcd.print дээрх чийгшлийн мэдээлэл (" %"); саатал (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Гэрэл"); lcd.setCursor (0, 1); lcd.хэвлэх (люкс); // LCD lcd.print дээрх гэрэл мэдээлэл ("LUM"); саатал (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Чийг"); lcd.setCursor (0, 1); lcd.print (output_value); // LCD lcd.print дээрх хөрсний мэдээлэл (" %"); саатал (1000); lcd.clear ();

if (температур 40) {SendSMS (); // Температур өндөртэй SMS} if (чийгшил 40) {SendSMS2 (); // Чийглэг өндөртэй SMS} if (lux 100) {SendSMS4 (); // SMS for Light high} if (output_value == 950) {SendSMS7 (); // Хуурай хөрсөнд зориулсан SMS} else if if (output_value! = 950) {SendSMS6 (); // Нойтон хөрсөнд зориулсан SMS}} хүчингүй SendSMS () {if (tempflag == 0) {Serial.println ("AT+CMGF = 1"); саатал (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); саатал (500); Serial.print ("Temp High",); Serial.print ("Temp"); Цуврал хэвлэх (температур); Serial.println ("C градус"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp High"); саатал (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Температур"); lcd.setCursor (0, 1); lcd хэвлэх (температур); lcd.write (1); lcd.print ("C"); саатал (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS илгээж байна"); саатал (1000); lcd.clear (); tempflag = 1; шалгах = 0; тест = 0; саатал (10); }} хүчингүй SendSMS1 () {if (tempflag == 1) {Serial.println ("AT+CMGF = 1"); саатал (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); саатал (500); Serial.print ("Temp Low",); Serial.print ("Temp"); Цуврал хэвлэх (температур); Serial.println ("C градус"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Бага температур"); саатал (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Температур"); lcd.setCursor (0, 1); lcd хэвлэх (температур); lcd.write (1); lcd.print ("C"); саатал (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS илгээж байна"); саатал (1000); lcd.clear (); tempflag = 0; шалгах = 0; тест = 0; саатал (10); }} хүчингүй SendSMS2 () {if (humflag == 0) {Serial.println ("AT+CMGF = 1"); саатал (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); саатал (500); Serial.print ("Өндөр чийгшил"); Цуврал хэвлэх (чийгшил); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Өндөр чийгшил"); саатал (1000); lcd.setCursor (0, 1); lcd.print ("Чийгшил"); lcd хэвлэх (чийгшил); lcd.print (" %"); саатал (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS илгээж байна"); саатал (1000); lcd.clear (); humflag = 1; шалгах = 0; тест = 0; саатал (10); }}

хүчингүй SendSMS3 () {if (humflag == 1) {Serial.println ("AT+CMGF = 1"); саатал (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); саатал (500); Serial.print ("Бага чийгшил,"); Serial.print ("Чийгшил"); Цуврал хэвлэх (чийгшил); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Бага чийгшил"); саатал (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Чийгшил"); lcd.setCursor (0, 1); lcd хэвлэх (чийгшил); lcd.print (" %"); саатал (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS илгээж байна"); саатал (1000); lcd.clear (); humflag = 0; шалгах = 0; тест = 0; саатал (10); }} хүчингүй SendSMS4 () {if (lightflag == 0) {Serial.println ("AT+CMGF = 1"); // Текст горимд SMS илгээх (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); // Очих газрын утасны дугаарын саатлыг өөрчлөх (500); Serial.print ("Сайн гэрэл"); Serial.print ("Эрчим"); Цуваа.хэвлэх (люкс); Serial.println ("LUX"); Serial.println ((char) 26); // зогсоох тэмдэгт Ctrl+Z lcd.setCursor (0, 0); lcd.print ("Сайн гэрэл"); саатал (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Эрчим"); lcd.setCursor (0, 1); lcd.хэвлэх (люкс); lcd.print ("LUX"); саатал (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS илгээж байна"); саатал (1000); lcd.clear (); гэрлийн туг = 1; шалгах = 0; тест = 0; саатал (10); }} хүчингүй SendSMS5 () {if (lightflag == 1) {Serial.println ("AT+CMGF = 1"); саатал (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); саатал (500); Serial.print ("LOW LIGHT,"); Serial.print ("Эрчим"); Цуваа.хэвлэх (люкс); Serial.println ("LUX"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Бага гэрэл"); саатал (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Эрчим"); lcd.setCursor (0, 1); lcd.хэвлэх (люкс); lcd.print ("LUX"); саатал (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS илгээж байна"); саатал (1000); lcd.clear (); гэрлийн туг = 0; шалгах = 0; тест = 0; саатал (10); }} хүчингүй SendSMS6 () {if (earthflag == 0) {Serial.println ("AT+CMGF = 1"); саатал (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); саатал (500); Serial.print ("Хуурай хөрс,"); Serial.print ("Чийг"); Serial.print (output_value); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Хуурай хөрс"); саатал (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Чийг"); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print (" %"); саатал (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS илгээж байна"); саатал (1000); lcd.clear (); хөрсний туг = 1; шалгах = 0; тест = 0; саатал (10); }} хүчингүй SendSMS7 () {if (earthflag == 1) {Serial.println ("AT+CMGF = 1"); саатал (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); саатал (500); Serial.print ("Нойтон хөрс"); Serial.print ("Чийг"); Serial.print (output_value); Serial.println (" %"); Serial.println ((char) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Нойтон хөрс"); саатал (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Чийг"); lcd.setCursor (0, 1); lcd.print (output_value); lcd.print (" %"); саатал (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS илгээж байна"); саатал (1000); lcd.clear (); хөрсний туг = 0; шалгах = 0; тест = 0; саатал (10); }}

Зөвлөмж болгож буй: