- รับลิงก์
- X
- อีเมล
- แอปอื่นๆ
งานที่ 7/63

Mini Porject Arduino PH Sensor (วัดคุณภาพน้ำความเป็นกรดเป็นด่าง)
https://www.ab.in.th/article/85/mini-porject-arduino-ph-sensor-%E0%B8%A7%E0%B8%B1%E0%B8%94%E0%B8%84%E0%B8%B8%E0%B8%93%E0%B8%A0%E0%B8%B2%E0%B8%9E%E0%B8%99%E0%B9%89%E0%B8%B3%E0%B8%84%E0%B8%A7%E0%B8%B2%E0%B8%A1%E0%B9%80%E0%B8%9B%E0%B9%87%E0%B8%99%E0%B8%81%E0%B8%A3%E0%B8%94%E0%B9%80%E0%B8%9B%E0%B9%87%E0%B8%99%E0%B8%94%E0%B9%88%E0%B8%B2%E0%B8%87จากที่ไม่ได้เขียนบทความมานานวันนี้ทางร้านจะมาแนะนำการใช้งาน Arduino กับ Sensor PH Meter เพื่อวัดคุณภาพน้ำความเป็นกรดเป็นด่างของน้ำ หรือสารละลายต่างๆครับสามารถนำมาใช้งานกับโปรเจคหลากหลายเช่น การวัดสารละลายในน้ำความเป็นกรดเป็นด่างของสารละลาย งานปลูกพื้นไฮโดรโปนิกส์ ทางการเกษตร การบำบัดน้ำเสีย เป็นต้น
ค่า PH คืออะไร
PH คือหน่วยาำหรับการวัดความเป็นกรดเป็นด่าง ความเข้มของไฮโดรเจนไอออน โดยค่าที่ได้จะอยู่ในช่วง 0 ถึง 14 โดนน้ำบริสุทธิ์จะมีค่าเท่ากับ 7 หากต่ำกว่า 7 จะเป็นกรด และมากกว่า 7 จะมีค่าเป็นด่าง
น้องๆก็รู้จักเกี่ยวกับ PH และการนำไปใช้งานกันแล้ว ทางร้านก็จะมาแนะนำเกี่ยวกับโปรเจค Ph Meter สำหรับวัดความเป็นกรดเป็นด่าง แนะนำไปใช้งานพัฒนา Project ต่อยอดได้เลยครับ
อุปกรณ์ Mini Project Arduino PH Meter Sensor มีดังต่อไปนี้
การต่อวงจรมีดังต่อไปนี้

Code โปรแกรมตัวอย่าง
| /* | |
| Project Arduino PH Meter | |
| https://www.ab.in.th/b/85 | |
| */ | |
| #include <LiquidCrystal_I2C.h> | |
| LiquidCrystal_I2C lcd(0x27, 16, 2); | |
| float calibration_value = 21.34; | |
| int phval = 0; | |
| unsigned long int avgval; | |
| int buffer_arr[10], temp; | |
| void setup() | |
| { | |
| Serial.begin(9600); | |
| lcd.init(); | |
| lcd.begin(16, 2); | |
| lcd.backlight(); | |
| lcd.setCursor(0, 0); | |
| lcd.print("PH Meter Project"); | |
| delay(2000); | |
| lcd.clear(); | |
| } | |
| void loop() { | |
| for (int i = 0; i < 10; i++) | |
| { | |
| buffer_arr[i] = analogRead(A0); | |
| delay(30); | |
| } | |
| for (int i = 0; i < 9; i++) | |
| { | |
| for (int j = i + 1; j < 10; j++) | |
| { | |
| if (buffer_arr[i] > buffer_arr[j]) | |
| { | |
| temp = buffer_arr[i]; | |
| buffer_arr[i] = buffer_arr[j]; | |
| buffer_arr[j] = temp; | |
| } | |
| } | |
| } | |
| avgval = 0; | |
| for (int i = 2; i < 8; i++) | |
| avgval += buffer_arr[i]; | |
| float volt = (float)avgval * 5.0 / 1024 / 6; | |
| float ph_act = -5.70 * volt + calibration_value; | |
| lcd.setCursor(0, 0); | |
| lcd.print("pH Val:"); | |
| lcd.setCursor(8, 0); | |
| lcd.print(ph_act); | |
| delay(1000); | |
| } |
- รับลิงก์
- X
- อีเมล
- แอปอื่นๆ