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

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

Water-level-sensor-with-arduino-digispark
نوشته شده توسط پریسا پوربلورچیان

برای مدیریت انواع دستگاه‌ها نیاز به سنسورهای مختلفی داریم. مخازن ذخیره سازی در مکان‌های مختلفی قرار دارند. از جمله مصارف خانگی و صنعتی حتی در ساختمان‌های مختلف مورد استفاده هستند. کاربری مخازن آب خانگی برای ذخیره مصرف روزانه و… می‌تواند باشد. یا اینکه در اینترنت اشیاء IoT برای مدیریت گلدان‌ها به صورت هوشمند نیازمند استفاده از یک مخزن آب برای آبیاری می‌باشد. از اینرو برای مدیریت سطح آب مخزن نیاز به سنسور می‌باشد. با انواع سنسورها میتوان این کار را انجام داد. در این آموزش از سنسور تشخیص سطح آب با برد آردوینو برای مدیریت مخزن استفاده می‌کنیم. در ادامه این آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

 

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

سنسور تشخیص سطح آب از جمله سنسورهای بیومتریک است که توانایی تشخیص سطح آب را دارد. ولتاژ کاری سنسور ۵ ولت DC است. جریان کاری سنسور تشخیص سطح آب کمتر از ۲۰ میلی آمپر می‌باشد. نوع سنسور آب آنالوگ است و با تمامی میکروکنترل‌ها قابل راه اندازی خواهد بود. محدوده تشخیص این سنسور ۱۶mm * 44mm می‌باشد. دمای کاری سنسور تشخیص سطح آب ۱۰ تا ۳۰ درجه سانتی گراد و رطوبت هم بین ۱۰% تا ۹۰% می‌باشد. وزن سنسور در حدود ۳ گرم است. ابعاد سنسور تشخیص آب ۶۵ * ۲۰ * ۸ میلی متر می‌باشد. سنسور تشخیص سطح آب دارای سه پایه به ترتیب سیگنال (آنالوگ), GND, Vcc می‌باشد. سنسور تشخیص سطح آب، قابلیت راه اندازی آن بسیار ساده و سبک وزن است. این سنسور دارای ۱۰ خطوط موازی بر روی خود است که میزان قطرات آب قرار گرفته شده بر روی سنسور را تشخیص می‌دهد.

 

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

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

 

سرو موتور MG90S

سرو موتور MG90S دارای دنده و گیربکس فلزی است.  شافت خروجی سرو موتور MG90S Servo Motor دارای ۱۸۰ درجه قابلیت چرخش  ( ۹۰ درجه در هر طرف) دارد. سرو موتور MG90 کوچک و سبک وزن با قدرت خروجی بالا است. برای راه اندازی این سرو موتور می‌توانید از کتابخانه‌هایی که برای سرو تعریف شده است، به راحتی استفاده کنید. وزن این سرو ۱۳٫۴ گرم است. ابعاد سرو موتور MG90S در حدود ۲۲٫۵ * ۱۲ * ۳۵٫۵ میلی‌متر می‌باشد. گشتاور سرو ۱٫۸ kgf.cm در ولتاژ ۴٫۸ و ۲٫۲ kfg.cm در ولتاژ ۶ ولت DC است. سرعت عمل سرو موتور در ولتاژ ۴٫۸ ۰٫۱ ثانیه در ۶۰ درجه و در ولتاژ ۶ ولت ۰٫۰۸ ثانیه در ۶۰ درجه می‌باشد. ولتاژ کاری سرو موتور بین ۴٫۸ تا ۶ ولت DC است. سرو موتور دارای سه پایه زرد یا همان سیگنال، قرمز یا همان VCC, مشکی یا همان GND می‌باشد.

آموزش ساخت مدار تشخیص سطح آب با آردوینو و سنسور water level - دیجی اسپارک

 

ال ای دی اوال Oval LED

ال ای دی Oval در مقایسه با سایر ال ای دی‌های نور بسیار واضح و شفاف با زوایه دید بیشتری دارد. همچنین ظاهر این نوع ال ای دی ها متفاوت است. اوال Oval در انگلیسی به معنای بیضی می‌باشد. ولتاژ مورد نیاز برای ال ای دی اوال Oval از ۳ تا ۳٫۲ ولت DC است. این ال ای دی دارای طول موج ۴۲۶ تا ۴۶۵ نانومتر است. همچنین دارای شدت نور ۶۰۰ تا ۸۰۰ MCD می‌باشد. جریان کاری این ال ای دی ۱۵ تا ۲۰ میلی متر است.

 

فراخوانی کتابخانه آردوینو

در این آموزش برای راه اندازی سرو موتور نیاز به فراخوانی کتابخانه آن خواهیم داشت. لینک دانلود کتابخانه سرو Servo در صفحه محصول سرو موتور MG90S قرار داده شده است. بر روی لینک کلیک کرده و وارد قسمت دانلود شوید. سپس کتابخانه را دانلود کرده و در مسیر نصب آردوینو Arduino کپی کنید. چنانچه شیوه نصب کتابخانه در آردوینو را نمی‌دانید. به پستآموزش نصب کتابخانه در نرم افزار آردوینو مراجعه کنید. اگر هم شیوه نصب و راه اندازی نرم افزار آردوینو را نمی‌دانید. به آموزش کار با برد آردوینو و نصب نرم افزار آردوینو Arduino IDE مراجعه کنید.

 

اتصالات آردوینو

  • پایه سیگنال آنالوگ سنسور تشخیص سطح آب را به پایه A1 آردوینو اتصال دهید.
  • پایه VCC سنسور تشخیص سطح آب را به پایه ۵ ولت آردوینو اتصال دهید.
  • پایه GND سنسور تشخیص سطح آب را به پایه GND آردوینو اتصال دهید.
  • پایه سیگنال سرو موتور MG90S را به پایه ۱۰ آردوینو اتصال دهید.
  • پایه VCC سرو موتور MG90S را به پایه ۵ ولت آردوینو اتصال دهید.
  • پایه GND سرو موتور MG90S را به پایه GND آردوینو اتصال دهید.
  • ال ای دی ها را به ترتیب به پایه ۵، ۶، ۷ دیجیتال آردوینو اتصال دهید.

 

 

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

 

مهمان گرامی، جهت دسترسی به کدهای این پروژه، اسپارکر شوید.

 

تحلیل کد آردوینو سنسور آب

کد را از طریق کلیدهای میانبری که برای انتقال کدها در نظر گرفته شده است، به نرم افزار آردوینو Arduino منتقل کنید. سپس طبق اتصالات گفته شده در متن آموزش اتصالات را انجام و کد را کامپایل کنید.

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

 

تعیین سطح تشخیص آب توسط سنسور

در این آموزش سه سطح متفاوت برای سنسور تشخیص آب Water Level Sensor در نظر گرفته شده است. سطح اول، سطح دوم و سطح سوم که در هر کدام شروط متفاوتی در نظر گرفته‌ایم.

سطح آب = صفر، Water level: 0mm

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

سطح آب Water level: 15-20mm

در این حالت اگر سنسور، میزان سطح آب را بین ۱۵ تا ۲۰ میلی متر تشخیص دهد، ال ای دی سبز Green به عنوان خروجی فعال شده و در سریال مانیتور عبارت زیر نمایش داده خواهد شد:

سطح آب Water level: 30-35mm

در این حالت اگر سنسور، میزان سطح آب را بین ۳۰ تا ۳۵ میلی متر تشخیص دهد، ال ای دی آبی Blue به عنوان خروجی فعال شده و در سریال مانیتور عبارت زیر نمایش داده خواهد شد:

سطح آب Water level: 35-40mm

در این حالت اگر سنسور، میزان سطح آب را بین ۳۵ تا ۴۰ میلی متر تشخیص دهد، ال ای دی قرمز Red به عنوان خروجی فعال شده و در سریال مانیتور عبارت زیر نمایش داده خواهد شد:

پس از رسیدن سطح آب به ۳۵ تا ۴۰ میلی متر، ال ای دی قرمز Red روشن و سرو موتور Servo Motor در زوایه ۹۰ درجه حرکت خواهد کرد. سپس پس از ۵ ثانیه ال ای دی قرمز خاموش شده و سرو موتور Servo Motor به مکان اول خود بازخواهد گشت.

 

وسایل مورد نیاز

شیلد پروتوتایپ آردوینو Arduino Proto Type Shield

سنسور تشخیص سطح آب Water Level Sensor

سرو موتور MG90S دارای دنده و گیربکس فلزی

برد آردوینو Arduino UNO R3

کابل فلت نری به مادگی

ال ای دی اوال Oval

کابل مخصوص بردبورد

 

مدار تشخیص سطح آب مخزن با سنسور Water Level Sensor با آردوینو - دیجی اسپارک

 

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

 

پروژه

طی چند قسمت قبلی که طرح پروژه را پیاده سازی کردیم، با استقبال شما کاربران مواجه شدیم. در این سری برای اینکه گستره بیشتری از افراد بتوانند فرصت استفاده از بن خرید را داشته باشند؛ روال دیگری را در پیش گرفتیم. در این روش تصمیم گرفته‌ایم به ۱۰ نفر از کاربران بن خرید ارایه شود. برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و بسته به خلاقیت، مدار جدیدی ایجاد کنید. مثلا همین پروژه تشخیص آب را تغییرات ساده‌ای داده و به پمپ آب فرمان دهید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ  دیجی_اسپارک و  دانشجوکیت و  digispark  و  daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان از دانشجو کیت، لینک را ارسال کنید.

 

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

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

پریسا پوربلورچیان

تولید کننده محتوا / کارشناس IOT

زندگی یعنی پژوهش و فهمیدن چیزی جدید

تلاشم بر این است تجربیاتم در زمینه IOT‌ را به بهترین شکل با شما در میان بگذارم.

تبادل نظر و رفع عیب با ثبت دیدگاه

۲۸ دیدگاه

  • با سلام
    من پروژه ای دارم تحت عنوان سنجش باران ، خواستم ببینم همین پروژه است؟
    و اینکه من شیلد پروتوتایپ ندارم و میشود روی برد برد بست و تنها با آردو اینو انجام داد!؟
    و اینکه سرو موتور حتما برای این پروژه لازم است یا تنها سنسور water level می تواند کار سنجش سطح آب را انجام دهد ؟!

    • سلام
      در این آموزش از سنسور تشخیص سطح آب استفاده شده است و توانایی سنجش آب مخزن در سطح های مختلف را دارد. سنسور باران متفاوت است و باید از آن استفاده کنید.
      در خصوص شیلد پروتوتایپ هم این شیلد امکانات بیشتر و تغذیه های GND و ۵ ولت بیشتری در اختیار شما قرار می‌دهد که بسیار پرکاربرد است ولی استفاده از آن الزامی نیست.
      سرو موتور هم تنها برای خروجی استفاده شده است و نحوه ی عملکرد سنسور را با توجه به تعریف برنامه نمایش می‌دهد.

  • سلام و تشکر از آموزش کاملتون
    این سنسور الان تو دانشجوکیت موجوده؟ سرو چی میتونیم غیر از این مدل استفاده کنیم؟ قیمت مناسب تر منظورمه؟

  • با سلام
    چند سوال داشتم
    مخزنی استوانه ای داریم که طول بیش از ۲۰ سانتی متر داره. نیاز هست که سطح آب داخلش اندازه گیری بشه. آیا سنسوری با این طول موجود دارید؟
    مخزن متحرک هست و ممکنه آب به همه جای سنسور سرایت کنه. آیا این باعث خطا میشه؟
    آیا سنسور جایگزین بهتری توی سایت موجود دارید که نیاز ما رو برطرف کنه؟ به تعداد بالا به این سنسور نیاز داریم. ممنون

    • سلام
      در این مورد استفاده از سنسورهای شناور و آلتراسونیک پیشنهاد می‌شود که در حال حاضر سنسورهای شناور در فروشگاه موجود نیست.

      • با عرض سلام
        این دو مورد هم بررسی کردیم. متاسفانه نیاز هست که حجم مخزن بر حسب میلی لیتر اندازه گیری بشه. سنسورهای شناور دقت مورد نیاز رو ندارن

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

        آیا سنسور فلومتر در ابعاد کوچیک موجود دارید؟

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

  • با سلام
    ببخشید من سوال در مورد بن خرید داشتم
    من الان سیستم RFIDرو با کمی تغیرات ساختم و در صفحه اینستگرام خودم با هشتگ دانشجو کیت گذاشتم من الان باید چکار کنم تا بن خرید به من هم برسه؟؟

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

  • سلام من این سنسور رو راه انداختم یه مقدار سنسور رو وارد اب کردم ۰تا ۵ میل نشون داد و حدود ۲ میل بیشتر وارد اب کردم ۳۵ تا ۴۰ میل رو نشون داد
    مشکل از کجاست

    • سلام
      دقت کنید که این سنسورها از نوع صنعتی و دقیق نیستند و عوامل ساده ای از جمله سختی آب و جریان دهی از پین های آردوینو روی این موضوع تاثیر می‌گذارد.

  • پروژه جالبی بود
    به نظرم میشه از این روش با اضافه کردن یک شیر برقی به مدار، جایگزینی برای شناور کولرهای آبی ساخت

  • سلام من این پروژه ارو انجام دادم اما تو هر سطحی فقط ال ای دی قرمز روشن میشه
    بقیه ال ای دی ها توسطح خیلی کم اب درحدیکی دو میلی متری روشن میشن مشکل ازکجاست؟

    • سلام
      دقت کنید این سنسورها فوق دقیق نیستند. پیشنهاد می‌کنم در ابتدا سنسور را کالیبره کنید. مجددا چک کرده و نتیجه را اعلام کنید.

    • سلام
      دقت کنید کد آن کاملا متفاوت است و باید محاسبات انجام دهید. کد پیچیده و مفصل است و در کامنت ها نمی‌توان به آن پرداخت.

  • با سلام
    یه سوالی که داشتم اینه که لزوم وجود سروو موتور در این پروژه برای چیه ؟
    میشه این تشخیص سطح آب را بدون موتور انجام داد ؟؟؟

    • سلام
      انتخاب سرو موتور کاملا اختیاری است و در این پروژه برای خروجی انتخاب شده است.
      همین کد را بدون اتصال سرو موتور می‌توانید اجرا کنید و یا تابع های سرو موتور را ا برنامه حذف کنید.

    • سلام
      از کد آردوینو همین پروژه استفاده کنید.
      در این پروژه از ال ای دی استفاده شده و می‌توانید رله را جایگزین کنید.
      برای تعریف سطح ۰ باید همانند کد مقدار Sensor value را تغییر دهید.

  • سلام
    یک سوال برای من پیش آمد، روش محاسبه ی اینکه چجوری ۵میلیمتر=۲۲۳شد و همچنین ۱۰میلیمتر=۲۵۱ شد را لطفا توضیح دهید.
    ممنون

    • سلام
      ورودی سنسور به صورت آنالوگ است و با قرار گرفتن در سطح آب، مقدار آن بین ۰ تا ۱۰۲۴ متغیر است. این بازه را باید با توجه به سطح آبی که سنسور را در آن قرار می‌دهید انتخاب کنید و در هر لحظه مقادیر آن را در سریال مانیتور بخوانید و در کد جایگزین کنید. بررسی و ننیجه را از همین طریق اعلام کنید.

  • سنسورش اصلا دقیق نیست از ۲ میلیمتر بیشتر داخل آب میکنم چراغ قرمز روشن میشه
    هر چقدر هم کالیبره میکنم سنسور هیچ فرقی نمیکنه

    • سلام
      دقت کنید که این سنسورها از نوع صنعتی و دقیق نیستند. همچنین عوامل ساده ای مانند سختی آب و جریان دهی از پین های آردوینو روی این موضوع تاثیر می‌گذارد.
      در ابتدا مقادیر سنسور در آب را از طریق سریال مانیتور پیدا کرده و در کد جایگزین کنید. سپس مجددا بررسی و نتیجه را اعلام کنید.