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

دقیقاً همین ویژگی حسگر سطح آب به شما این امکان را می‌دهد! این حسگر می‌تواند سطح آب را اندازه‌گیری کند، یک چاه تخلیه را زیر نظر داشته باشد، بارش باران را تشخیص دهد و نشتی‌ها را شناسایی کند.

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

آموزش راه اندازی سنسور تشخیص سطح آب با آردوینو

بیایید با جزئیات بیشتری به این حسگر نگاهی بیاندازیم.

مروری بر سخت‌افزار حسگر سطح آب

این حسگر دارای ده خط مسی نمایان است، که پنج خط آن برای تغذیه و پنج خط دیگر برای حس‌گری طراحی شده‌اند. این خطوط به صورتی در هم تنیده شده‌اند که بین هر دو خط تغذیه، یک خط حس‌گری قرار دارد.

به طور معمول، خطوط تغذیه و حس‌گر به هم متصل نیستند، اما زمانی که در آب غوطه‌ور شوند، این دو به هم وصل می‌شوند.

راه اندازی سنسور تشخیص سطح آب

راه اندازی سنسور تشخیص سطح آب

یک LED تغذیه بر روی برد وجود دارد که وقتی برد روشن می‌شود، روشن می‌گردد.

حسگر سطح آب چگونه کار می‌کند؟

عملکرد حسگر سطح آب نسبتاً ساده است.

خطوط تغذیه و حس‌گر یک مقاومت متغیر (مانند پتانسیومتر) را تشکیل می‌دهند که مقاومت آن بسته به مقدار آبی که به آن‌ها فشار می‌آورد، تغییر می‌کند.

راه اندازی سنسور تشخیص سطح آب

راه اندازی سنسور تشخیص سطح آب

این مقاومت به صورت معکوس با عمق غوطه‌وری حسگر در آب تغییر می‌کند:

  • هرچه حسگر بیشتر در آب غوطه‌ور شود، هدایت الکتریکی بهتر و مقاومت کمتر خواهد بود.
  • هرچه حسگر کمتر در آب غوطه‌ور شود، هدایت الکتریکی ضعیف‌تر و مقاومت بیشتر خواهد بود.
  • این حسگر یک ولتاژ خروجی تولید می‌کند که با مقاومت متناسب است؛ با اندازه‌گیری این ولتاژ، می‌توان سطح آب را تعیین کرد.

پین‌اوت حسگر سطح آب

حسگر سطح آب استفاده از آن بسیار ساده است و تنها به سه پین برای اتصال نیاز دارد.

راه اندازی سنسور تشخیص سطح آب

راه اندازی سنسور تشخیص سطح آب

S (سیگنال) یک پین خروجی آنالوگ است که به یکی از ورودی‌های آنالوگ آردوینو شما متصل خواهد شد.

پین + (VCC) به حسگر تغذیه می‌دهد. توصیه می‌شود که حسگر با ولتاژ ۳.۳ ولت تا ۵ ولت روشن شود. لطفاً به خاطر داشته باشید که خروجی آنالوگ بسته به ولتاژی که به حسگر می‌دهیم، متغیر خواهد بود.

– (GND) پین زمین است.

راه اندازی سنسور تشخیص سطح آب با آردوینو

بیایید حسگر سطح آب را به آردوینو متصل کنیم.

برای شروع، پین + (VCC) ماژول را به ۵ ولت آردوینو و پین – (GND) را به زمین متصل کنید.

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

برای جلوگیری از این مشکل، توصیه می‌شود که حسگر تنها در زمان خواندن روشن شود.

یک راه آسان برای انجام این کار این است که پین تغذیه حسگر را به یک پین دیجیتال در آردوینو متصل کنید و آن را به صورت HIGH یا LOW تنظیم کنید. بنابراین، ما پین + (VCC) را به پین دیجیتال شماره ۷ آردوینو متصل می‌کنیم.

در نهایت، پین S (سیگنال) را به پین ADC A0 آردوینو متصل کنید.

نقشه اتصالات در تصویر زیر نشان داده شده است.

راه اندازی سنسور تشخیص سطح آب

راه اندازی سنسور تشخیص سطح آب

مثال پایه آردوینو
پس از ساخت مدار، کد زیر را در آردوینو خود بارگذاری کنید.

پس از بارگذاری کد، پنجره مانیتور سریال را باز کنید تا خروجی را مشاهده کنید. زمانی که حسگر خشک است، مقدار ۰ را خروجی می‌دهد؛ اما با غوطه‌وری حسگر در آب، خروجی به تدریج افزایش می‌یابد.

این حسگر برای غوطه‌ور شدن کامل طراحی نشده است. بنابراین، هنگام نصب آن، اطمینان حاصل کنید که تنها قسمت‌های نمایان روی PCB با آب در تماس باشند.

توضیحات کد:

کد با اعلام پین‌های آردوینو که به پین‌های + (VCC) و S (سیگنال) حسگر متصل هستند، آغاز می‌شود.

پس از آن، یک متغیر به نام val تعریف می‌کنیم تا سطح آب جاری را ذخیره کند.

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

در بخش loop، تابع سفارشی readSensor() را هر یک ثانیه یک بار فراخوانی کرده و نتیجه را چاپ می‌کنیم.

تابع سفارشی readSensor() به سادگی حسگر را روشن می‌کند، ۱۰ میلی‌ثانیه منتظر می‌ماند، مقدار آنالوگ را از حسگر می‌خواند، آن را خاموش می‌کند و مقدار آنالوگ را بازمی‌گرداند.

یافتن مقادیر آستانه

برای تخمین سطح آب، مقادیر خروجی حسگر خود را زمانی که حسگر کاملاً خشک است، بخشی غوطه‌ور است و کاملاً غوطه‌ور در آب است، ضبط کنید.

به سادگی کد فوق را اجرا کنید و خوانش‌های خود را بگیرید.

به یاد داشته باشید که حسگر شما بسته به نوع آبی که استفاده می‌کنید ممکن است حساسیت بیشتری یا کمتری داشته باشد. همان‌طور که می‌دانید، آب خالص رسانا نیست؛ این مواد معدنی و ناخالصی‌های موجود در آب هستند که آن را رسانا می‌کنند.

زمانی که کد را اجرا می‌کنید، باید خوانش‌هایی مشابه موارد زیر ببینید:

– زمانی که حسگر خشک است (۰)
– هنگامی که حسگر به طور جزئی در آب غوطه‌ور است (~۴۲۰)
– هنگامی که حسگر کاملاً در آب غوطه‌ور است (~۵۲۰)

این آزمایش ممکن است نیاز به آزمون و خطا داشته باشد. هنگامی که خوانش‌های خود را داشته باشید، می‌توانید از آنها به عنوان آستانه‌ای برای ایجاد یک اقدام استفاده کنید.

 پروژه آردوینو – تشخیص سطح آب

در مثال بعدی، ما یک نشانگر سطح آب ساده خواهیم ساخت که LED‌ها را بر اساس سطح آب روشن می‌کند.

سیم‌کشی:

ما مدار مثال قبلی را دوباره استفاده خواهیم کرد. این بار فقط نیاز به افزودن برخی از LED‌ها داریم.

سه LED را به پین‌های دیجیتال ۲، ۳ و ۴ با استفاده از مقاومت‌های ۲۲۰ اهمی متصل کنید.

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

راه اندازی سنسور تشخیص سطح آب

راه اندازی سنسور تشخیص سطح آب

کد آردوینو

پس از ساخت مدار، اسکیچ زیر را به آردوینو خود بارگذاری کنید.

این اسکیچ دو متغیر به نام‌های `lowerThreshold` و `upperThreshold` را تعریف می‌کند. این متغیرها نمایانگر آستانه‌های ما هستند.

اگر خروجی زیر آستانه پایین (lower threshold) بیفتد، LED قرمز روشن خواهد شد؛ اگر بالای آستانه بالا (upper threshold) برود، LED سبز روشن خواهد شد و اگر در جایی بین این دو باشد، LED زرد روشن خواهد شد.

شعبه بابل:  پل کارگر به سمت کشوری، روبروی ماکروویو، جنب فروشگاه جانبو

موبایل:  ۰۹۱۱۹۵۱۴۸۸۲

خط ثابت:  ۰۱۱۳۲۲۲۳۹۲۹

ایمیل: info@khanerobotic.ir

اینستاگرام: khanerobotic

شعبه ساری:  خیابان مهدیه، نبش بهمن شرقی

موبایل: ۰۹۱۱۷۱۲۹۸۶۴

خط ثابت: ۰۱۱۳۳۲۰۸۹۰۷

ایمیل: info@khanerobotic.ir

اینستاگرام: salam.electronic