- ความขุ่นในของเหลวคืออะไร?
- วิธีวัดความขุ่นโดยใช้ Arduino
- ส่วนประกอบที่จำเป็นสำหรับการทำเครื่องวัดความขุ่น
- ภาพรวมของ Turbidity Sensor
- คุณสมบัติที่สำคัญของโมดูลความขุ่น
- การเชื่อมต่อ Turbidity Sensor กับ Arduino - Circuit Diagram
- การเขียนโปรแกรม Arduino เพื่อวัดความขุ่นในน้ำ
เมื่อพูดถึงของเหลวความขุ่นเป็นคำสำคัญ เนื่องจากมีบทบาทสำคัญในพลศาสตร์ของของเหลวและยังใช้ในการวัด คุณภาพน้ำอีกด้วย ดังนั้นในการกวดวิชานี้ขอหารือเกี่ยวกับสิ่งที่เป็นความขุ่นวิธีการวัดความขุ่นของของเหลวโดยใช้ Arduino หากคุณต้องการดำเนินโครงการนี้ต่อไปคุณสามารถพิจารณาเชื่อมต่อเครื่องวัดค่า pH กับ Arduino และอ่านค่า pH ของน้ำเพื่อประเมินคุณภาพของน้ำได้ดีขึ้น ก่อนหน้านี้เราได้สร้างอุปกรณ์ตรวจสอบคุณภาพน้ำที่ใช้ IoT โดยใช้ ESP8266 คุณสามารถตรวจสอบได้หากสนใจ ที่ถูกกล่าวมาเริ่มกันเลย
ความขุ่นในของเหลวคืออะไร?
ความขุ่นคือระดับหรือระดับของความขุ่นมัวหรือความเป็นอันตรายของของเหลว สิ่งนี้เกิดขึ้นเนื่องจากมีอนุภาคที่มองไม่เห็นจำนวนมาก (ด้วยตาเปล่า) คล้ายกับควันสีขาวในอากาศ เมื่อแสงผ่านของเหลวคลื่นแสงจะกระจัดกระจายเนื่องจากมีอนุภาคเล็ก ๆ เหล่านี้ ความขุ่นของของเหลวเป็นสัดส่วนโดยตรงกับอนุภาคแขวนลอยอิสระนั่นคือถ้าจำนวนอนุภาคเพิ่มขึ้นความขุ่นก็จะเพิ่มขึ้นด้วย
วิธีวัดความขุ่นโดยใช้ Arduino
ดังที่ฉันได้กล่าวไว้ก่อนหน้านี้ความขุ่นเกิดขึ้นเนื่องจากการกระจัดกระจายของคลื่นแสงเพื่อวัดความขุ่นเราควรวัดการกระจัดกระจายของแสง โดยปกติแล้วค่าความขุ่นจะวัดเป็นหน่วยความขุ่นแบบเนฟีโลเมตริก(NTU)หรือหน่วยความขุ่นของแจ็คสัน (JTLJ)ขึ้นอยู่กับวิธีการที่ใช้วัด ทั้งสองหน่วยมีค่าเท่ากันโดยประมาณ
ตอนนี้เรามาดูกันว่าเซ็นเซอร์ความขุ่นทำงานอย่างไรมีสองส่วนคือตัว ส่งและตัวรับ เครื่องส่งสัญญาณประกอบด้วยแหล่งกำเนิดแสงโดยทั่วไปคือไฟ LED และวงจรขับ ที่ปลายเครื่องรับมีตัวตรวจจับแสงเช่นโฟโตไดโอดหรือ LDR เราวางวิธีแก้ปัญหาไว้ระหว่างเครื่องส่งและเครื่องรับ
เครื่องส่งเพียงแค่ส่งแสงโดยคลื่นแสงนั้นจะผ่านสารละลายและเครื่องรับจะรับแสง โดยปกติ (ไม่มีสารละลาย) แสงที่ส่งผ่านจะรับที่ด้านรับอย่างสมบูรณ์ แต่เมื่อมีสารละลายขุ่นปริมาณแสงที่ส่งผ่านจะต่ำมาก นั่นคือทางด้านเครื่องรับเราได้รับแสงที่มีความเข้มต่ำเท่านั้นและความเข้มนี้แปรผกผันกับความขุ่น ดังนั้นเราจึงสามารถวัดความขุ่นได้โดยการวัดความเข้มของแสงหากความเข้มของแสงสูงสารละลายจะขุ่นน้อยลงและถ้าความเข้มของแสงต่ำมากนั่นหมายความว่าสารละลายจะขุ่นมากขึ้น
ส่วนประกอบที่จำเป็นสำหรับการทำเครื่องวัดความขุ่น
- โมดูลความขุ่น
- Arduino
- 16 * 2 I2C LCD
- LED RGB แคโทดทั่วไป
- เขียงหั่นขนม
- สายจัมเปอร์
ภาพรวมของ Turbidity Sensor
เซ็นเซอร์วัดความขุ่นที่ใช้ในโครงการนี้แสดงอยู่ด้านล่าง
อย่างที่คุณเห็นโมดูลเซ็นเซอร์ความขุ่นนี้มาพร้อมกับ 3 ส่วน สายไฟกันน้ำวงจรขับและสายเชื่อมต่อ โพรบทดสอบประกอบด้วยทั้งตัวส่งและตัวรับ
ภาพด้านบนแสดงโมดูลประเภทนี้ใช้ไดโอด IR เป็นแหล่งกำเนิดแสงและตัวรับสัญญาณ IR เป็นตัวตรวจจับ แต่หลักการทำงานก็เหมือนเดิม ส่วนของไดรเวอร์ (แสดงด้านล่าง) ประกอบด้วยออปแอมป์และส่วนประกอบบางอย่างที่ขยายสัญญาณไฟที่ตรวจพบ
เซ็นเซอร์จริงสามารถเชื่อมต่อกับโมดูลนี้ได้โดยใช้ขั้วต่อ JST XH มีสามพิน VCC กราวด์และเอาต์พุต Vcc เชื่อมต่อกับ 5v และกราวด์กับกราวด์ เอาต์พุตของโมดูลนี้เป็นค่าอะนาล็อกซึ่งจะเปลี่ยนไปตามความเข้มของแสง
คุณสมบัติที่สำคัญของโมดูลความขุ่น
- แรงดันไฟฟ้าที่ใช้งาน: 5VDC.
- ปัจจุบัน: 30mA (MAX)
- อุณหภูมิในการทำงาน: -30 ° C ถึง 80 ° C
- ใช้งานร่วมกับ Arduino, Raspberry Pi, AVR, PIC ฯลฯ
การเชื่อมต่อ Turbidity Sensor กับ Arduino - Circuit Diagram
แผนผังที่สมบูรณ์เพื่อเชื่อมต่อเซ็นเซอร์ความขุ่นกับ Arduino แสดงไว้ด้านล่างวงจรได้รับการออกแบบโดยใช้ EasyEDA
นี่คือแผนภาพวงจรที่เรียบง่ายมาก เอาต์พุตของเซ็นเซอร์ความขุ่นเป็นแบบอะนาล็อกเพื่อเชื่อมต่อกับขา A0 ของ Arduino, I2C LCD ที่เชื่อมต่อกับขา I2C ของ Arduino ที่เป็น SCL ถึง A5 และ SDA ถึง A4 จากนั้น RGB LED เชื่อมต่อกับพินดิจิตอล D2, D3 และ D4 หลังจากเชื่อมต่อเสร็จสิ้นการตั้งค่าฮาร์ดแวร์ของฉันจะมีลักษณะดังนี้ด้านล่าง
เชื่อมต่อ VCC ของเซ็นเซอร์เข้ากับ Arduino 5v จากนั้นเชื่อมต่อกราวด์กับกราวด์ ขาเอาต์พุตของเซ็นเซอร์เป็นอะนาล็อก 0 ของ Arduino จากนั้นเชื่อมต่อ VCC และกราวด์ของโมดูล LCD กับ 5v และกราวด์ของ Arduino จากนั้น SDA ถึง A4 และ SCL ถึง A5 พินทั้งสองนี้คือพิน I2C ของ Arduino ในที่สุดก็เชื่อมต่อกราวด์ของ RGB LED กับกราวด์ของ Arduino และเชื่อมต่อสีเขียวกับ D3 สีน้ำเงินถึง D4 และสีแดงกับ D5
การเขียนโปรแกรม Arduino เพื่อวัดความขุ่นในน้ำ
แผนคือการแสดงค่าความขุ่นตั้งแต่ 0 ถึง 100 นั่นคือมิเตอร์ควรแสดงเป็น 0 สำหรับของเหลวบริสุทธิ์และ 100 สำหรับของเหลวที่มีความขุ่นสูง โค้ด Arduino นี้ง่ายมากและสามารถดูโค้ดทั้งหมดได้ที่ด้านล่างของหน้านี้
อันดับแรกฉันรวมไลบรารีคริสตัลเหลว I2C เนื่องจากเราใช้ I2C LCD เพื่อลดการเชื่อมต่อ
# รวม
จากนั้นฉันตั้งค่าจำนวนเต็มสำหรับอินพุตเซ็นเซอร์
int sensorPin = A0;
ในส่วนการตั้งค่าฉันกำหนดพิน
pinMode (3, เอาท์พุท); PinMode (4, เอาท์พุท); pinMode (5, เอาท์พุท);
ในส่วนการวนซ้ำดังที่ฉันได้กล่าวไว้ก่อนหน้านี้เอาต์พุตของเซ็นเซอร์เป็นค่าอนาล็อก ดังนั้นเราจำเป็นต้องอ่านค่าเหล่านั้น ด้วยความช่วยเหลือของฟังก์ชันArduino AnalogRead เราสามารถอ่านค่าเอาต์พุตในส่วนลูป
int sensorValue = analogRead (sensorPin);
ขั้นแรกเราต้องเข้าใจพฤติกรรมของเซ็นเซอร์ของเราซึ่งหมายความว่าเราต้องอ่านค่าต่ำสุดและค่าสูงสุดของเซ็นเซอร์ความขุ่น เราสามารถอ่านค่านั้นบนมอนิเตอร์แบบอนุกรมโดยใช้ ฟังก์ชัน serial.println
ในการรับค่าเหล่านี้ก่อนอื่นให้อ่านเซ็นเซอร์อย่างอิสระที่ไม่มีทางแก้ไขใด ๆ ฉันได้ค่าประมาณ 640 และหลังจากนั้นวางสสารสีดำระหว่างตัวส่งและตัวรับเราจะได้ค่าที่เป็นค่าต่ำสุดโดยปกติค่านั้นจะเป็นศูนย์ เราจึงได้ 640 สูงสุดและเป็นศูนย์เป็นค่าต่ำสุด ตอนนี้เราต้องแปลงค่าเหล่านี้เป็น 0-100
ด้วยเหตุนี้ฉันจึงใช้ ฟังก์ชั่นแผนที่ของ Arduino
int turbidity = แผนที่ (sensorValue, 0,640, 100, 0);
จากนั้นฉันก็แสดงค่านั้นในจอ LCD
lcd.setCursor (0, 0); lcd.print ("ความขุ่น:"); lcd.print (""); lcd.setCursor (10, 0); lcd.print (ความขุ่น);
หลังจากนั้นด้วยความช่วยเหลือของเงื่อนไข if ฉันจึงให้เงื่อนไขที่แตกต่างออกไป
ถ้า (ความขุ่น <20) { digitalWrite (2, HIGH); digitalWrite (3, ต่ำ); digitalWrite (4, ต่ำ); lcd.setCursor (0, 1); lcd.print ("มันชัดเจน"); }
สิ่งนี้จะ LED สีเขียวที่ใช้งานอยู่และแสดง "ชัดเจน" บน LCD หากค่าความขุ่นต่ำกว่า 20
ถ้า ((ความขุ่น> 20) && (ความขุ่น <50)) { digitalWrite (2, LOW); digitalWrite (3, สูง); digitalWrite (4, ต่ำ); lcd.setCursor (0, 1); lcd.print ("ของมัน CLOUDY"); }
การดำเนินการนี้จะเป็นไฟ LED สีน้ำเงินและแสดง "เมฆมาก" บน LCD หากค่าความขุ่นอยู่ระหว่าง 20 ถึง 50
ถ้า ((ความขุ่น> 50) { digitalWrite (2, LOW); digitalWrite (3, HIGH); digitalWrite (4, LOW); lcd.setCursor (0, 1); lcd.print ("มัน DIRTY"); }
ไฟ LED สีแดงจะทำงานและแสดงข้อความ "มันสกปรก" บน LCD หากค่าความขุ่นมากกว่า 50 ดังที่แสดงด้านล่าง
เพียงทำตามแผนภาพวงจรและอัปโหลดรหัสหากทุกอย่างถูกต้องคุณควรจะสามารถวัดความขุ่นของน้ำได้และ LCD จะแสดงคุณภาพของน้ำดังที่แสดงด้านบน
โปรดทราบว่าเครื่องวัดความขุ่นนี้แสดงเปอร์เซ็นต์ความขุ่นและอาจไม่ใช่ค่าอุตสาหกรรมที่ถูกต้อง แต่ก็ยังสามารถใช้เปรียบเทียบคุณภาพน้ำของน้ำสองน้ำได้ การทำงานทั้งหมดของโครงการนี้สามารถพบได้ในวิดีโอด้านล่าง หวังว่าคุณจะสนุกกับบทช่วยสอนและเรียนรู้สิ่งที่เป็นประโยชน์หากคุณมีคำถามใด ๆ คุณสามารถฝากไว้ในส่วนความคิดเห็นด้านล่างหรือใช้ฟอรัม CircuitDigest เพื่อโพสต์คำถามทางเทคนิคของคุณหรือเริ่มการสนทนาที่เกี่ยวข้อง