آموزش آردوینوپروژه های آردوینو

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

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

پروژه های مرتبط:

ماژول تشخیص سطح آب

اصل کار ماژول سنسور سطح آب بسیار شبیه به سنسور باران است. سنسور سطح آب دارای سه پایه است، با برق 5 ولت کار می کند و داده ها را در قالب آنالوگ ارائه می دهد. پین اوت سنسور سطح آب در زیر آمده است:

ماژول تشخیص سطح آب

  • VCC پایه منبع تغذیه سنسور تشخیص باران است که می تواند به 5 ولت منبع تغذیه متصل شود.
  • GND پایه زمین برد است و باید به پایه GND آردوینو متصل شود.
  • OUT پایه خروجی آنالوگ برد است که سیگنال آنالوگ را بین VCC و GND به ما می دهد.

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

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

نحوه کار سنسور سطح آب

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

مدار اتصال سنسور سطح آب آردوینو

حالا که به طور کامل متوجه شدیم سنسور سطح آب چگونه کار می کند، می توانیم تمام سیم های مورد نیاز را به برد آردوینو UNO وصل کنیم و در این قسمت از مقاله به همین موضوع می پردازیم!

مدار اتصال سنسور سطح آب آردوینو

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

در شکل بالا نمودار اتصال سنسور سطح آب به آردوینو نشان داده شده است. یک LED به پین ​​PWM6 برد آردوینو وصل کرده ایم و پایه خروجی آنالوگ سنسور به پایه A0 وصل شده است. پین GND بین ماژول و ال ای دی مشترک است. همچنین VCC از پایه 5 ولت برد آردوینو گرفته شده است. ما آردوینو را طوری برنامه ریزی می کنیم که روشنایی LED بسته به سطح آب حس شده توسط سنسور تغییر کند.

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

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

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

#define ledPin 6
#define sensorPin A0

در مرحله بعد، تابع setup() خود را داریم. در تابع setup، ارتباط سریال را با 9600 baud مقداردهی اولیه می کنیم. ما همچنین ledPin را به عنوان خروجی تنظیم می کنیم و پایه را در ابتدا LOW می کنیم. به این ترتیب ال ای دی در ابتدای راه اندازی آردوینو، خاموش است.

void setup() {
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
}

بعد، ما تابع loop خود را داریم. در تابع loop، با تابع analogRead وضعیت سنسور را میخواهیم و آن را در یک متغیر محلی به نام sensorValue ذخیره کردیم. سپس یک شرط if تعریف می کنیم که در آن بررسی می کنیم که آیا مقدار ورودی از سنسور بیشتر از 570 است یا خیر، اگر بیشتر است، مقدار را با کمک تابع map به محدوده 0 تا 255 تبدیل میکنیم (مقدار PWM تولید شده در برد آردوینو اونو 8 بیتی و از 0 تا 255 است). در نهایت مقدار بدست آمده را با analogWrite به ال ای دی میدهیم و نتیجه را در سریال مانیتور نیز چاپ میکنیم.

void loop() {
  int sensorValue = analogRead(sensorPin);
  if (sensorValue > 570)  {
    int outputValue = map(sensorValue, 570, 800, 0, 255);
    Serial.println(outputValue);
    analogWrite(ledPin, outputValue); // generate PWM signal
  }
}

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

اگر در مورد این مطلب سوالی دارید در قسمت نظرات بپرسید

یکی از مشکلاتی که در حین کار با این سنسور با آن مواجه شده ایم این است که قسمت پایینی این سنسور بسیار حساس است، در حالی که قسمت بالایی آنقدر حساس نیست. اگر سطح آب از قسمت پایینی عبور کند، حساسیت تقریباً به حداکثر می رسد و اشباع می شود.

موارد موجود در فایل : سورس

5 (4 نفر)

برای دریافت مطالب جدید کانال تلگرام یا پیج اینستاگرام ما را دنبال کنید.

محمد رحیمی

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

9 نظر

  1. سلام‌ من‌ مدار‌ را‌ درست‌ کردم‌ ولی‌ اولش led روشن میشه‌
    مشکلش چیه میشه راهنماییم‌کنید

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

    1. سلام عزیز
      در سایت جستجو کنید موارد مختلفی موجود هست

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

    1. سلام عزیز
      سنسور های التراسونیک قوی تر استفاوه کنید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *