Мазмұны:
- 1 -қадам: жүйенің блок -схемасы
- 2 -қадам: компоненттер туралы егжей -тегжейлі
- 3 -қадам: схема
- 4 -қадам: жұмыс істейтін бейне және код файлы
- 5 -қадам: Программаның коды
Бейне: SMS ескертуімен өсімдіктерді бақылау: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Мұнда мен SMS ескертуі арқылы өсімдіктердің мониторингісін жасаймын. Бұл ескерту жүйесі үшін сервер қажет емес. Бұл өте арзан және сенімді жоба.
1 -қадам: жүйенің блок -схемасы
Қазіргі жылыжайларда көптеген параметрлерді өлшеу қажет
өсімдіктердің жақсы сапасы мен өнімділігін бақылау және бақылау. Қажетті нәтижеге қол жеткізу үшін өсімдіктердің жақсы өсуі үшін қажет температура, ылғалдылық, жарық және жақсы топырақ сияқты маңызды факторлар бар. Осы параметрлерді ескере отырып, мен Arduino көмегімен GSM модулі арқылы өсімдіктерді бақылаудың автоматты жүйесін құрдым. Бұл жүйе сапалы өсімдіктерді өсіру үшін өте тиімді. Бұл жобаның тағы бір маңызды бөлігі - ол толық автоматты және төмен кернеуде жұмыс істейді; 5-12В тұрақты ток көзі.
Қазіргі уақытта 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_dpin A1 анықтаңыз #LUX A0 анықтаңыз #топырақты анықтаңыз A3
өзгермелі вольт, люкс, мән; int output_value; температура, ылғалдылық; int lightflag = 0; int humflag = 0; int топырақ жалауы = 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 ЖОБАСЫ»); 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 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 («С дәрежесі»); 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; тексеру = 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 («С дәрежесі»); 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; тексеру = 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.print (ылғалдылық); lcd.print (« %»); кешіктіру (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («SMS жіберу»); кешіктіру (1000); lcd.clear (); гумфлаг = 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.print (ылғалдылық); lcd.print (« %»); кешіктіру (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («SMS жіберу»); кешіктіру (1000); lcd.clear (); гумфлаг = 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.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 (); жарық жалауы = 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.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 (); жарық жалауы = 0; тексеру = 0; тест = 0; кешіктіру (10); }} жарамсыз 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 (output_value); lcd.print (« %»); кешіктіру (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («SMS жіберу»); кешіктіру (1000); lcd.clear (); топырақ жалауы = 1; тексеру = 0; тест = 0; кешіктіру (10); }} жарамсыз 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 (output_value); lcd.print (« %»); кешіктіру (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print («SMS жіберу»); кешіктіру (1000); lcd.clear (); топырақ жалауы = 0; тексеру = 0; тест = 0; кешіктіру (10); }}
Ұсынылған:
Arduino топырақ ылғалдылығын бақылау таяқшасы - өсімдіктерді суаруды ешқашан ұмытпаңыз: 4 қадам (суреттермен)
Arduino топырағындағы ылғалдылықты бақылау таяқшасы - өсімдіктеріңізді суаруды ешқашан ұмытпаңыз: Сіз жиі жабық өсімдіктерді суаруды ұмытасыз ба? Немесе сіз оларға тым көп көңіл бөліп, оларды суарып тастаған шығарсыз? Егер солай болса, онда сіз батареямен жұмыс істейтін топырақтың ылғалдылығын бақылауға арналған таяқша жасауыңыз керек. Бұл мониторда сыйымдылықты топырақ ылғалдылығы қолданылады
SMS және бақылау релесін SMS арқылы жіберу үшін SIM800L қалай пайдалануға болады: 3 қадам
SMS пен бақылау релесін SMS арқылы жіберу үшін SIM800L қалай қолдануға болады: Сипаттама: Бұл оқулықта реле басқару үшін SMS жіберу және SMS алу үшін SIM800L пайдалану әдісі көрсетілген. SIM800L модулі шағын өлшемді және Arduino -мен смс жіберу, смс алу, қоңырау шалу, қоңырау шалу және т.б. үшін интерфейс үшін пайдаланылуы мүмкін. Бұл оқулықта
Мини DIY гидропоникалық жүйелері мен DIY гидропоникалық шөптер бақшасын WiFi ескертуімен жасаңыз: 18 қадам
Мини DIY гидропоникалық жүйелері мен DIY гидропоникалық шөптер бақшасын WiFi ескертуімен жасаңыз: Бұл оқулықта біз сізге #DIY #гидропоника жүйесін қалай құруды көрсетеміз. Бұл DIY гидропоникалық жүйесі гидропоникалық суару циклі бойынша 2 минут қосылып, 4 минут үзіліспен суарылады. Ол сонымен қатар су қоймасындағы судың деңгейін бақылайды. Бұл жүйе
PInt@t10n: Ақылды өсімдіктерді бақылау жүйесі: 9 қадам
PInt@t10n: Smart Plant Monitoring System: PI@nt@t10nБұл жоба ibm iot бұлтына тест ретінде жасалған. Біз IBM бұлтына деректерді жіберу және алу үшін esp-8266 қолданамыз. Esp және ibm бұлты арасындағы байланыс MQTT арқылы жүзеге асады. Барлық деректерді өңдеу және ұсыну үшін
IoT өсімдіктерді бақылау жүйесі (IBM IoT платформасымен): 11 қадам (суреттермен)
Өсімдіктерді бақылаудың IoT жүйесі (IBM IoT платформасымен): Шолу Өсімдіктерді бақылау жүйесі (PMS) - бұл жасыл бармақты ескере отырып, жұмыс сыныбындағы адамдармен жасалған бағдарлама. Бүгінде жұмыс істейтін адамдар бұрынғыдан да көп жұмыс жасайды; мансапты жоғарылату және қаржыларын басқару