การใช้งาน Water Flow Sensor กับ Arduino
Water Flow Sensor คือ Sensor ที่ทำหน้าที่ในการวัดอัตราการไหลของของเหลว ที่ไหลผ่านตัวSensorหรือนำค่าที่วัดได้มาคำนวณเป็นปริมาณน้ำก็ได้ครับ โดยปกติแล้วค่าที่วัดได้จะออกมาเป็นสัญญาณ Pulse(เกือบทุกรุ่นจะเหมือนกัน) โดยปกติแล้วเราจะใช้ขา EXT Interrupt รับค่า เหมือนๆกับ Encoder
ตัวที่นำมาทดลองให้ดูวันนี้จะเป็น Water Flow Sensor SEN-HZ21WA
โดยจะมี3 ขา
VCC (แดง) 12VDC
GROUND (ดำ)
SIGNAL (เหลือง)
อุปกรณ์
1.Arduino NANO
2.Water Flow Sensor SEN-HZ21WA
ตัวอย่างโปรแกรม Water Flow Sensor กับ Arduino
volatile int flow_frequency;
// Water flow
unsigned int l_hour,f_val;
// Water flow
unsigned long ctTime,flow_val,cloopTime;
// Water flow
void flow ()
// Water flow Interrupt function
{
flow_frequency++; f_val++;
}
void setup()
{
Serial.begin(9600);
attachInterrupt(1, flow, RISING); sei(); ctTime = millis(); cloopTime = ctTime;
// Water flow
}
void loop ()
{
ctTime = millis();
if
(ctTime >= (cloopTime + 1000))
{
cloopTime = ctTime;
l_hour = (flow_frequency * 60 / 7.5);
flow_frequency = 0;
Serial.
(l_hour, DEC); Serial.
(
" L/hour"
);
}
if
(f_val>=450){flow_val++;f_val=0;}
Serial.println(flow_val);Serial.println(
"L"
);
}
Facebook Comments