فهرست مطالب:
- مرحله 1: آنچه شما نیاز دارید
- مرحله 2: نمونه اولیه Breadboard
- مرحله 3: راه اندازی نرم افزار
- مرحله 4: تخته شارژ خورشیدی را آماده کنید
- مرحله 5: ایجاد مدار میکروکنترلر
- مرحله 6: Cable Glands را نصب کنید
- مرحله 7: مونتاژ کامل مدار
- مرحله 8: پانل خورشیدی را آماده کنید
- مرحله 9: آن را آزمایش کنید
- مرحله 10: در خارج از آن استفاده کنید
تصویری: رطوبت سنج خاک خورشیدی با ESP8266: 10 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:51
در این دستورالعمل ، ما یک مانیتور رطوبت خاک با انرژی خورشیدی می سازیم. از یک میکروکنترلر وای فای ESP8266 با کد کم مصرف استفاده می کند و همه چیز ضد آب است تا بتوان آن را در بیرون رها کرد. می توانید این دستور العمل را دقیقاً دنبال کنید ، یا تکنیک های مفید برای پروژه های خود را از آن بگیرید.
اگر تازه وارد برنامه نویسی میکروکنترلر شده اید ، لطفاً کلاس Arduino و کلاس اینترنت اشیا را مطالعه کنید تا با اصول سیم کشی ، کد نویسی و اتصال به اینترنت آشنا شوید.
این پروژه بخشی از کلاس خورشیدی رایگان من است ، جایی که می توانید روشهای بیشتری را برای استفاده از انرژی خورشید از طریق حکاکی و صفحات خورشیدی بیاموزید.
برای ادامه کار با من ، در یوتیوب ، اینستاگرام ، توییتر ، Pinterest من را دنبال کنید و در خبرنامه من مشترک شوید.
مرحله 1: آنچه شما نیاز دارید
برای قرار دادن مدار خود در داخل ، به یک صفحه شارژ باتری خورشیدی و خروجی ESP8266 مانند NodeMCU ESP8266 یا Huzzah و همچنین یک سنسور خاک ، باتری ، سوئیچ تغذیه ، مقداری سیم و یک محفظه احتیاج دارید.
در اینجا اجزا و مواد مورد استفاده برای اندازه گیری رطوبت خاک آمده است:
- میکروکنترلر ESP8266 NodeMCU (یا مشابه ، Vin باید تا 6 ولت را تحمل کند)
- برد شارژ خورشیدی Adafruit با ترمیستور اختیاری و مقاومت 2.2K اهم
- باتری لیتیوم یونی 2200 میلی آمپر ساعت
- تخته Perma-proto
- سنسور رطوبت/دمای خاک
- 2 غده کابل
- محفظه ضد آب
- جفت کابل برق ضد آب DC
- لوله های جمع کننده حرارت
- پنل خورشیدی 3.5 واتی
- کلید قدرت را فشار دهید
- نوار فوم دو چوب
در اینجا ابزارهایی که شما نیاز دارید آورده شده است:
- لحیم کاری و لحیم کاری
- ابزار دست یاری
- استریپرهای سیم
- اسنپ فلاش
- موچین (اختیاری)
- تفنگ گرم کننده یا فندک
- مولتی متر (اختیاری است اما برای عیب یابی مفید است)
- کابل USB A-microB
- قیچی
- مته مرحله ای
شما به حسابهای رایگان در سایتهای داده ابری io.adafruit.com و IFTTT احتیاج دارید.
من به عنوان یک همکار آمازون از خریدهای واجد شرایطی که با استفاده از پیوندهای وابسته من انجام می دهید ، درآمد کسب می کنم.
مرحله 2: نمونه اولیه Breadboard
ایجاد یک نمونه اولیه تخته نان بدون لحیم برای پروژه هایی مانند این بسیار مهم است ، بنابراین می توانید قبل از برقراری ارتباط دائمی از عملکرد سنسور و کد خود مطمئن شوید.
در این حالت ، سنسور خاک سیم هایی را به هم متصل کرده است که لازم است با استفاده از لحیم کاری ، دست های کمکی و برخی لوله های کوچک کننده حرارتی ، سربرگ های جامد را به طور موقت به انتهای سیم های حسگر وصل کنید.
برای وصل کردن قدرت سنسور ، زمین ، ساعت و پین های داده ، نمودار مدار را دنبال کنید (اطلاعات همچنین دارای یک مقاومت کششی 10K است که همراه با سنسور خاک است).
- سنسور سیم سبز به GND
- سنسور سیم قرمز به 3.3 ولت
- سنسور سیم زرد به NodeMCU پین D5 (GPIO 14)
- سنسور سیم آبی به NodeMCU پین D6 (GPIO 12)
- مقاومت کششی 10K بین پین داده آبی و 3.3V
می توانید این را به میکروکنترلر دلخواه خود ترجمه کنید. اگر از Arduino Uno یا مشابه آن استفاده می کنید ، برد شما قبلاً توسط نرم افزار Arduino پشتیبانی می شود. اگر از ESP8266 استفاده می کنید ، لطفاً کلاس اینترنت من را برای راهنمایی گام به گام برای راه اندازی ESP8266 در آردوینو بررسی کنید (با افزودن URL های اضافی به قسمت URL های مدیران تابلوهای اضافی در تنظیمات برگزیده آردوینو ، سپس جستجو و انتخاب هیئت مدیره جدید از مدیر هیئت مدیره). من تمایل دارم از نوع برد Adafruit ESP8266 Huzzah برای برنامه ریزی برد NodeMCU ESP8266 استفاده کنم ، اما همچنین می توانید پشتیبانی برد Generic ESP8266 را نصب و استفاده کنید. شما همچنین به درایور تراشه ارتباطات USB SiLabs (موجود برای Mac/Windows/Linux) نیاز دارید.
برای فعال کردن سنسور با برد سازگار با Arduino ، من کتابخانه SHT1x Arduino را از صفحه github Practical Arduino بارگیری کردم ، سپس فایل را از حالت فشرده خارج کرده و پوشه کتابخانه را به پوشه Arduino/libraries من منتقل کردم ، سپس نام آن را SHT1x گذاشتم. نمونه طرح ReadSHT1xValues را باز کرده و شماره پین را به 12 (dataPin) و 14 (clockPin) تغییر دهید ، یا طرح اصلاح شده را در اینجا کپی کنید:
#عبارتند از
#تعریف داده پین 12 // پین NodeMCU D6 #ساعت را تعریف کنید پین 14 // پین NodeMCU D5 SHT1x sht1x (dataPin ، clockPin) ؛ // instantiate SHT1x object void setup () {Serial.begin (38400)؛ // اتصال سریال برای گزارش مقادیر به میزبان Serial.println ("راه اندازی") ؛ } void loop () {float temp_c؛ float temp_f؛ رطوبت شناور ؛ temp_c = sht1x.readTemperatureC ()؛ // خواندن مقادیر از حسگر temp_f = sht1x.readTemperatureF ()؛ رطوبت = sht1x.readHumidity ()؛ Serial.print ("دما:")؛ // مقادیر را در پورت سریال Serial.print (temp_c، DEC) چاپ کنید ؛ Serial.print ("C /") ؛ Serial.print (temp_f، DEC)؛ Serial.print ("F. Humidity:")؛ Serial.print (رطوبت) ؛ Serial.println ("٪")؛ تاخیر (2000) ؛ }
این کد را روی برد خود بارگذاری کنید و مانیتور سریال را باز کنید تا جریان داده های سنسور در آن مشاهده شود.
اگر کد شما کامپایل نمی شود و از پیدا نشدن SHT1x.h شکایت می کند ، کتابخانه حسگر مورد نیاز را به درستی نصب نکرده اید. پوشه Arduino/libraries خود را برای پوشه ای با نام SHT1x بررسی کنید ، و اگر در جای دیگری قرار دارد ، مانند پوشه بارگیری های خود ، آن را به پوشه کتابخانه های Arduino خود منتقل کرده و در صورت لزوم نام آن را تغییر دهید.
اگر کد شما کامپایل می شود اما روی برد شما بارگذاری نمی شود ، تنظیمات برد خود را دوباره بررسی کنید ، مطمئن شوید که برد شما وصل است و پورت صحیح را از منوی Tools انتخاب کنید.
اگر کد شما بارگذاری می شود ، اما ورودی مانیتور سریال شما قابل تشخیص نیست ، میزان باود خود را که در طرح شما مشخص شده است دوباره بررسی کنید (در این مورد 38400).
اگر ورودی مانیتور سریال شما درست به نظر نمی رسد ، سیم کشی خود را در برابر نمودار مدار بررسی کنید. آیا مقاومت کششی 10K شما بین پین داده و 3.3V قرار دارد؟ آیا داده ها و ساعت به پین های صحیح متصل هستند؟ آیا برق و زمین آنطور که باید در سراسر مدار وصل هستند؟ تا زمانی که این طرح ساده کار نمی کند ، ادامه ندهید!
مرحله بعدی مخصوص ESP8266 است و بخش گزارش سنسور بی سیم اختیاری پروژه نمونه را پیکربندی می کند. اگر از میکروکنترلر استاندارد (بدون سیم) سازگار با آردوینو استفاده می کنید ، به طراحی نهایی آردوینو خود ادامه دهید و به آماده سازی برد شارژ خورشیدی بروید.
مرحله 3: راه اندازی نرم افزار
برای کامپایل کد این پروژه با ESP8266 ، باید چند کتابخانه آردوینو دیگر (که از طریق مدیر کتابخانه موجود است) نصب کنید:
- Adafruit IO Arduino
- Adafruit MQTT
- ArduinoHttpClient
کد پیوست شده به این مرحله را بارگیری کنید ، سپس فایل را از حالت فشرده خارج کرده و Solar_Powered_Soil_Moisture_Monitor_Tutorial را در نرم افزار Arduino خود باز کنید.
#عبارتند از
#include #include #include #include // داده ها و اتصالات ساعت را مشخص کرده و شیء SHT1x را نمونه سازی کنید #داده ها را تعریف کنید پین 12 // پین NodeMCU D6 #ساعت را مشخص کنید پین 14 // پین NodeMCU D5 SHT1x sht1x (dataPin ، clockPin) ؛ // راه اندازی خوراک AdafruitIO_Feed *رطوبت = io.feed ("رطوبت") ؛ AdafruitIO_Feed *دما = io.feed ("دما") ؛ const int sleepTime = 15؛ // 15 دقیقه
void setup ()
{Serial.begin (115200) ؛ // اتصال سریال برای گزارش مقادیر به میزبان Serial.println ("راه اندازی") ؛ // اتصال به io.adafruit.com Serial.print ("اتصال به Adafruit IO") ؛ io.connect ()؛ // منتظر اتصال باشید (io.status () <AIO_CONNECTED) {Serial.print (".")؛ تأخیر (500) ؛ } // ما متصل هستیم Serial.println ()؛ Serial.println (io.statusText ()) ؛ }
حلقه خالی ()
{io.run ()؛ // io.run ()؛ مشتری را متصل نگه می دارد و برای همه طرح ها مورد نیاز است. float temp_c؛ float temp_f؛ رطوبت شناور ؛ temp_c = sht1x.readTemperatureC ()؛ // خواندن مقادیر از حسگر temp_f = sht1x.readTemperatureF ()؛ رطوبت = sht1x.readHumidity ()؛ Serial.print ("دما:")؛ // مقادیر را در پورت سریال Serial.print (temp_c، DEC) چاپ کنید ؛ Serial.print ("C /") ؛ Serial.print (temp_f، DEC)؛ Serial.print ("F. Humidity:")؛ Serial.print (رطوبت) ؛ Serial.println ("٪")؛ رطوبت-> ذخیره (رطوبت) ؛ دما-> ذخیره (temp_f) ؛ Serial.println ("ESP8266 خوابیده است …") ؛ ESP.deepSleep (زمان خواب * 1000000 * 60) ؛ // خواب }
این کد ترکیبی از کد سنسور قبلی در این آموزش و یک مثال اساسی از سرویس داده ابری Adafruit IO است. این برنامه وارد حالت کم مصرف می شود و بیشتر اوقات می خوابد ، اما هر 15 دقیقه بیدار می شود تا دما و رطوبت خاک را بخواند و داده های آن را به Adafruit IO گزارش می دهد. به برگه config.h بروید و نام کاربری و کلید Adafruit IO خود و همچنین نام و رمز عبور شبکه wifi محلی خود را وارد کنید ، سپس کد را در میکروکنترلر ESP8266 خود بارگذاری کنید.
باید مقداری آمادگی در io.adafruit.com انجام دهید. پس از ایجاد فیدها برای دما و رطوبت ، می توانید یک داشبورد برای مانیتور خود ایجاد کنید که نمودار مقادیر سنسور و داده های هر دو فید ورودی را نشان می دهد. اگر برای شروع کار با Adafruit IO به تجدید نیاز دارید ، این درس را در کلاس اینترنت اشیاء من مطالعه کنید.
مرحله 4: تخته شارژ خورشیدی را آماده کنید
با اتصال روی خازن و مقداری سیم به پدهای خروجی بار ، صفحه شارژ خورشیدی را آماده کنید. من با استفاده از مقاومت اضافی اختیاری (2.2K لحیم کاری شده در PROG) ، با سرعت بیشتری شارژ می کنم و با جایگزینی مقاومت سطح با ترمیستور 10K متصل به خود باتری ، بدون مراقبت باقی می ماند. این امر باعث محدود شدن شارژ به محدوده دمای ایمن می شود. من این تغییرات را در پروژه شارژر خورشیدی USB خود با جزئیات بیشتری توضیح دادم.
مرحله 5: ایجاد مدار میکروکنترلر
برد میکروکنترلر و سوئیچ تغذیه را به یک برد اولیه وصل کنید.
خروجی برق شارژر خورشیدی را به ورودی سوئیچ خود وصل کنید که باید حداقل 1 آمپر باشد.
اتصالات سیم ورقه ای که در نمودار مدار بالا (یا مشخصات نسخه شخصی شما) توصیف شده است را ایجاد و لحیم کنید ، از جمله مقاومت کششی 10K در خط داده سنسور.
پین های Load شارژر خورشیدی در صورت عدم وجود انرژی خورشیدی ، باتری 3.7 ولت را تأمین می کنند ، اما در صورت وصل بودن و آفتابی بودن مستقیماً از پنل خورشیدی تغذیه می شوند. بنابراین میکروکنترلر باید بتواند انواع ولتاژها را تا 3.7 ولت و تا 6 ولت DC تحمل کند. برای کسانی که به 5 ولت احتیاج دارند ، می توان از PowerBoost (500 یا 1000 ، بسته به جریان مورد نیاز) برای تعدیل ولتاژ بار تا 5 ولت استفاده کرد (همانطور که در پروژه شارژ USB خورشیدی نشان داده شده است). در اینجا چند تخته رایج و محدوده ولتاژ ورودی آنها آمده است:
- NodeMCU ESP8266 (در اینجا استفاده می شود): USB 5V یا Vin 3.7V-10V
- Arduino Uno: USB 5V یا 7-12V Vin
- Adafruit Huzzah ESP8266 Breakout: 5V USB یا 3.4-6V VBat
برای دستیابی به طولانی ترین طول عمر باتری ، باید مدتی را در نظر بگیرید و کل جریان فعلی خود را در نظر بگیرید و بهینه کنید. ESP8266 دارای ویژگی خواب عمیق است که ما در طرح آردوینو از آن برای کاهش چشمگیر مصرف برق آن استفاده کردیم. با خواندن سنسور از خواب بیدار می شود و در حالی که به شبکه متصل می شود جریان را بیشتر می کند تا مقدار سنسور را گزارش دهد ، سپس برای مدت زمان مشخصی دوباره به خواب می رود. اگر میکروکنترلر شما قدرت زیادی می گیرد و نمی توان به راحتی او را به خواب برد ، پروژه خود را به یک برد سازگار منتقل کنید که قدرت کمتری مصرف می کند. در صورت نیاز به راهنمایی برای تشخیص اینکه کدام تخته برای پروژه شما مناسب است ، یک سوال در نظرات زیر بنویسید.
مرحله 6: Cable Glands را نصب کنید
برای ایجاد نقاط ورودی کابل پنل خورشیدی و کابل حسگر ، ما دو غلاف کابل را در کنار محفظه ضد آب قرار می دهیم.
اجزای خود را برای تعیین محل ایده آل آزمایش کنید ، سپس با استفاده از مته پله ای در محفظه ضد آب علامت زده و سوراخ کنید. دو غده کابل را نصب کنید.
مرحله 7: مونتاژ کامل مدار
قسمت درگاه کابل برق ضد آب را در یک قسمت قرار داده و آن را به ورودی DC شارژر خورشیدی (قرمز به + و سیاه به -) لحیم کنید.
سنسور خاک را از طریق غده دیگر وارد کرده و مطابق نمودار مدار آن را به پرما-پرو متصل کنید.
پروب ترمیستور را به باتری وصل کنید. با این کار شارژ به محدوده دمای ایمن محدود می شود در حالی که پروژه در خارج بدون مراقبت رها می شود.
شارژ بیش از حد گرم یا بیش از حد سرد می تواند به باتری آسیب برساند یا آتش بسوزاند. قرار گرفتن در معرض دمای شدید می تواند باعث آسیب و کوتاه شدن عمر باتری شود ، بنابراین اگر زیر یخ زدگی یا بالاتر از 45 درجه سانتیگراد/113 درجه فارنهایت قرار دارد ، آن را داخل آن قرار دهید.
غدد کابل را محکم کنید تا در اطراف کابل های خود مهر و موم ضد آب و هوا ایجاد کند.
مرحله 8: پانل خورشیدی را آماده کنید
دستورالعمل من را دنبال کنید تا کابل پنل خورشیدی خود را با پلاگین مجموعه کابل برق ضد آب DC متصل کنید.
مرحله 9: آن را آزمایش کنید
باتری خود را وصل کرده و با فشار دادن کلید پاور مدار را روشن کنید.
آن را آزمایش کنید و مطمئن شوید که قبل از بستن محفظه و نصب سنسور در باغ گیاهان ، گیاهان گلدانی گرانبها یا خاک دیگر در محدوده سیگنال شبکه وای فای خود به اینترنت گزارش می شود.
هنگامی که داده های سنسور به صورت آنلاین ثبت می شوند ، تنظیم دستور العمل هشدارهای ایمیل یا پیامک در سایت API gateway If This Then That آسان است. من پیکربندی کردم که اگر سطح رطوبت خاک به زیر 50 برسد ، به من ایمیل ارسال کند.
برای آزمایش بدون انتظار برای خشک شدن گیاهم ، من به صورت دستی یک نقطه داده برای تغذیه رطوبت خود در Adafruit IO که زیر آستانه بود ، وارد کردم. چند لحظه بعد ، ایمیل می رسد! اگر سطح خاک از سطح تعیین شده من پایین بیاید ، هر بار که خوراک به روز شود تا زمانی که خاک را آبیاری کنم ، یک ایمیل دریافت می کنم. برای سلامت عقلم ، کد خود را به روز کردم تا خاک را خیلی کمتر از هر 15 دقیقه نمونه گیری کنم.
مرحله 10: در خارج از آن استفاده کنید
این یک پروژه سرگرم کننده است که می توانید بر اساس نیازهای هیدراتاسیون گیاه خود سفارشی سازی کنید و به راحتی می توانید سنسورها را جایگزین یا اضافه کنید یا ویژگی های انرژی خورشیدی را در سایر پروژه های آردوینو خود ادغام کنید.
با تشکر از همراهی شما! دوست دارم نظر شما را بشنوم ؛ لطفا در نظرات ارسال کنید این پروژه بخشی از کلاس خورشیدی رایگان من است ، جایی که می توانید پروژه های حیاط خلوت آسان و درس های بیشتری را در مورد کار با صفحات خورشیدی پیدا کنید. بررسی کنید و ثبت نام کنید!
اگر این پروژه را دوست دارید ، ممکن است به برخی از پروژه های دیگر من علاقه مند باشید:
- کلاس اینترنت اشیاء رایگان
- مشترک مشترک YouTube با ESP8266
- نمایشگر آمار اجتماعی ردیاب با ESP8266
- نمایش آب و هوا WiFi با ESP8266
- ولنتاین اینترنتی
برای ادامه کار با من ، من را در YouTube ، Instagram ، Twitter ، Pinterest و Snapchat دنبال کنید.
توصیه شده:
چوب مانیتورینگ رطوبت خاک آردوینو - هرگز آبیاری گیاهان خود را فراموش نکنید: 4 مرحله (همراه با تصاویر)
چوب مانیتورینگ رطوبت خاک آردوینو - هرگز آبیاری گیاهان خود را فراموش نکنید: آیا اغلب آبیاری گیاهان داخلی خود را فراموش می کنید؟ یا شاید بیش از حد به آنها توجه کنید و بیش از حد آنها را آبیاری کنید؟ اگر این کار را می کنید ، باید خودتان یک چوب نظارت بر رطوبت خاک با باتری بسازید. این مانیتور از رطوبت خازنی خاک استفاده می کند
اتوماسیون گلخانه با LoRa! (قسمت 1) -- سنسورها (دما ، رطوبت ، رطوبت خاک): 5 مرحله
اتوماسیون گلخانه با LoRa! (قسمت 1) || سنسورها (دما ، رطوبت ، رطوبت خاک): در این پروژه به شما نشان خواهم داد که چگونه یک گلخانه را خودکار کردم. این بدان معناست که من به شما نشان خواهم داد که چگونه گلخانه را ساخته ام و چگونه قطعات الکترونیکی قدرت و اتوماسیون را متصل کرده ام. همچنین نحوه برنامه نویسی برد Arduino که از L
رطوبت سنج خاک تشنه فلامینگو: 5 مرحله (همراه با تصاویر)
رطوبت سنج خاک تشنه فلامینگو: سنسورهای رطوبت در پروژه های مختلف مورد استفاده قرار می گیرند. شما می توانید از آنها برای آزمایش میزان رطوبت مواد مختلف و حتی رطوبت در دیوارهای خانه خود در صورت رطوبت آنها استفاده کنید. در طرح تشنه فلامینگو
مانیتور رطوبت خاک DIY با آردوینو و صفحه نمایش نوکیا 5110: 6 مرحله (همراه با تصاویر)
مانیتور رطوبت خاک DIY با آردوینو و صفحه نمایش نوکیا 5110: در این دستورالعمل می خواهیم ببینیم چگونه می توان یک مانیتور رطوبت خاک بسیار مفید با صفحه نمایش بزرگ نوکیا 5110 LCD با استفاده از آردوینو ساخت. سطوح رطوبت خاک گیاه خود را از آردوینو خود بسنجید و دستگاههای جالبی بسازید
سنجش رطوبت خاک - SF: 4 مرحله (همراه با تصاویر)
سنجش رطوبت خاک - SF: برای شروع طرح آزمایشی ، ما با هدف خود شروع کردیم که طراحی دستگاهی بود که بتواند تشخیص دهد که آیا نمونه ای از خاک از باران مرطوب است یا خیر. برای اجرای این طرح ، ما باید نحوه صحیح استفاده و تنظیم رطوبت خاک را بیاموزیم