সুচিপত্র:

এসএমএস সতর্কতা সহ উদ্ভিদ পর্যবেক্ষণ: 5 টি ধাপ
এসএমএস সতর্কতা সহ উদ্ভিদ পর্যবেক্ষণ: 5 টি ধাপ

ভিডিও: এসএমএস সতর্কতা সহ উদ্ভিদ পর্যবেক্ষণ: 5 টি ধাপ

ভিডিও: এসএমএস সতর্কতা সহ উদ্ভিদ পর্যবেক্ষণ: 5 টি ধাপ
ভিডিও: ক্ষুদে বিজ্ঞানীদের বিজ্ঞান মেলা 2024, জুলাই
Anonim
এসএমএস সতর্কতা সহ উদ্ভিদ পর্যবেক্ষণ
এসএমএস সতর্কতা সহ উদ্ভিদ পর্যবেক্ষণ

এখানে আমি এসএমএস সতর্কতা সহ উদ্ভিদ পর্যবেক্ষণ তৈরি করি। এই সতর্কতা ব্যবস্থার জন্য সার্ভারের প্রয়োজন নেই। এটি খুবই সস্তা এবং নির্ভরযোগ্য প্রকল্প।

ধাপ 1: সিস্টেমের ব্লক ডায়াগ্রাম

সিস্টেমের ব্লক ডায়াগ্রাম
সিস্টেমের ব্লক ডায়াগ্রাম

আজকের গ্রীনহাউসে, অনেকগুলি প্যারামিটার পরিমাপের প্রয়োজন হয়

উদ্ভিদের ভাল মানের এবং উৎপাদনশীলতার জন্য নিরীক্ষণ ও নিয়ন্ত্রণ করা। কিন্তু কাঙ্ক্ষিত ফলাফল পেতে কিছু গুরুত্বপূর্ণ বিষয় রয়েছে যা তাপমাত্রা, আর্দ্রতা, হালকা এবং ভাল মাটির মতো কাজ করে, যা উদ্ভিদের ভাল বৃদ্ধির জন্য প্রয়োজনীয়। এই পরামিতিগুলি মাথায় রেখে আমি আরডুইনো ব্যবহার করে জিএসএম মডিউলের উপর একটি স্বয়ংক্রিয় উদ্ভিদ পর্যবেক্ষণ ব্যবস্থা তৈরি করেছি। ভালো মানের গাছপালা জন্মানোর জন্য এই ব্যবস্থা খুবই কার্যকরী। এই প্রকল্পের অন্য গুরুত্বপূর্ণ অংশ হল এটি সম্পূর্ণ স্বয়ংক্রিয় এবং কম ভোল্টেজের মতো কাজ করছে; 5-12V ডিসি সরবরাহ।

এখন একটি দিন জিএসএম মডিউল ব্যাপকভাবে ব্যবহার করা হয় যে কোন ধরনের ডেটার এসএমএস স্ট্যাটাস পাঠানোর জন্য। এখানে এই প্রকল্পে SIM900A GSM মডিউল ব্যবহার করে আমরা উদ্ভিদের উপর জলবায়ুর প্রভাব সম্পর্কে তথ্য রাখতে পারি। সিস্টেমটি জলবায়ু পরিবর্তনও প্রদর্শন করবে যা উদ্ভিদকে তার উৎপাদনশীলতা এবং গুণমান ইত্যাদি প্রভাবিত করে। এই প্রকল্পের সাথে আসার মূল উদ্দেশ্য হল একটি স্বয়ংক্রিয় উদ্ভিদ পর্যবেক্ষণ তৈরি করা যেখানে GSM মডিউল তাপমাত্রা, আর্দ্রতা, আলোর তীব্রতা, মাটি সম্পর্কে তথ্য পাঠায়। আর্দ্রতা

কারণ আমি ভারতীয় নাগরিক, SIM900A (A এর অর্থ এশিয়ান নেটওয়ার্ক) মডিউল কিন্তু আপনি আপনার দেশ অনুযায়ী বিভিন্ন ধরনের সিম মডিউল ব্যবহার করতে পারেন। AT কোড ভিন্ন হতে পারে।

ধাপ 2: উপাদান বিস্তারিত

উপাদান বিস্তারিত
উপাদান বিস্তারিত
উপাদান বিস্তারিত
উপাদান বিস্তারিত
উপাদান বিস্তারিত
উপাদান বিস্তারিত

------------------ আমি চার ধরনের প্যারামিটার পরিমাপ করি, যা চলছে

নিচে আলোচনা করতে: ------------------

তাপমাত্রা এবং আর্দ্রতা

ডিএইচটি 11 সেন্সর তাপমাত্রা এবং আর্দ্রতা সেন্সিংয়ের জন্য ব্যবহৃত হয়। যখন তাপমাত্রা এবং আর্দ্রতা বেশি থাকে তখন গাছের শিকড় ক্ষতিগ্রস্ত হয় এবং গাছের বৃদ্ধি ভাল হয় না।

আলোর তীব্রতা

উদ্ভিদের বৃদ্ধির জন্য আলোর তীব্রতা একটি গুরুত্বপূর্ণ বিষয়। আলোর তীব্রতা শনাক্ত করার জন্য এলডিআর (লাইট ডিপেন্ডেন্ট রেজিস্টর) ব্যবহার করা হয়। আলোর তীব্রতা LUX এ পরিমাপ করা হয় এবং সেইজন্য প্রদর্শনের জন্য 100 LUX আলো সংজ্ঞায়িত বা থ্রেশহোল্ড স্তর হিসাবে ব্যবহৃত হয়।

মাটির আদ্রতা

গাছের ভাল বৃদ্ধির জন্য মাটির আর্দ্রতা খুবই গুরুত্বপূর্ণ। এখানে মাটির সেন্সর মাটির আর্দ্রতা পরিমাপ করতে ব্যবহৃত হয়। এই সেন্সর ব্যবহার করে আমরা মাটির তথ্য উভয় উপায়ে পরিমাপ করতে পারি, এনালগের পাশাপাশি ডিজিটালও।

এসএমএস বিজ্ঞপ্তি:

যখন উপরের কোন প্যারামিটারের মান একটি নির্ধারিত স্তর বা সমালোচনামূলক স্তর থেকে অতিক্রম করে, তখন সিস্টেম স্বয়ংক্রিয়ভাবে সংশ্লিষ্ট পরামিতিগুলির তথ্য সহ মালিক বা অপারেটরকে এসএমএস পাঠায় এবং যখন মানটি স্বাভাবিক পরিসরে আসে বা সংজ্ঞায়িত স্তরের নিচে আবার সিস্টেম স্বয়ংক্রিয়ভাবে মালিক বা অপারেটরকে এসএমএস পাঠান সংশ্লিষ্ট তথ্যের তথ্য সহ।

শর্ত পরিবর্তন না হওয়া পর্যন্ত বিজ্ঞপ্তিটি শুধুমাত্র একবার পাঠান যাতে মালিক বা অপারেটর বারবার এসএমএস না পান। অতএব, কম এসএমএস প্যাক প্রয়োজন।

ধাপ 3: সার্কিট ডায়াগ্রাম

বর্তনী চিত্র
বর্তনী চিত্র

এই সব যন্ত্রাংশ যে কোন অনলাইন শপিং সাইটে সহজেই পাওয়া যায়

অথবা সুপরিচিত ইলেকট্রনিক্স খুচরা যন্ত্রাংশ বিক্রেতার সাথে। সমস্ত উপাদান ডেটশীট ওয়েবে উপলব্ধ। কোন অসুবিধা হলে নির্দ্বিধায় আমার মেইলে যোগাযোগ করুন।

ধাপ 4: ওয়ার্কিং ভিডিও এবং কোড ফাইল

প্রকল্পের চূড়ান্ত কাজ ভিডিও

ধাপ 5: প্রোগ্রাম কোড

#অন্তর্ভুক্ত

#অন্তর্ভুক্ত

লিকুইডক্রিস্টাল এলসিডি (2, 3, 4, 5, 6, 7);

dht DHT; #dht_dpin A1 নির্ধারণ করুন #LUX A0 নির্ধারণ করুন #মাটি A3 নির্ধারণ করুন

ভাসা ভোল্ট, লাক্স, মান; int output_value; তাপমাত্রা, আর্দ্রতা; int lightflag = 0; int humflag = 0; int মৃত্তিকা = 0; int tempflag = 0; int চেক; int পরীক্ষা, test1; বাইট ডিগ্রী [8] = {0b00011, 0b00011, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000, 0b00000};

অকার্যকর সেটআপ()

{Serial.begin (9600); // জিএসএম মডেম lcd.begin (16, 2) এর সাথে যোগাযোগের জন্য সিরিয়াল শুরু করুন; পিনমোড (মাটি, ইনপুট); 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 ("এস কে ছায়া দ্বারা"); বিলম্ব (1000); lcd.clear (); } অকার্যকর লুপ () {output_value = analogRead (মাটি); output_value = মানচিত্র (output_value, 550, 0, 0, 100); মান = analogRead (LUX); ভোল্ট = (মান / 1023.0) * 5; lux = ((2500 / ভোল্ট) - 500) / 3.3; বিলম্ব (10000); // জিএসএম নেটওয়ার্ক DHT.read11 (dht_dpin) এ নিবন্ধনের জন্য পর্যাপ্ত সময় দিন; lcd.clear (); lcd.setCursor (0, 0); lcd.print ("Temp"); lcd.setCursor (0, 1); lcd.print (তাপমাত্রা = DHT.temperature); // এলসিডি 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.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 ();

যদি (তাপমাত্রা 40) {SendSMS (); // উচ্চ তাপমাত্রার জন্য এসএমএস} যদি (আর্দ্রতা 40) {SendSMS2 (); // আর্দ্রতা উচ্চতার জন্য এসএমএস} যদি (বিলাস 100) {SendSMS4 (); // হালকা উচ্চতার জন্য এসএমএস} যদি (output_value == 950) {SendSMS7 (); // শুকনো মাটির জন্য এসএমএস} অন্যথায় (আউটপুট_ভ্যালু! = 950) {SendSMS6 (); // ভেজা মাটির জন্য এসএমএস}} অকার্যকর SendSMS () {যদি (tempflag == 0) {Serial.println ("AT+CMGF = 1"); বিলম্ব (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); বিলম্ব (500); সিরিয়াল.প্রিন্ট ("টেম্প হাই,"); সিরিয়াল.প্রিন্ট ("টেম্প"); সিরিয়াল.প্রিন্ট (তাপমাত্রা); 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.write (1); lcd.print ("C"); বিলম্ব (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("এসএমএস পাঠানো"); বিলম্ব (1000); lcd.clear (); tempflag = 1; চেক = 0; পরীক্ষা = 0; বিলম্ব (10); }} অকার্যকর SendSMS1 () {যদি (tempflag == 1) {Serial.println ("AT+CMGF = 1"); বিলম্ব (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); বিলম্ব (500); সিরিয়াল.প্রিন্ট ("টেম্প লো,"); সিরিয়াল.প্রিন্ট ("টেম্প"); সিরিয়াল.প্রিন্ট (তাপমাত্রা); 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.write (1); lcd.print ("C"); বিলম্ব (1000); lcd.clear (); lcd.setCursor (0, 0); lcd.print ("এসএমএস পাঠানো"); বিলম্ব (1000); lcd.clear (); tempflag = 0; চেক = 0; পরীক্ষা = 0; বিলম্ব (10); }} অকার্যকর SendSMS2 () {যদি (humflag == 0) {Serial.println ("AT+CMGF = 1"); বিলম্ব (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); বিলম্ব (500); সিরিয়াল.প্রিন্ট ("আর্দ্রতা উচ্চ"); সিরিয়াল.প্রিন্ট (আর্দ্রতা); 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 ("এসএমএস পাঠানো"); বিলম্ব (1000); lcd.clear (); humflag = 1; চেক = 0; পরীক্ষা = 0; বিলম্ব (10); }}

অকার্যকর SendSMS3 () {যদি (humflag == 1) {Serial.println ("AT+CMGF = 1"); বিলম্ব (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); বিলম্ব (500); সিরিয়াল.প্রিন্ট ("কম আর্দ্রতা,"); সিরিয়াল.প্রিন্ট ("আর্দ্রতা"); সিরিয়াল.প্রিন্ট (আর্দ্রতা); 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 ("এসএমএস পাঠানো"); বিলম্ব (1000); lcd.clear (); humflag = 0; চেক = 0; পরীক্ষা = 0; বিলম্ব (10); }} অকার্যকর SendSMS4 () {যদি (lightflag == 0) {Serial.println ("AT+CMGF = 1"); // টেক্সট মোডে বিলম্ব (500) এ এসএমএস পাঠাতে; Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); // গন্তব্য ফোন নম্বর বিলম্বের পরিবর্তন (500); 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 ("এসএমএস পাঠানো"); বিলম্ব (1000); lcd.clear (); লাইটফ্লাগ = 1; চেক = 0; পরীক্ষা = 0; বিলম্ব (10); }} অকার্যকর SendSMS5 () {যদি (lightflag == 1) {Serial.println ("AT+CMGF = 1"); বিলম্ব (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); বিলম্ব (500); Serial.print ("LOW LIGHT,"); সিরিয়াল.প্রিন্ট ("তীব্রতা"); 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 ("এসএমএস পাঠানো"); বিলম্ব (1000); lcd.clear (); lightflag = 0; চেক = 0; পরীক্ষা = 0; বিলম্ব (10); }} অকার্যকর SendSMS6 () {যদি (soilflag == 0) {Serial.println ("AT+CMGF = 1"); বিলম্ব (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); বিলম্ব (500); সিরিয়াল.প্রিন্ট ("শুকনো মাটি,"); সিরিয়াল.প্রিন্ট ("আর্দ্রতা"); 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 ("এসএমএস পাঠানো"); বিলম্ব (1000); lcd.clear (); মাটিফ্লাগ = 1; চেক = 0; পরীক্ষা = 0; বিলম্ব (10); }} অকার্যকর SendSMS7 () {যদি (soilflag == 1) {Serial.println ("AT+CMGF = 1"); বিলম্ব (500); Serial.println ("AT+CMGS = \"+919979897404 / "\ r"); বিলম্ব (500); সিরিয়াল.প্রিন্ট ("ভেজা মাটি,"); সিরিয়াল.প্রিন্ট ("আর্দ্রতা"); 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 ("এসএমএস পাঠানো"); বিলম্ব (1000); lcd.clear (); মাটিফ্লাগ = 0; চেক = 0; পরীক্ষা = 0; বিলম্ব (10); }}

প্রস্তাবিত: