پروژه الکترونیکپروژه های آردوینوپروژه های اندازه گیری

بررسی کیفیت آب با آردوینو و سنسور کدورت آب (کدر بودن)

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

کدورت آب چیست؟

کدورت ، درجه یا سطح ابری بودن مایعات است. این اتفاق به دلیل وجود تعداد زیادی ذرات نامرئی (با چشم غیر مسلح) مشابه دود سفید در هوا اتفاق می افتد. هنگام عبور نور از مایعات ، امواج نور به دلیل وجود این ذرات ریز پراکنده می شوند. کدورت یک مایع مستقیماً با ذرات معلق آزاد متناسب است که اگر تعداد ذرات افزایش یابد ، کدورت نیز افزایش می یابد.

کدورت آب چیست؟

اندازه گیری کدر بودن آب با آردوینو

همانطور که قبلاً اشاره کردم ، کدر بودن به دلیل پراکندگی امواج نور اتفاق می افتد ، برای اندازه گیری کدورت ، باید پراکندگی نور را اندازه گیری کنیم. کدورت معمولاً در واحدهای کدورت نفلومتریک (NTU) یا واحدهای کدورت جکسون (JTLJ) اندازه گیری می شود ، این بستگی به روشی دارد که برای اندازه گیری استفاده می شود. این دو واحد تقریباً برابر هستند.

حال بیایید ببینیم که سنسور کدورت چگونه کار می کند. این سنسور دارای دو قسمت فرستنده و گیرنده است. فرستنده از یک منبع نور به طور معمول یک مدار led و یک درایور تشکیل شده است. در انتهای گیرنده ، یک آشکارساز نور مانند یک فوتودیود یا یک LDR وجود دارد. ما محلول را بین فرستنده و گیرنده قرار می دهیم.

اندازه گیری کدر بودن آب با آردوینو

فرستنده به سادگی نور را ارسال می کند ، امواج نوری از محلول عبور می کنند و گیرنده نور را دریافت می کند. به طور معمول (بدون حضور ذرات مضر) نور ارسالی از طرف گیرنده کاملاً دریافت می شود. اما در حضور یک محلول کدر ، مقدار نور منتقل شده بسیار کم است. در سمت گیرنده ، ما فقط یک نور کم شدت می گیریم و این شدت با کدورت متناسب است. بنابراین دریافت نور زیاد، به معنی با کیفیت بودن آب و دریافت نور کم، به معنی کدر بودن آب است.

بررسی اجمالی سنسور کدورت

سنسور کدورت استفاده شده در این پروژه در زیر نشان داده شده است.

بررسی اجمالی سنسور کدورت

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

اگر میخواهید آردوینو را به صورت اصولی و پروژه محور (برنامه نویسی حرفه ای، ارتباط آردوینو با اندروید، ساخت ربات با آردوینو) یاد بگیرید، روی دوره آموزش آردوینو کلیک کنید.

پروب آزمایش تست کیفیت آب

تصویر بالا نشان می دهد ، این نوع ماژول ها از یک دیود IR به عنوان منبع نور و یک گیرنده IR به عنوان گیرنده استفاده می کنند. اما اصل کار همان سابق است. قسمت درایور (در زیر نشان داده شده است) از یک آمپ آمپ و برخی از اجزا تشکیل شده است که سیگنال نوری شناسایی شده را تقویت می کند.

درایور سنسور کدر بودن آب

سنسور واقعی را می توان با استفاده از رابط JST XH به این ماژول متصل کرد. این سنسور دارای سه پایه VCC ، زمین و خروجی است. Vcc به 5v و GND به زمین متصل می شود. خروجی این ماژول یک مقدار آنالوگ است که با توجه به شدت نور تغییر می کند.

ویژگی های اصلی ماژول کدورت

همچنین اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید
  1. ولتاژ کار: 5 ولت
  2. جریان: 30 میلی آمپر (حداکثر)
  3. دمای کار: -30 درجه سانتیگراد تا 80 درجه سانتیگراد
  4. سازگار با Arduino ، Raspberry Pi ، AVR ، PIC و …

شماتیک اتصال سنسور کیفیت آب به برد آردوینو

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

شماتیک اتصال سنسور کیفیت آب به برد آردوینو

این یک مدار بسیار ساده است. خروجی سنسور کدورت آنالوگ است به گونه ای که به پین ​​A0 آردوینو و LCD I2C به پین ​​های I2C آردوینو که از SCL به A5 و SDA به A4 می باشد متصل می شود. سپس RGB LED به پین ​​های دیجیتال D2 ، D3 و D4 متصل میشود. بعد از انجام اتصالات ، مدار من شکل زیر میشود.

پروژه کنترل کیفیت آب با Arduino

VCC سنسور را به 5v برد آردوینو وصل کنید ، سپس GND را به GND و پایه خروجی سنسور به آنالوگ 0 آردوینو وصل کنید. سپس، VCC و GND ماژول LCD را به 5v و GND آردوینو وصل کنید. سپس SDA به A4 و SCL به A5 ، این دو پایه پایه های I2C آردوینو هستند. سر انجام زمین RGB LED را به زمین Arduino متصل کرده و رنگ سبز را به D3 ، آبی را به D4 و قرمز را به D5 متصل کنید.

توجه فرمایید اگر ال سی دی کاراکتری I2C ندارید، میتوانید با تغییر کوچک در کد پروژه، آن را به ال سی دی کاراکتری معمولی متصل کنید. برای این کار پیشنهاد میکنم آموزش اتصال ال سی دی کاراکتری به آردوینو را بخوانید.

قطعات مورد نیاز

  1. ماژول کدورت
  2. برد آردوینو Uno
  3. ال سی دی کاراکتری 16*2
  4. RGB LED کاتد مشترک

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

کد کامل در انتهای صفحه قرار داده شده است. در اینجا قسمت های کد را بررسی میکنیم. این طرح مقدار کدر بودن آب را از 0 تا 100 در ال سی دی نمایش میدهد.

در ابتدای کد ما باید کتابخانه ال سی دی کاراکتری I2C را فراخوانی کنیم.

#include <LiquidCrystal_I2C.h>

سپس یک متغیر برای پین آنالوگ متصل به سنسور ایجاد میکنیم.

 int sensorPin = A0;

در قسمت void setup حالت پین های ال ای دی RGB را تعیین میکنیم.

pinMode(3,OUTPUT); 
pinMode(4,OUTPUT); 
pinMode(5,OUTPUT);

در قسمت void loop باید خروجی سنسور را که یک مقدار آنالوگ است بخوانیم. با کمک تابع AnalogRead می توان مقادیر خروجی را در قسمت حلقه خواند. (آموزش آنالوگ به دیجیتال در آردوینو را بخوانید.)

int sensorValue =analogRead(sensorPin);

ما باید رفتار سنسور خود را درک کنیم ، به این معنی که ما باید مقدار حداقل و حداکثر سنسور کدورت را بخوانیم. با استفاده از تابع serial.println می توانیم آن مقدار را روی سریال مانیتور نمایش دهیم.

برای بدست آوردن این مقادیر ، ابتدا مقدار سنسور را بدون هیچ عملیات جانبی میخوانیم. من مقداری در حدود 640 بدست آوردم. بعد از آن ، یک ماده سیاه بین فرستنده و گیرنده قرار دهید ، مقداری که دریافت می کنیم که حداقل مقدار است و معمولاً آن مقدار صفر است. بنابراین ما حداکثر 640 و حداقل صفر داریم. حال باید این مقادیر را به محدوده 0-100 تبدیل کنیم.

بنابراین از عملکرد map آردوینو استفاده کردم.

int turbidity = map(sensorValue, 0,640, 100, 0);

سپس آن مقادیر را در صفحه LCD نمایش دادم.

  lcd.setCursor(0, 0);
  lcd.print("turbidity:");
  lcd.print("   ");
  lcd.setCursor(10, 0);
  lcd.print(turbidity);

بعد از آن ، با کمک if ، شرایط مختلفی را ارائه میکنیم.

if (turbidity < 20)
 {
    digitalWrite(2, HIGH);
    digitalWrite(3, LOW);
    digitalWrite(4, LOW);
    lcd.setCursor(0, 1);
    lcd.print(" its CLEAR ");
}

اگر مقدار کدورت زیر 20 باشد ، چراغ سبز فعال و “ its CLEAR” بر روی ال سی دی نمایش داده میشود.

if ((turbidity > 20) && (turbidity < 50)) 
{
    digitalWrite(2, LOW);
    digitalWrite(3, HIGH);
    digitalWrite(4, LOW);
    lcd.setCursor(0, 1);
    lcd.print(" its CLOUDY ");
  }

اگر مقدار کدورت بین 20 تا 50 باشد ، چراغ آبی فعال و “its CLOUDY” بر روی LCD نمایش داده میشود.

if ((turbidity > 50) 
{
    digitalWrite(2, LOW);
    digitalWrite(3, HIGH);
    digitalWrite(4, LOW);
    lcd.setCursor(0, 1);
    lcd.print(" its DIRTY ");
  }

اگر مقدار کدورت بزرگتر از 50 باشد ، چراغ قرمز فعال و “its DIRTY” روی LCD نمایش داده می شود.

فیلم عملکرد پروژه تست کیفیت آب با آردوینو

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

همچنین پروژه کنترل اتوماتیک سطح آب با آردوینو را مشاهده کنید.

دانلود فیلم تست کیفیت آب با آردوینو

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

پروژه ها رایگان هستند. برای دانلود فایل های پروژه باید در سایت عضو باشید. ثبت نام / ورود

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

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. مالکیتی بر مطالب ارائه شده ندارم. اکثر فعالیت بنده در زمینه ترجمه است. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید)

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

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