دارة ري اوتوماتيكية باستخدام الاردوينو

جرب أداة القضاء على المشاكل





في هذا المنشور ، سنقوم ببناء نظام آلي للري بالمياه للحدائق الصغيرة باستخدام مستشعر اردوينو ورطوبة التربة.

مقدمة

يمكن للنظام المقترح مراقبة مستوى رطوبة التربة وعندما تنخفض رطوبة التربة عن القيمة المحددة مسبقًا ، سيتم تشغيل مضخة 12V DC لفترة زمنية محددة مسبقًا. يمكن مراقبة حالة مستوى رطوبة التربة والوظائف الأخرى للنظام عبر شاشة عرض LCD مقاس 16 × 2 في الوقت الفعلي.



تشير التقديرات إلى أن هناك 3 تريليونات شجرة في جميع أنحاء العالم وهي أكبر من عدد البداية في مجرتنا درب التبانة والتي تقدر بنحو 100 مليار. لكننا نحن البشر نقطع عددًا لا يحصى من الأشجار لتلبية احتياجاتنا الأساسية لاحتياجاتنا الفاخرة.

تم تصميم الطبيعة الأم بنظام التغذية المرتدة ، عندما يتسبب أحد الأنواع في حدوث اضطرابات كبيرة ، فإن الطبيعة ستمحو الأنواع من الوجود.



كان البشر يزعجون الطبيعة عن غير قصد لعدة قرون ، ولكن حتى بعد التطور الكبير في العلوم والتكنولوجيا ، لم ينخفض ​​معدل الاضطراب.

تغير المناخ هو أحد الأمثلة ، عندما يصبح جذريًا بما فيه الكفاية لن يدوم جنسنا طويلًا.
يأخذ هذا المشروع خطوة صغيرة إلى الأمام للحفاظ على الطبيعة ، ويمكنه ري حديقتك الصغيرة الجميلة دون أي تفاعل بشري. دعنا الآن ندخل إلى التفاصيل الفنية للمشروع.

مستشعر رطوبة التربة:

قلب المشروع مستشعر رطوبة التربة والتي يمكن أن تستشعر كمية المحتوى الرطوبي في التربة. يعطي المستشعر قيمة تمثيلية وسيقوم المتحكم الدقيق بتفسير هذه القيم وعرض محتوى الرطوبة.

هناك قطبان كهربائيان ، سيتم إدخالهما في التربة. يتم توصيل الأقطاب الكهربائية بلوحة دائرة تتكون من مقارن IC و LED ومدخلات المقاوم ومسامير الإخراج.

رسم توضيحي لجهاز استشعار رطوبة التربة:

وحدة استشعار رطوبة التربة

يحتوي على 4 + 2 دبابيس ، 2 دبابيس لوصلة القطب وبقية المسامير الأربعة هي Vcc و GND والإخراج الرقمي والإخراج التناظري. سنستخدم فقط دبوس الإخراج التناظري لاستشعار رطوبة التربة.
نظرًا لأننا لا نستخدم دبوس الإخراج الرقمي ، فلن نستخدم مقاوم التشذيب الموجود على اللوحة لمعايرة المستشعر.

الآن ، هذا يخلص مستشعر رطوبة التربة.

رسم تخطيطى:

يتم الاحتفاظ بالحلبة بسيطة إلى حد ما وسهلة الاستخدام للمبتدئين. ينقسم التخطيطي إلى جزأين من نفس المشروع لتقليل الارتباك أثناء تكرار المشروع.

مخطط الأسلاك LCD لنظام الري التلقائي

التخطيطي أعلاه هو LCD لاردوينو الأسلاك. يتم توفير مقياس جهد 10K لضبط تباين شاشة LCD.

نظام الري الآلي القائم على متحكم دقيق

فيما يلي باقي المخطط الذي يتكون من مستشعر رطوبة التربة ومضخة تيار مستمر 12 فولت وزر ضغط معايرة ومصدر طاقة 12 فولت (1 - 2 أمبير). يرجى استخدام مصدر طاقة أكبر من 500mA على الأقل من التصنيف الحالي لمضخة 12V DC.

يتم استخدام MOSFET IRF540N (أو أي قناة N مكافئة) بدلاً من BJTs لتحسين كفاءة الطاقة الإجمالية للنظام.

سوف تسقي المضخة حديقة صغيرة ، تأكد دائمًا من توفر كمية كافية من الماء.

كود البرنامج:

//-------------Program Developed By R.Girish-------------//
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2)
int Time = 5 // Set time in minutes
int threshold = 30 // set threshold in percentage 80, 70, 60, 50, 40, 30, 20 only.
int i
int x
int y
int z
int start
int calibrateValue
const int calibrateBTN = A1
const int input = A0
const int motor = 7
boolean calibration = false
boolean rescue = false
void setup()
{
Serial.begin(9600)
pinMode(input, INPUT)
pinMode(calibrateBTN, INPUT)
pinMode(motor, OUTPUT)
digitalWrite(calibrateBTN, HIGH)
lcd.begin(16,2)
lcd.setCursor(0,0)
lcd.print('Pour water and')
lcd.setCursor(0,1)
lcd.print('press calibrate')
while(!calibration)
{
if(digitalRead(calibrateBTN)==LOW)
{
calibrateValue = analogRead(input)
x = 1023 - calibrateValue
x = x/10
Serial.print('Difference = ')
Serial.println(x)
Serial.print('Calibration Value = ')
Serial.println(calibrateValue)
delay(500)
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Calibration done')
lcd.setCursor(0,1)
lcd.print('successfully !!!')
calibration = true
delay(2000)
}
}
}
void loop()
{
if(analogRead(input)<= calibrateValue)
{
delay(500)
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Soil Moisture')
lcd.setCursor(0,1)
lcd.print('Level: 100%')
}
if(analogRead(input) > calibrateValue && analogRead(input) <= calibrateValue+x)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Soil Moisture')
lcd.setCursor(0,1)
lcd.print('Level: 90 to 99%')
}
if(analogRead(input) > calibrateValue+x && analogRead(input) <= calibrateValue+2*x )
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Soil Moisture')
lcd.setCursor(0,1)
lcd.print('Level: 80 to 90%')
start = 80
}
if(analogRead(input) > calibrateValue+2*x && analogRead(input) <= calibrateValue+3*x)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Soil Moisture')
lcd.setCursor(0,1)
lcd.print('Level: 70 to 80%')
start = 70
}
if(analogRead(input) > calibrateValue+3*x && analogRead(input) <= calibrateValue+4*x)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Soil Moisture')
lcd.setCursor(0,1)
lcd.print('Level: 60 to 70%')
start = 60
}
if(analogRead(input) > calibrateValue+4*x && analogRead(input) <= calibrateValue+5*x)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Soil Moisture')
lcd.setCursor(0,1)
lcd.print('Level: 50 to 60%')
start = 50
}
if(analogRead(input) > calibrateValue+5*x && analogRead(input) <= calibrateValue+6*x)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Soil Moisture')
lcd.setCursor(0,1)
lcd.print('Level: 40 to 50%')
start = 40
}
if(analogRead(input) > calibrateValue+6*x && analogRead(input) <= calibrateValue+7*x)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Soil Moisture')
lcd.setCursor(0,1)
lcd.print('Level: 30 to 40%')
start = 30
}
if(analogRead(input) > calibrateValue+7*x && analogRead(input) <= calibrateValue+8*x)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Soil Moisture')
lcd.setCursor(0,1)
lcd.print('Level: 20 to 30%')
start = 20
}
if(analogRead(input) > calibrateValue+8*x && analogRead(input) <= calibrateValue+9*x)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Soil Moisture')
lcd.setCursor(0,1)
lcd.print('Level: 10 to 20%')
start = 10
}
if(analogRead(input) > calibrateValue+9*x && analogRead(input) <= calibrateValue+10*x)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('Soil Moisture')
lcd.setCursor(0,1)
lcd.print('Level: <10%')
rescue = true
}
if(start == threshold || rescue)
{
y = Time
digitalWrite(motor, HIGH)
Time = Time*60
z = Time
for(i=0 i

كيفية معايرة نظام الري الآلي هذا:

• مع الأجهزة المكتملة ، أدخل القطب على التربة ، في مكان ما على مسار تدفق المياه.
• الآن قم بتغيير القيمتين في البرنامج 1) مقدار الوقت المستغرق لسقي جميع النباتات (بالدقائق). 2) مستوى العتبة الذي تحته يقوم اردوينو بتشغيل المضخة. يمكنك تعيين قيم النسب المئوية 80 ، 70 ، 60 ، 50 ، 40 ، 30 ، 20 فقط.

Int Time = 5 // اضبط الوقت بالدقائق
عتبة int = 30 // تعيين العتبة بالنسبة المئوية 80 ، 70 ، 60 ، 50 ، 40 ، 30 ، 20 فقط.

قم بتغيير القيم في البرنامج.

• تحميل الكود إلى اردوينو وتشغيل الدائرة. سيعرض 'صب الماء واضغط معايرة'. الآن عليك سقي حديقتك يدويًا إلى مستوى كافٍ.
• بعد سقي الحديقة ، اضغط على زر المعايرة. سيحدد هذا توصيل الكهرباء في تربة رطبة بالكامل ويطلق النار على القيمة المرجعية.
• الآن النظام جاهز لخدمة حديقتك الصغيرة. يرجى محاولة إضافة نسخة احتياطية للطاقة لهذا المشروع. عندما تنقطع الطاقة ، سيتم مسح القيمة المرجعية التي تمت معايرتها من الذاكرة وسيتعين عليك معايرة النظام مرة أخرى.

النموذج الأولي للمؤلف:

صورة النموذج الأولي للري التلقائي القائم على اردوينو

بيان مستوى رطوبة التربة:

بمجرد تشغيل المضخة ، ستعرض الوقت المتبقي لإيقاف التشغيل (بالثواني).




زوج من: 3 دوائر حماية إنذار الليزر الذكية التالي: شرح مضخم OCL