สร้างเครื่องตรวจสอบคุณภาพน้ำคุณค่าที่เราคู่ควรด้วย Arduino



1.) บทนำ

” น้ำ” เป็นสิ่งจำเป็นต่อการดำรงชีพของมนุษย์ เราจำเป็นต้อง บริโภคน้ำสะอาดเพื่อสุขภาพที่ดีของเรา โดยทั่วไปแล้วคนเราอาจขาดน้ำได้ประมาณ 3-5 วัน หากเกินกว่านี้เราอาจเสียชีวิตได้เพราะน้ำเป็นส่วน ประกอบหลักของร่างกายมนุษย์ คุณภาพของน้ำจึง มีอิทธิพลยิ่งต่อสุขภาพร่ายกาย ทำไมร่างกายต้องการน้ำ เหตุผลสำคัญที่สุด ที่คุณภาพของน้ำมีความสำคัญก็คือ คนเราดื่มน้ำถึงหนึ่งตันต่อปี ซึ่งเป็นปริมาณมหาศาล ที่ครอบคลุมชีวิตทั้งหมดของคนเรา ดังนั้นน้ำ จึงไม่ได้เป็นเพียงเครื่องดื่มคลายกระหายปกติทั่วไปเท่านั้น แต่เป็นสิ่งจำเป็นต่อชีวิตของเรา อวัยวะทุก ส่วนในร่างกายของคนเรา ประกอบไปด้วยเซลล์ และของเหลวในร่างกายก็เป็นสิ่งแวดล้อมของเซลล์ต่างๆ บ่งชี้ได้ว่าของเหลวภายใน และภายนอกรายรอบเซลล์ที่มีสุขภาพดีคือ โมเลกุลของน้ำ จะชำระล้างของเสียที่สั่งสมมานานออกไปจากร่างกาย และช่วยสร้างความชุ่มชื้น ส่งผลให้เกิดควายืดหยุ่น กับเซลล์ในร่างกายพูดง่ายๆ ก็คือ น้ำช่วยสร้างสรรค์และส่งเสริมทุกชีวิต ที่ก่อกำเนิดบนโลกใบนี้ ตั้งแต่เริ่มแรกเลยทีเดียว การดื่มน้ำ ที่มีสภาพเหมือนของเหลวในร่างกายอย่างเพียงพอ และต่อเนื่องทุกวัน ผิวพรรณ และเซลล์ก็จะได้รับประโยชน์ของเสียก็จะถูกขับถ่ายออกจากร่างกายได้ อย่างมีประสิทธิภาพ ซึ่งจะช่วยป้องกัน และลดผลกระทบที่เกิดจากภาวะความเสื่อมต่าง ๆ ได้ ร่าง กายของมนุษย์ เป็นน้ำมากกว่าครึ่ง โดยน้ำมีอยู่ในร่างกายมนุษย์ถึง 70 % เมื่อเราจะดื่มน้ำ เราต้องมั่นใจว่าน้ำนั้น จะต้องมีทั้งปริมาณที่พอเพียง และมีคุณภาพที่เหมาะสมกับสุขภาพ มิใช่น้ำดื่มที่มีสารปนเปื้อน และอาจเป็นอันตรายต่อสุขภาพได้ ปริมาณน้ำที่ร่างกายต้องการ ต่อวัน เพื่อสร้างความสมดุลก็คือ วันละไม่ต่ำกว่า 8 แก้ว (แก้วละ 240 ซีซี) การสมดุลก็คือ น้ำที่ดื่มเข้าไป กับที่ขับถ่ายออกจากร่างกายต่อวัน ควรจะเท่ากับในสภาวะปกติ ถ้ามีการออกกำลังกาย ร่างกายจะเสียน้ำมากขึ้นทั้งจากเหงื่อและกล้ามเนื้อ จึงทำให้ต้องดื่มน้ำมากขึ้นปริมาณน้ำในร่างกาย ถ้าลดลงเพียง 2 % ร่างกายจะเริ่มทำงานสับสน ถ้าขาดน้ำถึง 5 % การทำงานของร่างกายจะบกพร่องผิดปกติไปถึง 30 % ถ้าเสียน้ำมากกว่านี้ โดยไม่แก้ไขจะหมดกำลัง รู้สึกเวียนศีรษะ อาจถึงหมดสติและเสียชีวิตได้ เมื่อร่างกายเริ่มขาดน้ำจะรู้สึกว่า น้ำลายแห้งและเกิดความไม่สมดุล โดยการขาดน้ำจะกระตุ้นให้สมองส่วนล่าง (Hypothalamus) เกิดความรู้สึกกระหายน้ำ ซึ่งเป็นสิ่งชี้ว่าร่างกายต้องการน้ำ

2.)วัตถุประสงค์ของโครงงาน

– ให้ความปลอดภัยของน้ำที่จะดื่ม

– ลดปัญหาสุขภาพจากการดื่มน้ำ

– ทำให้ใช้ได้ทุกเวลาที่ต้องการจะตรวจสอบ

3) รายละเอียดของการพัฒนา

3.2) ทฤษฎีหลักการและเทคนิคหรือเทคโนโลยีที่ใช้

การวัดค่า pH ของชิ้นงานนี้จะใช้หลักการทางพันธะเคมีมาช่วยในการคำนวณโดยทั่วไปแล้วสารละลายหลายๆจะจับตัวกันเป็นพันธะไออนิก คือ พันธะที่เกิดขึ้นอันเนื่องมาจากแรงดึงดูดทางไฟฟ้าสถิตระหว่างไอออนบวก(cation) และไอออนลบ(anion) อันเนื่องมาจากการถ่ายโอนอิเล็กตรอน จากโลหะให้แก่อโลหะ  โดยทั่วไปแล้วพันธะไอออนิกเป็นพันธะที่เกิดขึ้นระหว่างโลหะและอโลหะ ทั้งนี้เนื่องจากว่าโลหะมีค่าพลังงานไอออไนเซชัน(ionization energy)ต่ำ แต่อโลหะมีค่าสัมพรรคภาพอิเล็กตรอน(electron affinity)สูง ดังนั้นโลหะจึงมีแนวโน้มที่จะให้อิเล็กตรอน และอโลหะมีแนวโน้มที่จะรับอิเล็กตรอน เมื่อโลหะเสียอิเล็กตรอนก็จะกลายเป็นไอออนบวก

pastedGraphic.png

อโลหะเมื่อรับอิเล็กตรอนก็จะกลายเป็นไอออนลบ

pastedGraphic_1.png

ประจุบวกและลบที่เกิดขึ้นก่อให้เกิดแรงดึงดูดทางไฟฟ้าซึ่งกันและกันเกิดเป็นพันธะไอออนิก และเพื่อความเข้าใจมากขึ้นขออธิบายการเกิดพันธะไอออนิกระหว่าง อะตอมของโซเดียม และ คลอไรด์

ด้วยเหตุนี้ เราจึงนำหลักการส่งประจุไปมาของไอออนมาคำนวณหาค่า pH เรามีเซนเซอร์ที่รองรับสำหรับการคำนวณ ด้วยอุปกรณ์เหล่านี้

3.3  เครื่องมือที่ใช้ในการพัฒนา

แบ่งออกเป็น 5 ส่วนใหญ่ๆ คือ

  1. บอร์ด Arduino UNO

2. pH sensor (e-201-c)

3. Electrode

4. จอแสดงผล

ในที่นี้เราจะใช้ Laptop ไปก่อน

5. โปรแกรมสำหรับเขียน Algorithms

 

3.4 การต่อวงจร

ส่วนแรก ต่อตัวElectrode กับ แผงเซนเซอร์ pH

ต่อมา ต่อแผงเซนเซอร์ pH กับ บอร์ด Arduino

Vcc ต่อเข้า 5V               Po ต่อเข้า A0

GND ต่อเข้า GND           บอร์ด Arduino เชื่อมกับ Laptop

3.5) รายละเอียดโปรแกรมที่ได้พัฒนาในเชิงเทคนิค

3.5.1) Flowchart ภาพรวมทั้งหมดของโครงงาน

3.5.2) Flowchart แต่ละส่วนพร้อมอธิบาย Source Code ที่พัฒนาให้ตรงกัน

3.5.2.1) การ calibrate ตัวsensor



– flowchart

– Source Code

const int analogInPin = A0;

int sensorValue = 0;

unsigned long int avgValue;

float b;

int buf[10],temp;

void setup() {

Serial.begin(9600);

}

 

void loop() {

for(int i=0;i<10;i++)

{

buf[i]=analogRead(analogInPin);

delay(10);

}

for(int i=0;i<9;i++)

{

for(int j=i+1;j<10;j++)

{

if(buf[i]>buf[j])

{

temp=buf[i];

buf[i]=buf[j];

buf[j]=temp;

}

}

}

avgValue=0;

for(int i=2;i<8;i++)

avgValue+=buf[i];

float pHVol=(float)avgValue*5.0/1024;

float phValue = -1.70 * pHVol + 19.34;

Serial.print(“sensor = “);

Serial.println(phValue);

 

delay(20); }



3.5.2.2) การหาค่า pH

  • flowchart
  • source code

#define SensorPin A0          //pH meter Analog output to Arduino Analog Input 0

unsigned long int avgValue;  //Store the average value of the sensor feedback

float b;

int buf[10],temp;

void setup()

{

pinMode(13,OUTPUT);

Serial.begin(9600);

Serial.println(“Ready”);    //Test the serial monitor

}

void loop()

{

for(int i=0;i<10;i++)       //Get 10 sample value from the sensor for smooth the value

{

buf[i]=analogRead(SensorPin);

delay(10);

}

for(int i=0;i<9;i++)        //sort the analog from small to large

{

for(int j=i+1;j<10;j++)

{

if(buf[i]>buf[j])

{

temp=buf[i];

buf[i]=buf[j];

buf[j]=temp;

}

}

}

avgValue=0;

for(int i=2;i<8;i++)                      //take the average value of 6 center sample

avgValue+=buf[i];

float phValue=(float)avgValue*5.0/1024/6; //convert the analog into millivolt

phValue=-5.7*phValue+28.34;                      //convert the millivolt into pH value

Serial.print(”    pH:”);

Serial.print(phValue,2);

Serial.println(” “);

digitalWrite(13, HIGH);

delay(100);

digitalWrite(13, LOW);

}



3.5.3) แหล่งที่มาของ Source code

3.6) ขอบเขตและข้อจำกัดของโปรแกรมที่พัฒนา

การตรวจคุณภาพน้ำมีเกณฑ์การวัดหลากหลายชนิดมาก เช่น pH , DO, BOD, ค่าปนเปื้อน,ฯลฯ ทั้งหมดล้วนแต่บอกถึงสิ่งที่อยู่ในน้ำโดยที่เรามองไม่เห็นได้ด้วยตาเปล่า ซึ่งในแต่ละเกณฑ์ไม่สามารถใช้อุปกรณ์เซนเซอร์ตัวเดียวกันได้ เราจึงขอเป็นการตรวจค่าpH ก่อน เพราะเกณฑ์นี้เป็นเกณฑ์ที่เรารู้จักกันดี PH คือการวัดความเป็นกรดหรือด่างของสารละลายระดับ pH มีค่าตั้งแต่ 0 ถึง 14 ค่า pH บ่งชี้ถึงความเข้มข้นของไฮโดรเจน [H] + ไอออนที่มีอยู่ในสารละลายบางอย่าง สามารถวัดปริมาณได้อย่างแม่นยำโดยเซ็นเซอร์ที่วัดความแตกต่างที่เป็นไปได้ระหว่างขั้วไฟฟ้าสองขั้ว: ขั้วไฟฟ้าอ้างอิง (ซิลเวอร์ / ซิลเวอร์คลอไรด์) และขั้วไฟฟ้าแก้วที่ไวต่อไฮโดรเจนไอออน นี่คือรูปแบบของการสอบสวน เราต้องใช้วงจรอิเล็กทรอนิกส์เพื่อปรับสภาพสัญญาณอย่างเหมาะสมและเราสามารถใช้เซ็นเซอร์นี้กับไมโครคอนโทรลเลอร์เช่น Arduino

 

4) กลุ่มผู้ใช้โปรแกรม พร้อมผลการประเมินจากผู้ใช้ 

 

5) ผลของการทดสอบโปรแกรม ให้ใส่รูปแสดงการทำงานของชิ้นงาน และใส่ตารางผลการทดลอง

6) ปัญหาและอุปสรรค

ปัญหาที่พบเจอมีมากมายแบ่งเป็น 2 กรณี

  1. ปัญหาทางเทคนิค

– เนื่องด้วยการจัดหาซื้ออุปกรณ์นั้นต้องสั่งซื้อทางอินเตอร์เน็ตทำให้มีความล้าช้าในการทำงาน

– เมื่อได้อุปกรณ์แล้วไม่มีคำแนะนำหรือคู่มือบอกจึงทำให้สร้างอุปกรณ์ได้อย่างไม่สมบูรณ์แบบ

– ตัวอุปกรณ์มีความคลาดเคลื่อนพอสมควร ผลลัพท์จึงออกมาได้ไม่ตรงตามที่ควรจะเป็น

2. ปัญหาทางโปรแกรม

– Source code ก้อไม่สามารถใช้ได้ถึงแม้จะมาจากแหล่งอ้างอิง

– ความคลาดเคลื่อนของอุปกรณ์ทำให้ไม่สามารถใช้กับ Source codeบางตัวได้

7) แนวทางในการพัฒนาต่อในอนาคต สามารถประยุกต์ใช้ร่วมกับงานอื่น ๆ ได้อย่างไร

ด้วยตัวบอร์ด Arduino เป็นอุปกรณ์ที่ครอบคลุมในการใช้งานทางอิเล็กทรอนิกค์ ได้อย่างดีเยี่ยม อนาคตจะใช้ ตรวจสอบน้ำในกรณีอื่นอีก เช่น

DO , BOD , ตะกอนในน้ำ, สารพิษ หรือ กระแสไฟฟ้า

8) ข้อสรุปและข้อเสนอแนะ

การสร้าง pH sensor ครั้งนี้ผ่านไปได้ด้วยดีถึงจะมีการสดุดบ้างเล็กน้อยแต่ไม่มีอะไรยากเกินเข้าใจถึงแม้กลุ่มนี้จะมีคนเดียวก็ตาม ค่าใช้จ่ายโดยเฉลี่ยทั้งหมดประมาณ 1800 บาท เหมือนจะแพงแต่การศึกษาคือการลงทุนการทำโครงงานครั้งนี้ทำให้เรียนรู้และเพิ่มพูนประสบการณ์ทักษะทางวิศวกรรมที่ควรจะมี ไม่แน่ว่าอนาคตเราอาจได้ใช้ความรู้เหล่านี้ในการประกอบสัมมาอาชีพในอนาคตก็เป็นได้

9) แหล่งที่มาอ้างอิง (Reference)

 

การนำเสนอโครงงาน

21:41 The Mighty Mind https://youtu.be/BpiLkKwKIjM



NAKHACHAI NAKSITH
at GlurGeek.Com

Leave a Reply

© 2022 GlurGeek.Com