Съдържание:

Мониторинг на растенията с SMS предупреждение: 5 стъпки
Мониторинг на растенията с SMS предупреждение: 5 стъпки

Видео: Мониторинг на растенията с SMS предупреждение: 5 стъпки

Видео: Мониторинг на растенията с SMS предупреждение: 5 стъпки
Видео: ДЕШЕВАЯ камера УДИВИЛА после ОБНОВЛЕНИЯ, начала СЛЕДИТЬ ЗА ЛЮДЬМИ!!! 2024, Юли
Anonim
Мониторинг на растенията с SMS предупреждение
Мониторинг на растенията с SMS предупреждение

Тук създавам мониторинг на растенията с SMS предупреждение. Сървърът не е необходим за тази система за предупреждение. Това е много евтин и надежден проект.

Стъпка 1: Блокова диаграма на системата

Блокова диаграма на системата
Блокова диаграма на системата

В днешните оранжерии са необходими много измервания на параметри

за наблюдение и контрол за доброто качество и производителността на растенията. Но за да се получат желаните резултати, има някои много важни фактори, които влизат в действие като температура, влажност, светлина и добра почва, които са необходими за по -добър растеж на растенията. Имайки предвид тези параметри, изградих автоматична система за мониторинг на инсталации през GSM модул, използвайки Arduino. Тази система е много ефективна за отглеждане на качествени растения. Другата важна част от този проект е, че той е напълно автоматичен и работи на ниско напрежение като; 5-12V DC захранване.

Сега 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; #дефинирайте dht_dpin A1 #дефинирайте LUX A0 #дефинирайте почвата A3

плаващ волт, лукс, стойност; int output_value; int температура, влажност; int lightflag = 0; int humflag = 0; int groundflag = 0; int tempflag = 0; int проверка; int тест, тест1; байтова степен [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};

void setup ()

{Serial.begin (9600); // Инициализира сериен за комуникация с GSM модем lcd.begin (16, 2); pinMode (почва, INPUT); lcd.createChar (1, степен); lcd.setCursor (0, 0); lcd.print ("Здраве на растенията"); lcd.setCursor (0, 1); lcd.print ("Мониторинг"); забавяне (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("АГРИ ПРОЕКТ"); lcd.setCursor (0, 1); lcd.print ("От 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; лукс = ((2500 / волт) - 500) / 3,3; забавяне (10000); // Дайте достатъчно време на GSM да се регистрира в мрежата DHT.read11 (dht_dpin); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temp"); lcd.setCursor (0, 1); lcd.print (температура = DHT.температура); // Температурни данни на LCD lcd.write (1); lcd.print ("C"); забавяне (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Влажност"); lcd.setCursor (0, 1); lcd.print (влажност = DHT.влажност); // Данни за влажността на LCD lcd.print (" %"); забавяне (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Light"); lcd.setCursor (0, 1); lcd.принт (лукс); // Светлинни данни на LCD lcd.print ("LUM"); забавяне (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Влага"); lcd.setCursor (0, 1); lcd.print (изходна_ стойност); // Данни за почвата на LCD lcd.print (" %"); забавяне (1000); lcd.clear ();

if (температура 40) {SendSMS (); // SMS за висока температура} if (влажност 40) {SendSMS2 (); // SMS за висока влажност} if (lux 100) {SendSMS4 (); // SMS за Light high} if (output_value == 950) {SendSMS7 (); // SMS за суха почва} else if (output_value! = 950) {SendSMS6 (); // SMS за влажна почва}} void SendSMS () {if (tempflag == 0) {Serial.println ("AT+CMGF = 1"); забавяне (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); забавяне (500); Serial.print ("Висока температура"); Serial.print ("Temp"); Serial.print (температура); 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.print (температура); lcd.write (1); lcd.print ("C"); забавяне (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Изпращане на SMS"); забавяне (1000); lcd.clear (); tempflag = 1; проверка = 0; тест = 0; забавяне (10); }} void SendSMS1 () {if (tempflag == 1) {Serial.println ("AT+CMGF = 1"); забавяне (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); забавяне (500); Serial.print ("Ниска температура"); Serial.print ("Temp"); Serial.print (температура); 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.print (температура); lcd.write (1); lcd.print ("C"); забавяне (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Изпращане на SMS"); забавяне (1000); lcd.clear (); tempflag = 0; проверка = 0; тест = 0; забавяне (10); }} void SendSMS2 () {if (humflag == 0) {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.setCursor (0, 1); lcd.print ("Влажност"); lcd.print (влажност); lcd.print (" %"); забавяне (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Изпращане на SMS"); забавяне (1000); lcd.clear (); humflag = 1; проверка = 0; тест = 0; забавяне (10); }}

void SendSMS3 () {if (humflag == 1) {Serial.println ("AT+CMGF = 1"); забавяне (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); забавяне (500); Serial.print ("Ниска влажност"); 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.print (влажност); lcd.print (" %"); забавяне (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Изпращане на SMS"); забавяне (1000); lcd.clear (); humflag = 0; проверка = 0; тест = 0; забавяне (10); }} void SendSMS4 () {if (lightflag == 0) {Serial.println ("AT+CMGF = 1"); // За изпращане на SMS в текстов режим забавяне (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); // Промяна към забавяне на телефонния номер на местоназначението (500); Serial.print ("Good LIGHT,"); Serial.print ("Интензивност"); Serial.print (lux); 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 (); lightflag = 1; проверка = 0; тест = 0; забавяне (10); }} void SendSMS5 () {if (lightflag == 1) {Serial.println ("AT+CMGF = 1"); забавяне (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); забавяне (500); Serial.print ("LOW LIGHT,"); Serial.print ("Интензивност"); Serial.print (lux); 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 (); lightflag = 0; проверка = 0; тест = 0; забавяне (10); }} void SendSMS6 () {if (groundflag == 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 (изходна_ стойност); lcd.print (" %"); забавяне (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Изпращане на SMS"); забавяне (1000); lcd.clear (); грунтов флаг = 1; проверка = 0; тест = 0; забавяне (10); }} void SendSMS7 () {if (groundflag == 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 (изходна_ стойност); lcd.print (" %"); забавяне (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Изпращане на SMS"); забавяне (1000); lcd.clear (); groundflag = 0; проверка = 0; тест = 0; забавяне (10); }}

Препоръчано: