Съдържание:
- Стъпка 1: Блокова диаграма на системата
- Стъпка 2: Подробности за компонентите
- Стъпка 3: Електрическа схема
- Стъпка 4: Работещ видео и код файл
- Стъпка 5: Код на програмата
Видео: Мониторинг на растенията с SMS предупреждение: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Тук създавам мониторинг на растенията с 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); }}
Препоръчано:
Как да изградите монитор на растенията с Arduino: 7 стъпки
Как да изградим мониторинг на растенията с Arduino: В този урок ще научим как да откриваме влага в почвата с помощта на сензор за влага и да мигаме със зелен светодиод, ако всичко е наред и OLED дисплей и Visuino. Гледайте видеото
Ардуино пръчка за контрол на влажността на почвата - никога не забравяйте да поливате растенията си: 4 стъпки (със снимки)
Ардуино пръчка за контрол на влажността на почвата - никога не забравяйте да поливате вашите растения: често забравяте ли да поливате стайните си растения? Или може би им обръщате твърде много внимание и ги поливате? Ако го направите, тогава трябва да си направите пръчка за мониторинг на влажността на почвата с батерии. Този монитор използва капацитивна влажност на почвата
Наблюдавайте галони на резервоара за отоплителен резервоар с имейл, SMS и предупреждение с Pushbullet: 9 стъпки (със снимки)
Наблюдавайте галоните на резервоарите за отоплително масло с имейл, SMS и предупреждение за пулпул: ИНФОРМАЦИЯ ЗА БЕЗОПАСНОСТ: В случай, че някой иска да знае дали " това е безопасно за изграждане/инсталиране " - Отнесох това на 2 различни петролни компании за обратна връзка/съображения за безопасност и ръководих това от заместник-ръководителя на пожарната служба C
PInt@t10n: Интелигентна система за мониторинг на растенията: 9 стъпки
PInt@t10n: Интелигентна система за наблюдение на растенията: PI@nt@t10n Този проект е създаден като тест за облака ibm iot. Използваме esp-8266 за изпращане и получаване на данни до и от облака ibm. Комуникацията между esp и ibm облака се осъществява чрез MQTT. За обработка на всички данни и представяне на
Мониторинг на растенията и сигнали с ESP8266 и AskSensors IoT Cloud: 6 стъпки
Мониторинг на растенията и сигнали с ESP8266 и AskSensors IoT Cloud: Този проект има за цел изграждането на интелигентна система за мониторинг на растенията, използваща ESP8266 и платформата IoT AskSensors, Тази система може да се използва за проследяване на нивото на влажност на почвата, за да предостави обективни критерии за решения за напояване. които спомагат за осигуряването на напояване