آردوینو Arduinoپروژه های آردوینو

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

مطلب پیشنهادی:  آموزش کنترل نئو پیکسل با آردوینو و نمایشگر لمسی TFT

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

سنسور واقعی را می توان با استفاده از رابط 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 تبدیل کنیم.

مطلب پیشنهادی:  پروژه ماشین حساب با آردوینو و کیپد 4*4

بنابراین از عملکرد 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 نمایش داده می شود.

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

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

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

دانلود فایل های پروژه

میخواهید برنامه نویسی STM32 را یاد بگیرید؟

دوره آموزش STM32

میخواهید الکترونیک را یاد بگیرید؟

دوره آموزش الکترونیک
دوره آموزش آردوینو

میخواهید آردوینو را به صورت پروژه محور یاد بگیرید؟ برای مشاهده توضیحات روی دوره مورد نظر کلیک کنید

برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام آیرنکس عضو شوید.

محمد رحیمی

محمد رحیمی

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

2 نظر

  1. سلام خسته نباشید
    مدل درایوری که استفاده شده چیه؟

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

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

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