سطح مخزن آب خود را با یک حسگر اولتراسونیک در درب کنترل کنید و اتوماسیون اختیاری را اضافه کنید.
اگرچه چندین نشانگر سطح آب و دستگاه های موجود برای نظارت بر سطح در مخزن آب بالای سر وجود دارد، این دستگاه ها اغلب با قیمت گزاف و با عملکرد محدود عرضه می شوند. علاوه بر این، آنها برای کار کردن به الکترودهای فرو بردن یا سوئیچ در آب نیاز دارند. این ممکن است آب را آلوده کند و با گذشت زمان خورده شود.
اما اگر بتوانید یک حسگر سطح آب بی سیم و بدون تماس مبتنی بر Wi-Fi بسازید که آب باقیمانده در مخزن شما را مستقیماً روی گوشی هوشمند شما گزارش می دهد؟ در این راهنمای DIY، ما با استفاده از یک برد NodeMCU و یک حسگر اولتراسونیک که در بالای پوشش مخزن آب قرار می گیرد، چنین نشانگر سطح آب را می سازیم و داده ها را از طریق Home Assistant به گوشی هوشمند شما گزارش می دهد.
چگونه کار می کند؟
یک سنسور سطح آب اولتراسونیک با ارسال امواج صوتی در یک فرکانس خاص (همچنین به عنوان امواج اولتراسونیک شناخته میشود) و دریافت موج منعکس شده از جسم مورد نظر کار میکند. سنسور فاصله بین سنسور و جسم را بر اساس مدت زمانی که طول می کشد تا موج صوتی یا امواج اولتراسونیک برای حرکت و بازتابش محاسبه و گزارش می کند.
سنسور اولتراسونیک مقدار فاصله را به صورت پیش فرض بر حسب سانتی متر (سانتی متر) گزارش می دهد. همراه با عمق مخزن، از این مقدار گزارش شده توسط سنسور اولتراسونیک می توان برای یافتن آب باقی مانده در مخزن با محاسبه فاصله سطح آب مخزن و سنسور اولتراسونیک استفاده کرد.
چیزهایی که به آن نیاز خواهید داشت
برای ساخت این سنسور سطح آب هوشمند به موارد زیر نیاز دارید:
- یک MCU مبتنی بر ESP8266، مانند NodeMCU، D1 Mini، ESP01 و غیره.
- سنسور اولتراسونیک SR04
- سیم های جامپر
برای این پروژه استفاده از سنسور اولتراسونیک ضد آب JSN-SR04 برای جلوگیری از آسیب سنسور در اثر رطوبت توصیه می شود.
مراحل ساخت سنسور هوشمند سطح آب
میتوانید مراحل زیر را دنبال کنید تا یک سنسور سطح آب اولتراسونیک بدون تماس مبتنی بر Wi-Fi هوشمند بسازید تا مصرف آب را کنترل کرده و از بالا رفتن از پلهها یا مخزن آب برای بررسی دستی آن نجات پیدا کنید. همچنین می توانید از این سنسور برای نظارت بر سطح مخزن نمک استفاده کنید.
مرحله 1: نصب و راه اندازی Home Assistant
دستیار خانگی (HA) ترجیح داده می شود اما برای ساخت سنسور یا کنترل کننده سطح آب هوشمند مبتنی بر Wi-Fi لازم نیست. با این حال، اگر میخواهید اعلانها را دریافت کنید، مصرف روزانه/هفتگی/ماهانه را ردیابی کنید یا بر اساس سطح مخزن اتوماسیون اضافه کنید، باید Home Assistant را راهاندازی کنید.
برای نصب Home Assistant روی Raspberry Pi یا یک لپتاپ قدیمی، میتوانید راهنمای قبلی ما را دنبال کنید. اگر نمیخواهید Home Assistant را نصب یا راهاندازی کنید، میتوانید فریمور Tasmota را فلش کنید و از آن برای بررسی سطح آب استفاده کنید. اگرچه به اندازه Home Assistant شهودی نیست، اما این کار را انجام می دهد و ارزش خام را از طریق یک صفحه وب گزارش می دهد.
مرحله 2: اندازه گیری عمق مخزن
شما باید عمق مخزن را اندازه گیری کنید. شما می توانید این کار را با اندازه گیری ارتفاع مخزن از بیرون یا داخل با استفاده از یک نوار اندازه گیری انجام دهید.
پس از اندازه گیری، فاصله بین پوشش مخزن که سنسور اولتراسونیک در آن نصب می شود و لبه مخزن آب اندازه گیری کنید. این فاصله ای است که باید از عمق کل کم کنید.
به عنوان مثال، اگر ارتفاع مخزن 120 سانتی متر و فاصله بین سنسور روی پوشش و لبه آب 10 سانتی متر باشد، عمق آن 120 – 10 = 110 سانتی متر است.
مرحله 2: سفت افزار را کامپایل کنید
برای کامپایل سیستم عامل، Home Assistant را باز کنید و اگر قبلاً این کار را نکرده اید، افزونه ESPHome را نصب کنید. سپس این مراحل را دنبال کنید:
- روی دکمه +New Device کلیک کنید و سپس روی Continue کلیک کنید.
- نام فایل سیستم عامل مانند waterlevelsensor را وارد کنید و روی Next کلیک کنید.
- MCU را که دارید مانند NodeMCU، ESP32 یا D1 Mini انتخاب کنید و روی Next کلیک کنید. سپس روی Skip کلیک کنید.
حالا پروژه waterlevelsensor را پیدا کنید و روی Edit کلیک کنید. با این کار فایل waterlevelsensor.yaml باز می شود. در فایل این کد YAML را کپی و پیست کنید. در کد، موارد زیر را ویرایش کنید:
- SSID و رمز عبور وای فای خود را وارد کنید.
- مقادیر موجود در فرمول های زیر فیلترها را با فاصله بین سنسور و لبه آب و ارتفاع کامل مخزن ویرایش کنید.
- روی ذخیره کلیک کنید.
- NodeMCU، ESP32 یا D1 mini خود را با استفاده از کابل micro USB به رایانه شخصی خود متصل کنید و سپس روی Install کلیک کنید.
- گزینه Plug into this computer را انتخاب کنید. این کار شروع به کامپایل کردن کد YAML و ایجاد یک فایل سیستم عامل (waterlevelsensor.bin) می کند. این میتواند مدتی طول بکشد.
- پس از کامپایل شدن سیستم عامل، روی Download Project کلیک کنید تا فایل waterlevelsensor.bin را دانلود کنید.
مرحله 3: نرم افزار را روی NodeMCU فلش کنید
برای فلش کردن سفتافزار waterlevelsensor.bin، میتوانید ابزار ESPHome-Flasher را دانلود کنید یا از وب ESPHome استفاده کنید. مراحل به شرح زیر است:
پس از دانلود سیستم عامل، روی Open ESPHome Web کلیک کنید.
روی Connect کلیک کنید و سپس پورت COM سریال USB را که NodeMCU، D1 Mini یا ESP32 شما متصل است، انتخاب کنید.
روی Install کلیک کنید. روی Choose File کلیک کنید، به فایل firmware waterlevelsensor.bin بروید و روی Install کلیک کنید. هنگامی که سیستم عامل فلش شد، کابل USB را جدا کنید.
مرحله 4: سنسور اولتراسونیک را با NodeMCU وصل کنید
برای اتصال سنسور اولتراسونیک SR04 به برد MCU به نمودار زیر مراجعه کنید.
NodeMCU/ESP32/D1 Mini
سنسور اولتراسونیک SR04
3V3
Vcc
D5
ماشه
D6
اکو
GND
GND
اگر از ماژول اولتراسونیک ضد آب JSN SR04 M-2 استفاده می کنید، پین ها را همانطور که در نمودار نشان داده شده است وصل کنید.
NodeMCU/ESP32/D1 Mini
سنسور اولتراسونیک JSN-SR04
وین
5 ولت
D5
ماشه
D6
اکو
GND
GND
هنگامی که سنسور اولتراسونیک به MCU متصل شد، کابل USB را دوباره وصل کنید. دستگاه بر اساس جزئیاتی که در کد وارد کرده اید به طور خودکار به شبکه Wi-Fi متصل می شود و در داشبورد ESPHome به صورت آنلاین نشان داده می شود.
روی Logs در زیر سنسور waterlevel کلیک کنید. این گزارش ها و داده های دریافت شده توسط سنسور را نمایش می دهد.
اگر گزارشها اطلاعات را همانطور که در تصویر نشان داده شده است نشان میدهند، میتوانید جلو بروید و حسگر را در Home Assistant پیکربندی کنید.
اگر میبینید «مدت زمان اندازهگیری فاصله به پایان رسیده است»، موارد زیر را انجام دهید:
- بررسی کنید که پین های سنسور اولتراسونیک را به درستی به MCU متصل کرده اید.
- ماژول JSN SR04 M-2 می تواند 20-400 سانتی متر اندازه گیری کند. بنابراین، جسم را حداقل 20 سانتی متر دور نگه دارید. همچنین باید تغییراتی در کد ایجاد کنید.
- سنسور اولتراسونیکی که ما استفاده کرده ایم ممکن است فاصله بیش از 400 سانتی متر را اندازه گیری نکند. اگر عمق مخزن شما بیشتر از 400 سانتی متر است (غیر معمول)، این ممکن است برای شما مفید نباشد.
مرحله 5: سنسور هوشمند سطح آب را به Home Assistant اضافه کنید
برای اضافه کردن سنسور سطح آب اولتراسونیک به Home Assistant برای نظارت، مراحل زیر را دنبال کنید:
- در Home Assistant، به Configuration > Devices and Services بروید.
- سنسور سطح آب باید به طور خودکار کشف و فهرست شود. اگر نه، روی Add Integration کلیک کنید.
- ESPHome را جستجو و انتخاب کنید.
- آدرس IP سنسور waterlevel را وارد کنید. این را می توانید از لاگ ها یا روتر Wi-Fi خود پیدا کنید. پس از وارد کردن آدرس IP، روی Submit کلیک کنید.
- یک منطقه را انتخاب کنید و روی Finish کلیک کنید.
- سنسور در زیر ESPHome فهرست می شود. روی سنسور سطح آب کلیک کنید و موجودیت را انتخاب کنید.
- روی Add to Lovelace کلیک کنید.
- یک اتاق را انتخاب کنید و روی Next کلیک کنید.
- این حسگر سطح آب را به داشبورد اضافه می کند.
میتوانید با افزودن موارد زیر در ویرایشگر کد، کارت پیشفرض را سفارشی کنید:
type: gauge
name: Water Level Sensor
unit: '%'
entity: sensor.waterlevelsensor
green: 0
yellow: 45
red: 85
مرحله 6: سنسور را روی پوشش مخزن آب خود نصب کنید
اکنون می توانید سنسور را در مخزن آب خود نصب کنید. برای پروژه، ما از سنسور SR04 استفاده کردیم که ضد آب نیست. برای ضد آب شدن آن از یک قاب شفاف و لاک کافی برای عایق کاری قطعات الکتریکی روی برد استفاده کردیم.
ما دو سوراخ کوچک ایجاد کردیم و از یک سیم فلزی برای نگه داشتن ماژول SR04 به پوشش استفاده کردیم. سوراخ بزرگتر دیگری برای سیم های متصل به سنسور اولتراسونیک ایجاد شد. ما از یک سیم بلند 4 هسته ای برای اتصال حسگر اولتراسونیک با NodeMCU استفاده کردیم زیرا مخزن روی پشت بام قرار دارد و دما در اینجا می تواند به 40-45 درجه سانتیگراد افزایش یابد.
شما می توانید هر دو را در یک مورد نگه دارید و برق NodeMCU را تامین کنید. همچنین هنگام نصب NodeMCU یا سنسور، از قدرت سیگنال Wi-Fi خوب اطمینان حاصل کنید. راهنمای ما در مورد چگونگی تقویت سیگنال Wi-Fi خود برای افزایش دامنه Wi-Fi را بخوانید.
برای پر نگه داشتن مخزن، پمپ آب را کنترل کنید
با ادغام سنسور سطح آب هوشمند با Home Assistant، میتوانید خودکارسازی را برای دریافت هشدار در گوشی هوشمند خود یا از طریق Alexa/Google Assistant در زمانی که سطح مخزن کم یا پر است اضافه کنید. به طور مشابه، میتوانید برای روشن کردن پمپ آب برای پر کردن مخزن در صورت کم شدن آب، اتوماسیون اضافه کنید و هنگامی که سطح مخزن به یک سطح معین از جمله 90-100٪ رسید، آن را به طور خودکار خاموش کنید.
علاوه بر این، می توانید یک پروب سنسور دمای ضد آب مانند DS18B20 را به سنسور سطح آب هوشمند خود اضافه کنید تا دمای آب مخزن را بررسی و نظارت کنید.