Мазмуну:
- 1 -кадам: Системанын блок диаграммасы
- 2 -кадам: Компоненттин чоо -жайы
- 3 -кадам: Райондук диаграмма
- 4 -кадам: Жумушчу видео жана код файлы
- 5 -кадам: Программанын коду
Video: SMS эскертүүсү менен өсүмдүктөрдү көзөмөлдөө: 5 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Бул жерде мен SMS эскертүүсү менен Өсүмдүктөрдүн мониторингин түзөм. Бул эскертүү тутуму үчүн сервер талап кылынбайт. Бул абдан арзан жана ишенимдүү долбоор.
1 -кадам: Системанын блок диаграммасы
Бүгүнкү күнөсканаларда көптөгөн параметрлерди өлчөө талап кылынат
өсүмдүктөрдүн жакшы сапатына жана түшүмдүүлүгүнө мониторинг жүргүзүү жана көзөмөлдөө. Бирок керектүү натыйжаларды алуу үчүн өсүмдүктүн жакшы өсүшү үчүн зарыл болгон Температура, Нымдуулук, Жарык жана Жакшы Топурак сыяктуу маанилүү факторлор бар. Бул параметрлерди эске алуу менен мен Arduino аркылуу GSM модулунун үстүнөн өсүмдүктөрдү көзөмөлдөө системасын түздүм. Бул система сапаттуу өсүмдүктөрдү өстүрүү үчүн абдан эффективдүү. Бул долбоордун башка маанилүү бөлүгү - бул толугу менен автоматтык жана төмөнкү чыңалууда иштөө; 5-12V DC менен камсыздоо.
Азыр GSM модулу ар кандай маалыматтын SMS статусун жөнөтүү үчүн кеңири колдонулат. Бул жерде бул долбоордо SIM900A GSM модулун колдонуу менен климаттын өсүмдүктөргө тийгизген таасири тууралуу маалыматты сактай алабыз. Система ошондой эле өсүмдүктүн өндүрүмдүүлүгүнө жана сапатына таасир эткен климаттык өзгөрүүлөрдү көрсөтүшү керек. Бул долбоорду иштеп чыгуунун негизги максаты - GSM модулу Температура, Нымдуулук, Жарык интенсивдүүлүгү, Топурак жөнүндө маалыматты жөнөтүүчү Автоматтык Өсүмдүктөр Мониторингин куруу. ным
Мен Индиянын жараны болгонум үчүн SIM900A (А Азия тармагын билдирет) модулун колдонгон, бирок сиз өзүңүздүн өлкөгө жараша ар кандай SIM -модулду колдоно аласыз. AT коддору айырмаланышы мүмкүн.
2 -кадам: Компоненттин чоо -жайы
------------------ Мен бара жаткан параметрлердин төрт түрүн өлчөйм
төмөндө талкуулоо үчүн: ------------------
Температура жана нымдуулук
DHT11 сенсор температура жана нымдуулукту сезүү үчүн колдонулат. Температура жана нымдуулук жогору болгондо өсүмдүктөрдүн тамыры бузулат жана өсүмдүктөрдүн өсүүсү начарлайт.
Жарык интенсивдүүлүгү
Жарыктын интенсивдүүлүгү өсүмдүктүн өсүшү үчүн маанилүү фактор болуп саналат. Жарык интенсивдүүлүгүн аныктоо үчүн LDR (Жарыкка көз каранды каршылык) колдонулат. Жарыктын интенсивдүүлүгү LUX менен өлчөнөт, демек көрсөтүү үчүн 100 LUX жарыгы аныкталган же босого деңгээл катары колдонулат.
Топурактын нымдуулугу
Топурактын нымдуулугу өсүмдүктөрдүн жакшы өсүшү үчүн абдан маанилүү. Бул жерде Топурак сенсору Топурактагы нымдуулукту өлчөө үчүн колдонулат. Бул сенсордун жардамы менен биз топурактын маалыматын аналогдук жана санариптик түрдө өлчөй алабыз.
SMS билдирүүсү:
Жогорудагы параметрлердин биринин мааниси аныкталган деңгээлден же критикалык денгээлден ашып кеткенде, система автоматтык түрдө кожоюнуна же операторуна байланышкан параметрлер боюнча маалымат жөнөтөт жана маани кадимки диапазондо же аныкталган деңгээлден төмөн болгондо система автоматтык түрдө автоматтык түрдө жөнөтүлөт. тиешелүү маалыматтын ээси же операторуна SMS жөнөтүү.
Билдирүү шарт өзгөрмөйүнчө бир гана жолу жөнөтүлөт, андыктан ээсине же операторуна тез -тез SMS келбейт. Ошондуктан, төмөн SMS топтому талап кылынат.
3 -кадам: Райондук диаграмма
Булардын бардык бөлүктөрү каалаган онлайн соода сайтында оңой жеткиликтүү
же белгилүү электроника запастык бөлүктөрүнүн сатуучусу менен. Бардык компоненттердин маалымат баракчалары Интернетте жеткиликтүү. Эгерде кандайдыр бир кыйынчылыктар болсо, менин почтама кайрылыңыз.
4 -кадам: Жумушчу видео жана код файлы
Долбоордун акыркы жумушчу видеосу
5 -кадам: Программанын коду
#кошуу
#кошуу
LiquidCrystal lcd (2, 3, 4, 5, 6, 7);
DHT DHT; #аныктоо dht_dpin A1 #define LUX A0 #топуракты аныктоо A3
сүзүүчү вольт, люкс, наркы; int output_value; int температурасы, нымдуулугу; int lightflag = 0; int humflag = 0; int tuproq желеги = 0; int tempflag = 0; int check; int test, test1; байт даражасы [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};
жараксыз орнотуу ()
{Serial.begin (9600); // GSM Modem 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 ("AGRI PROJECT"); lcd.setCursor (0, 1); lcd.print ("By S K CHHAYA"); кечигүү (1000); lcd.clear (); } void loop () {output_value = analogRead (Топурак); output_value = карта (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 ("Жарык"); lcd.setCursor (0, 1); lcd.print (lux); // Жарык маалыматтары 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 (); // Light for SMS жогорку} 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.print (температура); 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.print (температура); lcd.write (1); lcd.print ("C"); кечигүү (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS жөнөтүү"); кечигүү (1000); lcd.clear (); tempflag = 1; check = 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.print (температура); Serial.println ("C даражасы"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp Low"); кечигүү (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; check = 0; тест = 0; кечигүү (10); }} жараксыз 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; check = 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.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; check = 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.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.print (lux); lcd.print ("LUX"); кечигүү (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS жөнөтүү"); кечигүү (1000); lcd.clear (); lightflag = 1; check = 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.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.print (lux); lcd.print ("LUX"); кечигүү (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS жөнөтүү"); кечигүү (1000); lcd.clear (); lightflag = 0; check = 0; тест = 0; кечигүү (10); }} жараксыз SendSMS6 () {if (tuproqflag == 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; check = 0; тест = 0; кечигүү (10); }} жараксыз SendSMS7 () {if (tuproqflag == 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; check = 0; тест = 0; кечигүү (10); }}
Сунушталууда:
SMS эскертүүсү менен өрт сигнализациясы: 3 кадам
SMS билдирүүсү менен өрт сигнализациясы: GSM 800H, Arduino негизделген өрт сенсору жана SMS билдирүү тутуму, караңгы бөлмөдө өрттү аныктоо үчүн IR сенсорун колдонот. Бул Arduino Serial Rx жана Tx Pins тиркелген GSM 800H модеми аркылуу SMS жөнөтөт, уюлдук номериңизди коддун ичине коюңуз
UWaiPi - Убакыт менен башкарылган өсүмдүктөрдү сугаруу системасы: 11 кадам (сүрөттөр менен)
UWaiPi - Убакыт менен башкарылган өсүмдүктөрдү сугаруу автоматтык системасы: Саламатсызбы! Бүгүн эртең менен өсүмдүктөрүңүздү сугарууну унутуп калдыңызбы? Сиз эс алууну пландап жатасыз, бирок өсүмдүктөрдү ким сугарарын ойлоп жатасызбы? Ооба, эгер сиздин жоопторуңуз Ооба болсо, анда менде сиздин көйгөйүңүздүн чечими бар. UWaiPi киргизгениме абдан кубанычтамын
ESP8266 жана AskSensors IoT Cloud менен өсүмдүктөрдү көзөмөлдөө жана эскертүүлөр: 6 кадам
ESP8266 жана AskSensors IoT Cloud менен өсүмдүктөрдүн мониторинги жана эскертүүлөрү: Бул долбоор ESP8266 жана AskSensors IoT Platform.This системасын колдонуп, өсүмдүктөрдүн акылдуу мониторинг системасын курууга багытталган. алар сугарууну камсыз кылууга жардам берет
Arduino кир жуугуч кургатуучу эскертүүсү - Blynk менен телефонго эскертүү: 5 кадам (сүрөттөр менен)
Arduino кир жуугуч кургаткычтын эскертүүсү - Blynk менен телефонго басуу эскертмеси: Биздин кир жуугуч машинабыз гаражда жана биз жууп бүткөнүн билдирген сигналдарды уга албайбыз. Мен цикл бүткөндө, үйдүн кайсы жеринде болбосун, кабарлоонун жолун издегим келди. Мен Arduino, ESP8266 WiFi менен алпурушуп жаткам
Xbox Controller тарабынан жүздү көзөмөлдөө жана көзөмөлдөө менен кайыр суроочу робот - Arduino: 9 кадам (сүрөттөр менен)
Xbox Controller тарабынан жүздү көзөмөлдөө жана көзөмөлдөө менен кайыр суроочу робот - Arduino: Биз кайыр суроочу робот кылабыз. Бул робот кыжырдантууга же өтүп бара жаткан адамдардын көңүлүн бурууга аракет кылат. Бул алардын жүздөрүн аныктап, аларга лазер менен атууга аракет кылат. Эгер роботко тыйын берсеңиз, ал ыр ырдайт жана бийлейт. Роботко керек болот