Mündəricat:
- Addım 1: Sistemin Blok Şeması
- Addım 2: Komponent Detalları
- Addım 3: Dövrə Şeması
- Addım 4: İşləmə Video və Kod Dosyası
- Addım 5: Proqram Məcəlləsi
Video: SMS xəbərdarlığı ilə bitki monitorinqi: 5 addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Burada SMS xəbərdarlığı ilə Bitki monitorinqi yaradıram. Bu xəbərdarlıq sistemi üçün server tələb olunmur. Çox ucuz və etibarlı bir layihədir.
Addım 1: Sistemin Blok Şeması
İndiki istixanalarda bir çox parametr ölçülməsi tələb olunur
bitkilərin keyfiyyətli və məhsuldar olmasına nəzarət etmək və nəzarət etmək. İstədiyiniz nəticəni əldə etmək üçün daha yaxşı bir bitki böyüməsi üçün lazım olan İstilik, Rütubət, İşıq və Yaxşı Torpaq kimi çox vacib amillər var. Bu parametrləri nəzərə alaraq Arduino istifadə edərək GSM modulu üzərində Avtomatik Bitki İzləmə Sistemi qurdum. Bu sistem keyfiyyətli bitkilər yetişdirmək üçün çox səmərəlidir. Bu layihənin digər əhəmiyyətli hissəsi tam avtomatik olması və aşağı gərginlikdə çalışmasıdır; 5-12V DC təchizatı.
İndi bir gün GSM Modulu hər hansı bir məlumatın SMS vəziyyətini göndərmək üçün geniş istifadə olunur. Burada bu layihədə SIM900A GSM Modulundan istifadə edərək iqlimin bitkilərə təsiri haqqında məlumat saxlaya bilərik. Sistem eyni zamanda bitkinin məhsuldarlığı və keyfiyyətinə təsir edən iqlim dəyişikliklərini nümayiş etdirməlidir. Bu layihəni hazırlamağın əsas məqsədi GSM modulunun Temperatur, Rütubət, İşıq intensivliyi, Torpaq haqqında məlumat göndərdiyi Avtomatik Bitki Monitorinqini qurmaqdır. nəm
Hindistan vətəndaşı olduğum üçün SIM900A (As şəbəkəsi deməkdir) modulundan istifadə etdim, ancaq ölkənizə görə fərqli növ SİM modullardan istifadə edə bilərsiniz. AT kodları fərqli ola bilər.
Addım 2: Komponent Detalları
------------------ Mən gedən dörd növ parametri ölçürəm
aşağıda müzakirə etmək üçün: ------------------
Temperatur və Rütubət
DHT11 sensoru temperatur və rütubəti hiss etmək üçün istifadə olunur. İstilik və rütubət yüksək olduqda bitkilərin kökü zədələnir və bitkinin inkişafı yaxşı olmaz.
İşıq intensivliyi
İşığın intensivliyi bitkinin inkişafı üçün vacib amildir. İşığın intensivliyini aşkar etmək üçün LDR (İşıqdan asılı rezistor) istifadə olunur. İşığın intensivliyi LUX ilə ölçülür və buna görə də nümayiş üçün 100 LUX işığı müəyyən edilmiş və ya eşik səviyyəsi olaraq istifadə olunur.
Torpaq Nəmliyi
Torpağın nəmliyi bitkilərin yaxşı inkişafı üçün çox vacibdir. Burada Torpaq sensoru Torpaqdakı nəmliyi ölçmək üçün istifadə olunur. Bu sensordan istifadə edərək torpaq məlumatlarını həm analoq həm də rəqəmsal olaraq ölçə bilərik.
SMS Bildirişi:
Yuxarıdakı parametrlərdən birinin dəyəri müəyyən bir səviyyədən və ya kritik səviyyədən artıq olduqda, sistem avtomatik olaraq sahibinə və ya operatora əlaqəli parametrlər haqqında məlumat göndərir və dəyər normal həddə və ya müəyyən edilmiş səviyyədən aşağı olduqda sistem avtomatik olaraq əlaqəli məlumatlar barədə sahibinə və ya operatoruna SMS göndərin.
Bildiriş, şərt dəyişməyincə sahibinə və ya operatoruna tez -tez SMS gəlməyənə qədər yalnız bir dəfə göndərilir. Buna görə daha aşağı SMS paketi tələb olunur.
Addım 3: Dövrə Şeması
Bütün bu hissələri istənilən onlayn alış -veriş saytında asanlıqla əldə etmək olar
və ya tanınmış elektronika ehtiyat hissələri satıcısı ilə. Bütün komponentlərin məlumat cədvəlləri İnternetdə mövcuddur. Hər hansı bir çətinlik olarsa, mənimlə əlaqə saxlayın.
Addım 4: İşləmə Video və Kod Dosyası
Layihənin son iş videosu
Addım 5: Proqram Məcəlləsi
#daxil edin
#daxil edin
LiquidCrystal lcd (2, 3, 4, 5, 6, 7);
DHT ilə; #dht_dpin A1 #define LUX A0 #torpağı təyin A3
float volt, lüks, dəyər; int çıxış_dəyəri; int temperatur, rütubət; int işıq bayrağı = 0; int humflag = 0; int torpaq bayrağı = 0; int tempflag = 0; int yoxlamaq; int testi, test1; bayt dərəcəsi [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};
boş quraşdırma ()
{Serial.begin (9600); // GSM Modem lcd.begin ilə ünsiyyət qurmaq üçün serialı işə salın (16, 2); pinMode (torpaq, GİRİŞ); lcd.createChar (1, dərəcə); lcd.setCursor (0, 0); lcd.print ("Bitki Sağlamlığı"); lcd.setCursor (0, 1); lcd.print ("İzləmə"); gecikmə (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("AGRI PROJESİ"); lcd.setCursor (0, 1); lcd.print ("S K CHHAYA tərəfindən"); gecikmə (1000); lcd.clear (); } void loop () {output_value = analogRead (torpaq); output_value = xəritə (output_value, 550, 0, 0, 100); dəyər = analogRead (LUX); volt = (dəyər / 1023.0) * 5; lüks = ((2500 / volt) - 500) / 3.3; gecikmə (10000); // GSM -in DHT.read11 Şəbəkəsində qeydiyyatdan keçməsi üçün kifayət qədər vaxt verin (dht_dpin); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temp"); lcd.setCursor (0, 1); lcd çap (temperatur = DHT temperaturu); // LCD lcd.write -də temperatur məlumatları (1); lcd.print ("C"); gecikmə (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Rütubət"); lcd.setCursor (0, 1); lcd çap (rütubət = DHT. rütubət); // LCD lcd.print -də rütubət məlumatları (" %"); gecikmə (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("İşıq"); lcd.setCursor (0, 1); lcd çap (lüks); // LCD lcd.print ("LUM") üzərindəki işıq məlumatları; gecikmə (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Nəm"); lcd.setCursor (0, 1); lcd.print (çıxış_dəyəri); // LCD lcd.printdəki torpaq məlumatları (" %"); gecikmə (1000); lcd.clear ();
if (temperatur 40) {SendSMS (); // yüksək temperatur üçün SMS} if (rütubət 40) {SendSMS2 (); // Yüksək Nəmlik üçün SMS} if (lux 100) {SendSMS4 (); // Light for SMS high} if (output_value == 950) {SendSMS7 (); // Quru Torpaq üçün SMS} else if if (output_value! = 950) {SendSMS6 (); // Nəmli Torpaq üçün SMS}} etibarsız SendSMS () {if (tempflag == 0) {Serial.println ("AT+CMGF = 1"); gecikmə (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); gecikmə (500); Serial.print ("Temp High",); Serial.print ("Temp"); Serial çap (temperatur); Serial.println ("C dərəcəsi"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Yüksək Temp"); gecikmə (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temperatur"); lcd.setCursor (0, 1); lcd çap (temperatur); lcd.write (1); lcd.print ("C"); gecikmə (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS göndərilir"); gecikmə (1000); lcd.clear (); tempflag = 1; yoxla = 0; test = 0; gecikmə (10); }} etibarsız SendSMS1 () {if (tempflag == 1) {Serial.println ("AT+CMGF = 1"); gecikmə (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); gecikmə (500); Serial.print ("Temp Low",); Serial.print ("Temp"); Serial çap (temperatur); Serial.println ("C dərəcəsi"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Temp Low"); gecikmə (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temperatur"); lcd.setCursor (0, 1); lcd çap (temperatur); lcd.write (1); lcd.print ("C"); gecikmə (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS göndərilir"); gecikmə (1000); lcd.clear (); tempflag = 0; yoxla = 0; test = 0; gecikmə (10); }} etibarsız SendSMS2 () {if (humflag == 0) {Serial.println ("AT+CMGF = 1"); gecikmə (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); gecikmə (500); Serial.print ("Yüksək Nəmlik"); Serial çap (rütubət); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Yüksək Nəmlik"); gecikmə (1000); lcd.setCursor (0, 1); lcd.print ("Rütubət"); lcd çap (rütubət); lcd.print (" %"); gecikmə (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS göndərilir"); gecikmə (1000); lcd.clear (); humflag = 1; yoxla = 0; test = 0; gecikmə (10); }}
etibarsız SendSMS3 () {if (humflag == 1) {Serial.println ("AT+CMGF = 1"); gecikmə (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); gecikmə (500); Serial.print ("Aşağı Nəmlik"); Serial.print ("Rütubət"); Serial çap (rütubət); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Aşağı Nəmlik"); gecikmə (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Rütubət"); lcd.setCursor (0, 1); lcd çap (rütubət); lcd.print (" %"); gecikmə (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS göndərilir"); gecikmə (1000); lcd.clear (); humflag = 0; yoxla = 0; test = 0; gecikmə (10); }} etibarsız SendSMS4 () {if (lightflag == 0) {Serial.println ("AT+CMGF = 1"); // Mətn rejimində SMS göndərmək üçün gecikmə (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); // Təyinat telefon nömrəsinə keçin (500); Serial.print ("Yaxşı İŞIQ"); Serial.print ("İntensivlik"); Serial çapı (lüks); Serial.println ("LUX"); Serial.println ((char) 26); // dayandırma xarakteri Ctrl+Z lcd.setCursor (0, 0); lcd.print ("Yaxşı işıq"); gecikmə (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("İntensivlik"); lcd.setCursor (0, 1); lcd çap (lüks); lcd.print ("LUX"); gecikmə (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS göndərilir"); gecikmə (1000); lcd.clear (); işıq bayrağı = 1; yoxla = 0; test = 0; gecikmə (10); }} etibarsız SendSMS5 () {if (lightflag == 1) {Serial.println ("AT+CMGF = 1"); gecikmə (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); gecikmə (500); Serial.print ("LOW LIGHT,"); Serial.print ("İntensivlik"); Serial çapı (lüks); Serial.println ("LUX"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Aşağı işıq"); gecikmə (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("İntensivlik"); lcd.setCursor (0, 1); lcd çap (lüks); lcd.print ("LUX"); gecikmə (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS göndərilir"); gecikmə (1000); lcd.clear (); işıq bayrağı = 0; yoxla = 0; test = 0; gecikmə (10); }} etibarsız SendSMS6 () {if (tuproq bayrağı == 0) {Serial.println ("AT+CMGF = 1"); gecikmə (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); gecikmə (500); Serial.print ("Quru Torpaq"); Serial.print ("Nəm"); Serial.print (çıxış_dəyəri); Serial.println (" %"); Serial.println ((char) 26); lcd.setCursor (0, 0); lcd.print ("Quru Torpaq"); gecikmə (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Nəm"); lcd.setCursor (0, 1); lcd.print (çıxış_dəyəri); lcd.print (" %"); gecikmə (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS göndərilir"); gecikmə (1000); lcd.clear (); torpaq bayrağı = 1; yoxla = 0; test = 0; gecikmə (10); }} etibarsız SendSMS7 () {if (tuproq bayrağı == 1) {Serial.println ("AT+CMGF = 1"); gecikmə (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); gecikmə (500); Serial.print ("Yaş Torpaq"); Serial.print ("Nəm"); Serial.print (çıxış_dəyəri); Serial.println (" %"); Serial.println ((char) 26); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Yaş Torpaq"); gecikmə (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Nəm"); lcd.setCursor (0, 1); lcd.print (çıxış_dəyəri); lcd.print (" %"); gecikmə (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("SMS göndərilir"); gecikmə (1000); lcd.clear (); torpaq bayrağı = 0; yoxla = 0; test = 0; gecikmə (10); }}
Tövsiyə:
Nokia LCD ilə DSM501A ilə hava keyfiyyətinin monitorinqi: 7 addım
Nokia LCD ilə DSM501A ilə Hava Keyfiyyətinin Monitorinqi: Salam dostlar! Bu qısa təlimatda sizə evinizdə və ya hər yerdə hava qulluğunu necə izləyə biləcəyinizi göstərəcəyəm
E -poçt, SMS və Pushbullet Xəbərdarlığı ilə Isıtma Yağı Tank Qallonlarını İzləyin: 9 Addım (Şəkillərlə)
E -poçt, SMS və Pushbullet Xəbərdarlığı ilə Isıtma Yağı Tank Qallonlarını izləyin: TƏHLÜKƏSİZLİK MƏLUMATI: Hər kəsin " bunun qurulması/quraşdırılması təhlükəsizdirmi " - Mən bunu geribildirim/təhlükəsizlik mülahizələri üçün 2 fərqli neft şirkətinə apardım və bunu yanğınsöndürmə idarəsinin Yanğından Mühafizə Departamentinin köməkçisi C
ESP8266 və AskSensors IoT Cloud ilə Bitki Monitorinqi və Xəbərdarlıqları: 6 addım
ESP8266 və AskSensors IoT Cloud ilə Bitki Monitorinqi və Xəbərdarlıqları: Bu layihə, ESP8266 və AskSensors IoT Platformasını istifadə edərək ağıllı bitki izləmə sistemi qurmağı hədəfləyir. suvarmağa kömək edən
Arduino Paltaryuyan Quruducu Xəbərdarlığı - Blynk ilə Telefona Gedin: 5 Adım (Şəkillərlə)
Arduino Paltaryuyan Quruducu Xəbərdarlığı - Blynk ilə Telefona Push Bildiriş: Paltaryuyan maşınımız qarajdadır və yuyulmanın bitdiyini bildirən səs siqnalı eşitmirik. Evin harasında olmağımızdan asılı olmayaraq, dövr başa çatdıqda xəbər almaq üçün bir yol tapmaq istədim. Arduino, ESP8266 WiFi ilə məşğul oluram
Gnuplot Görüntü Çıxışı və E -poçt Xəbərdarlığı Bacarığı ilə Raspberry Pi Nəzarət olunan Otaq İstiliyinin İzlənməsi: 7 Addım
Gnuplot Görüntü Çıxış və E -poçt Xəbərdarlığı Bacarığı ilə Raspberry Pi Nəzarətli Otaq İstiliyinin İzlənməsi: İşlədiyim yerdə çoxlu kompüterlərin yerləşdiyi çox vacib bir otaq var. Bu sistemlərin işini optimallaşdırmaq üçün bu otağın ətraf temperaturu çox sərin olmalıdır. Məndən bacarığı olan bir monitorinq sistemi hazırlamağımı istədilər