فهرست مطالب:

آرایه سنسور کشاورزی: 6 مرحله
آرایه سنسور کشاورزی: 6 مرحله

تصویری: آرایه سنسور کشاورزی: 6 مرحله

تصویری: آرایه سنسور کشاورزی: 6 مرحله
تصویری: واقعا رفتم جزیره لختیها لخت مادرزاد شدم 2024, جولای
Anonim
آرایه سنسور کشاورزی
آرایه سنسور کشاورزی

پروژه ای از جکسون برکل ، تایلر مک کابینز و جاکوب تالر برای EF 230

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

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

مرحله 1: مواد مورد نیاز را جمع آوری کنید

مواد مورد نیاز را جمع آوری کنید
مواد مورد نیاز را جمع آوری کنید

در زیر لیستی از مواد مورد نیاز برای شروع مورد نیاز است"

1. برد آردوینو ، ترجیحاً آردوینو اونو

2. تخته نان اولیه

3. مقاومت 1x 220 اهم

4. سیم های مختلف با رنگ های مختلف

5. کابل میکرو USB به USB

6. بلندگوی قابل نصب روی برد

7. سنسور فوتوالکتریک

8. سنسور دما

9. سنسور آب باران

10. سنسور رطوبت خاک

11. رایانه با بسته پشتیبانی Matlab 2017 و Arduino (بسته پشتیبانی را می توانید در قسمت افزونه ها پیدا کنید)

مرحله 2: سیم را وصل کرده و وصل کنید

سیم را وصل کرده و وصل کنید
سیم را وصل کرده و وصل کنید

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

بعد از اطمینان از صحت سیم کشی برد ، کابل Micro USB را به USB از رایانه خود به پورت Micro USB رایانه خود وصل کرده و Arduino خود را روشن کنید. Matlab را باز کرده و مطمئن شوید که بسته پشتیبانی Arduino را در قسمت Add-ons نصب کرده اید ، فرمان "fopen (serial ('nada')))" را بدون "" اجرا کنید. خطایی باید ظاهر شود و خطا باید نشان دهد شما یک کامپورت در دسترس با یک شماره دارید. دستور "a = arduino (" comx "،" uno ")" ، که در آن x تعداد کامپورت شما است را اجرا کنید تا Arduino خود را به یک شی ترسیم کنید. LED در Arduino باید سریع چشمک بزند تا نشان دهد وصل است.

مرحله 3: سنسورهای فوتوالکتریک و دما را کدگذاری کنید

کد سنسورهای فوتوالکتریک و دما
کد سنسورهای فوتوالکتریک و دما

قبل از شروع برنامه نویسی ، محل اتصال سنسورهای خود را در آردوینو یادداشت کنید ، زیرا این امر برای دستور readVoltage مهم خواهد بود. کد خود را با تنظیم نور متغیر خورشید برابر با دستور "readVoltage (a ، 'X#') 'شروع کنید ، جایی که X# درگاهی است که به آن متصل شده اید و a به سادگی با آردوینو که به آن متغیر ترسیم کرده اید تماس می گیرد. دستور if را شروع کنید ، و اولین شرط را برای نور خورشید <3 تنظیم کنید. خروجی را به عنوان "info. TOD =" night "تنظیم کنید تا زمان روز به عنوان یک ساختار خروجی باشد ، و سپس یک عبارت else با خروجی به عنوان" info. TOD = "اضافه کنید. day '". از آنجا که این یک عبارت else است ، ما نیازی به شرط نداریم ، زیرا برای همه مقادیر دیگر که در دستور if تعریف نشده اند کار می کند. مطمئن شوید که عبارت if خود را با یک پایان به پایان برسانید و به برنامه نویسی بروید سنسور دما

ترمو متغیر را برابر دستور readVoltage دیگر قرار دهید ، دستور "readVoltage (a ، 'X#')" باشد. در مورد ما ، دما باید از واحد ولتاژ به سانتیگراد تبدیل می شد ، بنابراین معادله "tempC = (ترمو -5..*100".) از ولتاژ به سانتیگراد تبدیل می شود. به منظور سهولت ، دمای سانتیگراد را به فارنهایت تبدیل کردیم ، اما این کاملاً اختیاری نیست.

کد برای چسباندن

نور خورشید = readVoltage (a ، 'A1') اگر نور خورشید <3 باشد

info. TOD = 'شب'

دیگری

info. TOD = 'روز'

پایان

thermo = readVoltage (a ، 'A3') ؛

tempC = (ترمو -5.).*100 ؛

info.tempF = (9/5.*tempC) +32

مرحله 4: سنسورهای رطوبت آب باران و خاک را کدگذاری کنید

سنسورهای رطوبت آب باران و خاک را کدگذاری کنید
سنسورهای رطوبت آب باران و خاک را کدگذاری کنید

همانطور که در آخرین مرحله گفته شد ، مطمئن شوید که سنسورهای شما بر روی برد آردوینو به چه پورت هایی متصل شده اند ، زیرا این مرحله بسیار ناامیدکننده خواهد بود. با سنسور آب باران شروع کنید و عبارت if را شروع کنید. شرط اول را برای "readVoltage (a ، 'X#')> 4" تنظیم کنید ، و خروجی آن را روی "info. Rain =" بدون بارندگی "تنظیم کنید. یک elseif اضافه کنید ، و شرط آن را قبل از دستور readVoltage قرار دهید ، اما آن را روی> 2 قرار دهید. یک "&&" برای نشان دادن شرط دیگری که باید برآورده شود اضافه کنید و مانند قبل آن را روی دستور readVoltage قرار دهید و آن را روی <= 4 قرار دهید. خروجی "info. Rain =" misting "خواهد بود. در نهایت ، دیگری را اضافه کنید و خروجی آن را روی "info. Rain = 'rainpour'" تنظیم کنید. ممکن است مجبور شوید مقادیر شرایط را بر اساس رطوبت محیط اتاقی که در آن کار می کنید تنظیم کنید.

در مرحله بعد ، کد سنسور رطوبت خاک را شروع کرده و با عبارت if شروع کنید. شرط عبارت if را روی "readVoltage (a، 'X#')> 4 قرار دهید و خروجی" info.soil = 'dry' "را اضافه کنید. یک عبارت elseif اضافه کنید و با استفاده از دستور readVoltage بالا ، آن را برای> تنظیم کنید. 2. یک "&&" اضافه کنید ، و دستور readVoltage دیگری را برای <= 4 تنظیم کنید. خروجی آن را روی "info.soil = 'saturation optimal'" تنظیم کنید. یک عبارت else اضافه کنید و خروجی آن را روی "info.soil = 'flood" قرار دهید. "، و پایان را فراموش نکنید.

کد برای چسباندن

if readVoltage (a، 'A0')> 4 اطلاعات. باران = 'بدون بارندگی'

elseif readVoltage (a، 'A0')> 2 && readVoltage (a، 'A0') <= 4

info. Rain = 'misting'

دیگری

اطلاعات باران = 'باران'

پایان

if readVoltage (a ، 'A2')> 4

info.soil = 'خشک'

elseif readVoltage (a، 'A2')> 2 && readVoltage (a، 'A0') <= 4

info.soil = 'اشباع مطلوب'

دیگری

info.soil = 'سیل'

پایان

مرحله 5: برنامه نویسی خروجی بلندگو و پیام

کدگذاری خروجی بلندگو و پیام
کدگذاری خروجی بلندگو و پیام

خروجی های این دستگاه می تواند بسیار متفاوت باشد ، اما در این مورد ، ما از طریق خروجی بلندگو که مستقیماً روی دستگاه نصب شده است و خروجی جعبه پیام که می تواند در رایانه از راه دور قابل مشاهده باشد ، به شما می پردازیم. بلندگوی ما به گونه ای طراحی شده است که فرکانس های مختلف را تولید کند ، بدین معنی که بدتر است ، برای دمای مطلوب محصول ، نور خورشید ، رطوبت خاک و بارندگی. کد خروجی بلندگوی خود را با دستور if شروع کنید و شرط آن را روی دستور "readVoltage (a، 'X#')> 4 || info.tempF = 3 || readVoltage (a، 'A2')> 2 && readVoltage (a ، 'A0') <= 4 ". همان دستور playTone را که در بالا نشان داده شده است اضافه کنید ، اما 200 را به 1000 تغییر دهید تا صدای مثبت و مثبت تری تولید شود. سپس ، دیگری را اضافه کنید ، و دوباره همان دستور playTone را اضافه کنید ، اما 1000 را به 1500 تغییر دهید. این تن های مختلف نشان دهنده شدت وضعیت میدان است. اطمینان حاصل کنید که برای تکمیل دستور if خود پایانی اضافه کرده اید.

آخرین بخش کد ما خروجی ای است که یک جعبه پیام تولید می کند. با استفاده از علامت 'در داخل پرانتز یک رشته ایجاد کنید و با استفاده از دستور "num2str (info.x)" ، جایی که x یک زیر ساختار در ساختار اطلاعات است ، قسمتهای ساختار خود را به رشته تبدیل کنید. از "string newline" برای افزودن خطوط جدید به جعبه پیام خود استفاده کنید و پیام خود را با استفاده از علامت نقل قول در متن تایپ کنید و مقدار واقعی فیلد را در رشته با استفاده از دستور num2str فوق اضافه کنید. در نهایت ، با تعریف رشته ، از دستور "msgbox (string)" برای نمایش داده ها به عنوان یک جعبه پیام روی مانیتور خود استفاده کنید.

کد برای چسباندن

if readVoltage (a، 'A2')> 4 || info.tempF <32 playTone (a، 'D9'، 200، 1)

elseif نور خورشید> = 3 || readVoltage (a، 'A2')> 2 && readVoltage (a، 'A0') <= 4

playTone (a ، 'D9' ، 1000 ، 3)

دیگری

playTone (a، 'D9'، 1500، 5)

پایان

string = ['دما (درجه F)' ، num2str (info.tempF)]

string = [string newline 'The ground is'، num2str (info.soil)]

string = [string newline 'Outside rain is'، num2str (info. Rain)]

string = [string newline 'The time of is'، num2str (info. TOD)]

msgbox (رشته)

مرحله 6: نتیجه گیری

نتیجه
نتیجه

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

کدگذاری مبارک ،

تیم آرایه سنسور کشاورزی

توصیه شده: