فهرست مطالب:

DIY - آبیاری خودکار باغ - (Arduino / IOT): 9 مرحله (همراه با تصاویر)
DIY - آبیاری خودکار باغ - (Arduino / IOT): 9 مرحله (همراه با تصاویر)

تصویری: DIY - آبیاری خودکار باغ - (Arduino / IOT): 9 مرحله (همراه با تصاویر)

تصویری: DIY - آبیاری خودکار باغ - (Arduino / IOT): 9 مرحله (همراه با تصاویر)
تصویری: Automated irrigation with Arduino 2024, نوامبر
Anonim
DIY - آبیاری خودکار باغ - (Arduino / IOT)
DIY - آبیاری خودکار باغ - (Arduino / IOT)
DIY - آبیاری خودکار باغ - (Arduino / IOT)
DIY - آبیاری خودکار باغ - (Arduino / IOT)
DIY - آبیاری خودکار باغ - (Arduino / IOT)
DIY - آبیاری خودکار باغ - (Arduino / IOT)

این پروژه به شما نشان می دهد که چگونه یک کنترل کننده آبیاری برای باغچه خانگی بسازید. قابلیت اندازه گیری رطوبت خاک و فعال کردن آبیاری از شیر باغ در صورت خشک شدن بیش از حد خاک. این کنترلر همچنین دارای سنسور دما و رطوبت است. اگر درجه حرارت خیلی پایین باشد کنترل کننده شیر باغ را فعال نمی کند. برای تجسم و تجزیه و تحلیل ، قرائت سنسورها و آمار مصرف و زمان اجرا در ThingsBoard IOT ثبت می شود. اگر کنترل کننده آبیاری انتقال داده ها را متوقف کند ، خاک خیلی خشک یا اشباع شود ، هشدارها و ایمیل ها فعال می شوند.

پیش نیازها

  • دانش آردوینو شامل حداقل برنامه نویسی اولیه برای آردوینو و لحیم کاری.
  • 1 برابر شیر باغی تحت فشار

بیل مواد

  • لوله پلی آبیاری باغ ، جت ، قطره چکان و غیره
  • تایمر الکترونیکی دو ضربه ای (به عنوان مثال: Aqua Systems Electronic Tap Timer)
  • شیر فشار 300kpa را فشار دهید
  • آردوینو اونو
  • سپر لورا آردوینو
  • دروازه لورا (در صورت داشتن دروازه محلی Things Network در محدوده مورد نیاز نیست)
  • سنسور رطوبت دما DHT11
  • رله 5 ولت
  • کابل تلفن
  • کابل کراوات
  • لوله های موج دار اسپلیت خودرو
  • نوارهای اتصال دهنده ترمینال خودرو
  • 2 عدد میخ گالوانیزه
  • 1 برابر مقاومت
  • سیلیکون / Caulk
  • سیمان PVC
  • آغازگر PVC
  • لوله پی وی سی 32 میلی متر عرض 60 میلی متر طول
  • لوله پی وی سی 90 میلی متر عرض 30 سانتی متر طول
  • درپوش سه بعدی PVC با فشار 90 میلی متر
  • 1 درپوش پی وی سی سرپوش 90 میلیمتری
  • 1x اتصالات ورودی رزوه ای PVC 90 میلی متر
  • 1 عدد درپوش PVC فشار 32 میلی متر
  • منبع تغذیه 1x 3.2V (تایمر ضربه بزنید) [باتری ، آداپتور چند ولت AC]
  • 1x منبع تغذیه 6-12 ولت (آردوینو) [باتری ، USB ، آداپتور USB به AC]
  • نوار مهر و موم نخ
  • نوار الکتریکی

مرحله 1: آبیاری باغ را نصب کنید

آبیاری باغ را نصب کنید
آبیاری باغ را نصب کنید
آبیاری باغ را نصب کنید
آبیاری باغ را نصب کنید

طرح پلی لوله ، جت های مناسب ، خطوط قطره چکان و قطره چکان ها. کنترل کننده آبیاری با هر آبیاری مناسب کار می کند. در هسته اصلی آن اندازه گیری رطوبت خاک و فعال کردن زمان سنج شیر در صورت خشک شدن بیش از حد خاک است. می توان کنترل کننده را تنظیم کرد تا نقطه پایینی را برای اشباع تعیین کند ، تایمر تایپ تا چه مدت باید روشن شود و هر چند وقت یکبار کنترل کننده باید اشباع را بررسی کند.

این تنظیمات را می توان در arduino تغییر داد و در حافظه EPROM ذخیره کرد. تنظیمات را می توان با ادغام IOT به روز کرد. این پروژه هر چهار ساعت یکبار کنترل کننده را اجرا می کند و اگر خاک خیلی خشک است شیر آب را به مدت 3 دقیقه باز می کند. اگر خشک/گرم یا یک بار در روز یا دو بار دیگر باشد ، ممکن است چند بار متوالی اجرا شود.

مرحله 2: Fit Tap Timer

تایمر مناسب ضربه زدن
تایمر مناسب ضربه زدن

تایمر ضربه بزنید و با شماره گیرهای قابل تنظیم آزمایش کنید تا فرکانس تقریبی و زمان اجرا را که برای نصب آبیاری شما مناسب است ، انجام دهید. ما تایمر را حذف کرده و آن را برای کار با آردوینو اصلاح می کنیم.

مرحله 3: ساخت آردوینو

ساخت آردوینو
ساخت آردوینو
ساخت آردوینو
ساخت آردوینو
ساخت آردوینو
ساخت آردوینو
ساخت آردوینو
ساخت آردوینو

از نمودار سیم کشی به عنوان راهنمای ساخت استفاده کنید. در عکسها از سیم کشی تلفن استفاده شده است و نوارهای پایانه را برای نقاط اتصال پیچ کنید. مقداری لحیم کاری مورد نیاز است.

روی Timer Modification ضربه بزنید

تایمر شیر را با دقت جدا کنید. دو سیم پیچ قابل تنظیم را سخت سیم کشی می کنیم تا بتوان آنها را به جای شماره گیرهای دستی توسط آردوینو کنترل کرد. شماره گیری فرکانس سمت چپ به موقعیت تنظیم مجدد متصل می شود تا شماره گیری راست بین موقعیت روشن/خاموش جابجا شود. شماره گیر سمت راست دارای یک سیم از تماس راست وسط و تماس بیرونی راست مطابق شکل است. به طور پیش فرض زمان سنج در حالت خاموش است. در صورت تماس دو سیم زمان سنج روشن می شود. با اتصال دو سیم به رله 5 ولت ، آردوینو می تواند تماس بین دو سیم را ببندد/باز کند. با یک سیم در ترمینال رله معمولی و دیگری در ترمینال معمولاً بسته ، اطمینان حاصل می کنیم که زمان خاموش شدن آردوینو زمان سنج است. با تنظیم پین رله روی HIGH ، تایمر روشن می شود. تنظیم آن روی LOW تایمر را خاموش می کند.

کاوشگر خاک

برای این پروژه ، دو میخ به سیم متصل به پایانه های پیچ وصل می شوند. پایانه یک میخ مستقیم به زمین می رود. دیگری به ورودی آنالوگ در آردوینو و یک مقاومت متصل می شود. مقاومت به سیگنال 5v آردوینوس متصل می شود. در نمودار پیچ خوردگی نشان داده شده است.

سنسور دما/رطوبت

سنسور دما/رطوبت DHT11 به سیم 5 ولت آردوینو ، زمین و پین دیجیتال روی آردوینو متصل می شود.

سپر لورا

این پروژه همچنین از Dragino Lora Shield (که در نمودار سیم کشی نشان داده نشده است) استفاده کرد.

پایه PVC

پایه PVC برای آردوینو مورد استفاده در این پروژه به گونه ای طراحی شده است که سنسور دما/رطوبت در حالی که تمام اجزای دیگر را در داخل محفظه PVC ضد آب محافظت می کند ، در معرض دید قرار گیرد. یک سوراخ کوچک برای سنسور ایجاد شده و بریده می شود و از سیلیکون برای نگه داشتن آن در محل و جلوگیری از رسیدن رطوبت به آردوینو استفاده می شود. در نمودار نشان داده شده است.

مرحله 4: برنامه نویسی آردوینو

برنامه نویسی آردوینو
برنامه نویسی آردوینو

برای برنامه نویسی و آزمایش ، اجزاء را از طریق تخته نورد یا نوارهای ترمینال به یکدیگر متصل کنید

پیکربندی EPROM

ابتدا باید متغیرهای پیکربندی را در حافظه EPROM بنویسیم. کد زیر را روی arduino خود اجرا کنید:

کد موجود در Github

در اینجا DRY_VALUE روی 960 تنظیم شده است. 1024 به این معنی است که خاک کاملاً خشک است ، 0 به معنی اشباع کامل است ، 960 سطح اشباع خوبی برای مقاومت ، طول کابل و میخ های مورد استفاده بود. این ممکن است بسته به پیکربندی شما متفاوت باشد.

VALVE_OPEN در 180000 میلی ثانیه (3 دقیقه) تنظیم شده است. وقتی/اگر تایمر ضربه بزنید ، 3 دقیقه باز می ماند.

RUN_INTERVAL روی 14400000 میلی ثانیه (4 ساعت) تنظیم شده است. این بدان معناست که کنترل کننده هر چهار ساعت رطوبت خاک را بررسی می کند و در صورت اشباع کم (بیشتر از 960) تایمر شیر را به مدت 3 دقیقه روشن می کند.

کد بالا را می توان تغییر داد و این مقادیر را در هر زمان تغییر داد.

کد برنامه

کد موجود در Github

وابستگی ها:

  • TimedAction
  • رئیس رادیو

در این مثال از سپر Dragino Lora و به طور خاص از مثال همزمان Lora استفاده شده است که سپر مستقیماً به دروازه Dragino Lora متصل می شود.

با حذف کد زیر بخش "BEGIN: lora vars" و تغییر برنامه به عنوان مثال Dragino زیر ، یا برای کار با سایر رادیوها/سپرهای وای فای و غیره ، می توانید این را برای استفاده از Things Network تنظیم کنید.

کد ارائه شده فرض می کند که DHT11_PIN پین 4 دیجیتال ، RELAY_PIN پین دیجیتال 3 و پین آنالوگ رطوبت خاک ورودی آنالوگ 0 است.

یک متغیر اشکال زدایی می تواند روی true تنظیم شود تا پیام های اشکال زدایی سریال در baudrate 9600 ثبت شوند.

مرحله 5: ساخت محوطه

ساخت محوطه
ساخت محوطه

لوله PVC را متناسب با تایمر شیر و پایه آردوینو برش دهید. سوراخ هایی برای اتصالات شیر زمان سنج شیر و اتصالات شلنگ ایجاد کنید. سوراخ هایی را در لوله به اندازه کافی برای مجرای خودرو ایجاد کنید ، طول 10 سانتیمتر لوله را داخل سوراخ ها کرده و سیم های آردوینو و تایمر را بیرون بیاورید. این باید شامل موارد زیر باشد:

از آردوینو

  • سیم های منبع تغذیه و/یا کابل usb از درگاه USB arduino.
  • کابلهای رطوبت خاک (VCC ، GND ، A0)
  • دو سیم از پایانه های پیچ NC و Common رله

از تایمر ضربه بزنید

  • کابل های منبع تغذیه
  • دو سیم از مخاطبین شماره گیری راست

مرحله 6: کنترل کننده را قبل از چسب زدن آزمایش کنید

تست کنترل قبل از چسباندن
تست کنترل قبل از چسباندن
تست کنترل قبل از چسباندن
تست کنترل قبل از چسباندن

قبل از مهر و موم کردن همه چیز ، مطمئن شوید که همه چیز هنوز کار می کند.

عکسهای بالا نمونه ای را در اسکی نشان می دهد که در آن کاوشگر رطوبت خاک در یک گلدان قرار داده شد و تایمر شیر آب را از بطری نوشابه نصب کرده بود.

یک قطره چکان به تایمر شیر وصل شد.

این یک روش خوب برای آزمایش این بود که تنظیمات بیش از حد یا زیر آب گیاه را انجام نمی دهند.

این مثال می تواند تا زمانی که لازم است برای کالیبراسیون کنترلر اجرا شود.

مرحله 7: محفظه های چسب / ضد آب

چسب / محفظه های ضد آب
چسب / محفظه های ضد آب

برای ایمن سازی درپوش های انتهایی و اتصال از PVC Primer و PVC سیمان استفاده کنید.

از چسب/سیلیکون برای پر کردن هرگونه شکاف در اطراف لوله خودکار و اتصالات تایمر استفاده کنید.

در اینجا یک سرپوش پیچ دار روی محفظه آردوینو برای دسترسی استفاده می شود.

مرحله 8: نصب کنید

نصب
نصب
نصب
نصب
نصب
نصب

در یک روز روشن نصب کنید. قطعات و سیمها قبل از آب بندی باید خشک بمانند.

کنترل کننده را در جایی قرار دهید که مرکز آن بین محل قرارگیری شیر باغ و کاوشگر خاک قرار گیرد.

تایمر ضربه بزنید و مطمئن شوید که تا زمانی که نصب به پایان نرسد ، برق آن خالی است.

کاوشگر خاک را نصب کنید.

پایانه های نواری را به هر جزء وصل کنید و سپس کابل تلفن را از پایانه های پیچ هر جزء جدا کنید و مطمئن شوید کابل در مجرای خودکار پوشانده شده است. همه چیز را به هم متصل می کند

تمام پایانه ها و سایر قسمتهای در معرض دید را با نوار چسب نخ و سپس نوار برقی ببندید.

هر قسمت شل/در معرض مجرای شکاف را با نوار مهر و موم نخ و سپس نوار برقی ببندید.

تایمر را به منبع تغذیه 3.2 ولت وصل کنید. یا یک باتری یا یک آداپتور AC 3.2V DC - AC که به پریز برق کار می کند.

آردوینو را به منبع تغذیه DC 6-12 ولت متصل کنید. یا یک باتری یا یک آداپتور USB / DC-AC که به پریز برق کار می کند.

روشن و تست کنید!

مرحله 9: ادغام ThingsBoard - نظارت و گزارش گیری

ThingsBoard ادغام - نظارت و گزارش
ThingsBoard ادغام - نظارت و گزارش

در این مثال از A Dragino Lora Shield متصل به دروازه Dragino Lora استفاده شده است. چه با استفاده از این تنظیمات ، چه از طریق تنظیمات دیگر Lora و چه از طریق اتصال IOT ، داده های جمع آوری شده توسط کنترل کننده آبیاری می تواند بر روی یک پلت فرم IOT مانند Thingsboard ارسال شود. به طور پیش فرض برنامه رشته داده زیر را ارسال می کند که در آن هر بایت کاراکتر به صورت شش ضلعی رمزگذاری شده است:

TXXXHXXXXXXXXXX

جایی که T به دنبال درجه حرارت ، H به دنبال رطوبت ، S به دنبال سطح اشباع و R به دنبال یک رقم واحد در مورد عملکردی که در آخرین بازه انجام داد دنبال می شود. این می تواند 0-5 باشد که هر رقم به معنی:

0: برنامه در حال راه اندازی 1 است: خطای سنسور دما 2: درجه حرارت بسیار پایین بود 3: رطوبت خاک بسیار خشک است بنابراین تایمر شیر فعال شد 4: رطوبت خاک خوب است بنابراین تایمر شیر فعال نشده است 5: کنترل کننده آبیاری غیرفعال شده است

روشهای مختلفی برای نصب یک کپی از Thingsboard بر روی تجهیزات خود وجود دارد یا می توانید یک حساب رایگان در نصب ThingsBoard ما در اینجا ایجاد کنید.

دستگاه خود را در Thingsboard تنظیم کنید

برای افزودن یک دستگاه جدید در Thingsboard که آن را "کنترل کننده آبیاری" نامیده می شود ، این دستورالعمل ها را دنبال کنید.

داده های تله متری را از دستگاه فشار دهید

این دستورالعمل ها را برای تنظیم روشی برای انتقال داده های telemtry از دستگاه به Thingboard از طریق MQTT ، HTTP یا CoAp دنبال کنید.

در سرور ما JSON زیر را به https://thingsboard.meansofproduction.tech/api/v1/… هر چهار ساعت هنگامی که دستگاه اجرا می شود (با داده زنده) فشار می دهیم:

همچنین ما ویژگی های زیر را به صورت دوره ای به https://thingsboard.meansofproduction.tech/api/v1/… با داده های مربوط به زمان آخرین مشاهده گره فشار می دهیم:

این برای هشدارهایی استفاده می شود که در صورت متوقف کردن انتقال داده ها توسط دستگاه فعال می شوند.

داشبورد ایجاد کنید

داشبوردی را که در اینجا توضیح داده شده ایجاد کنید. ابزارک های ما عبارتند از:

یک ویجت کارت ساده ایجاد شده از زمینه تله متری lastRunResult. یک نشانگر دیجیتالی عمودی برای میدان تله متری دما یک جدول Timeseries ایجاد شده از فیلد تله متری lastRunResult داده های روزهای گذشته را نشان می دهد. یک نوار افقی که زمینه سنجش تله متری اشباع را نشان می دهد. این از یک تابع پس پردازش داده استفاده می کند:

بازگشت 1024 ارزش ؛

و حداقل و حداکثر مقدار 0-100 را تعیین می کند. به این ترتیب سطح اشباع را می توان به عنوان یک درصد بیان کرد. یک نشانگر برای نشان دادن مقدار رطوبت. نمودار نوار سری زمانی که شامل دما ، رطوبت و نتیجه اجرا است ، در هفته های گذشته در 5 ساعت گروه بندی شده است ، برای نشان دادن حداکثر مقادیر جمع شده است. به این به ما یک نوار برای یک رویداد دو ساعته می دهد. یک تابع پس پردازش داده ها برای بیان نتیجه اجرا به صورت 0 یا 120 بسته به اینکه آیا آب اجرا شده است یا نه ، استفاده می شود. این یک بازخورد بصری آسان برای مشاهده میزان آب جاری در یک هفته است. یک کارت HTML ثابت که تصویری از باغ را نشان می دهد.

هشدارهای ایمیل

ما از قوانین برای تنظیم هشدارهای ایمیل برای کنترل کننده آبیاری استفاده کردیم. همه از فیلترهای پیام و ارسال نامه Action Action Plugin Action استفاده می کنند.

برای ارسال هشدار ایمیل در صورتی که کنترل کننده آبیاری نتواند داده ها را ارسال کند ، از "Device Attributes Filter" با فیلتر زیر استفاده کردیم:

typeof cs.secondsSinceLastSeen! == 'undefined' && cs.secondsSinceLastSeen> 21600

برای ارسال ایمیل در صورت خشک شدن بیش از حد خاک از فیلتر تله متری زیر استفاده کنید

typeof saturation! = "undefined" && saturation> 1010

برای ارسال ایمیل بر اساس مرطوب بودن خاک از فیلتر تله متری زیر استفاده کنید

typeof saturation! = "undefined" && saturation

توصیه شده: