คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 2
มันต้องจำก่อนว่า ตอนนี้เป็นช่วงน้ำลดหรือช่วงนำเติม ไม่งั้นปั๋มทำงานตลอด
ยกตัวอย่าง มีสวิทช์ 2 ตัว ติดตั้งที่ MAX กับ MIN
(
MAX = 1 คือน้ำถึงระดับ 0 คือ น้ำลดกว่าระดับ
MIN = 1 คือน้ำถึงหรือมากกว่าระดับ 0 คือ น้ำลดกว่าระดับ
)
สถานะปั๋ม M คือ 1 ( ON จ่ายน้ำ ) กับ 0 ( OFF หยุดน้ำ )
โค็ดเบื้องต้น
M=1; // กำหนดให้เติมน้ำก่อนจนเต็ม สมมุติว่าถังมันว่างตอนเริ่มต้น
/// (วนลูบการทำงาน )
MAX = readSwitchMax(); //อ่านค่าสถานะสวิทช์หรือเซ็นเซอร์ด้านบน
MIN = readSwitchMin(); //อ่านค่าสถานะสวิทช์หรือเซ็นเซอร์ด้านล่าง
/// เหตุการแรก เติมน้ำและน้ำเต็ม
if ( M==1; && MAX ==1 && MIN ==1 ) /// มีการสั่งให้ปั๋มทำงาน และน้ำเต็ม
{
M=0; /// สั้งหยุดปั์ม
}
//// เหตุการที่สอง น้ำกำลังลด ก็ให้ลดต่อไปจนกว่าจะต่ำสุดๆ
if ( M==0 && MAX ==0 && MIN == 1) /// MIN ยังจับได้ว่ามีน้ำเกินกว่าระดับล่างสุด
{
M=0; /// สั้งหยุดปั์ม
}
//// เหตุการที่สาม น้ำลดจนต่ำ
if ( MAX ==0 && MIN == 0) /// ต่ำกว่าระดับล่างสุด
{
M=1; /// สั้งปั์มทำงาน
}
//// เหตุการที่สี่ น้ำสูงกว่าระดับล่างสุด แต่ยังไม่ถึงระดับสูงสุด ก็ให้เติมต่อไป
if ( M==1 && MAX ==0 && MIN == 1) /// สูงกว่าระดับล่างสุด
{
M=1; /// สั้งปั์มทำงาน ต่อ
}
น่าจะพอเป็นแนวทางได้
ยกตัวอย่าง มีสวิทช์ 2 ตัว ติดตั้งที่ MAX กับ MIN
(
MAX = 1 คือน้ำถึงระดับ 0 คือ น้ำลดกว่าระดับ
MIN = 1 คือน้ำถึงหรือมากกว่าระดับ 0 คือ น้ำลดกว่าระดับ
)
สถานะปั๋ม M คือ 1 ( ON จ่ายน้ำ ) กับ 0 ( OFF หยุดน้ำ )
โค็ดเบื้องต้น
M=1; // กำหนดให้เติมน้ำก่อนจนเต็ม สมมุติว่าถังมันว่างตอนเริ่มต้น
/// (วนลูบการทำงาน )
MAX = readSwitchMax(); //อ่านค่าสถานะสวิทช์หรือเซ็นเซอร์ด้านบน
MIN = readSwitchMin(); //อ่านค่าสถานะสวิทช์หรือเซ็นเซอร์ด้านล่าง
/// เหตุการแรก เติมน้ำและน้ำเต็ม
if ( M==1; && MAX ==1 && MIN ==1 ) /// มีการสั่งให้ปั๋มทำงาน และน้ำเต็ม
{
M=0; /// สั้งหยุดปั์ม
}
//// เหตุการที่สอง น้ำกำลังลด ก็ให้ลดต่อไปจนกว่าจะต่ำสุดๆ
if ( M==0 && MAX ==0 && MIN == 1) /// MIN ยังจับได้ว่ามีน้ำเกินกว่าระดับล่างสุด
{
M=0; /// สั้งหยุดปั์ม
}
//// เหตุการที่สาม น้ำลดจนต่ำ
if ( MAX ==0 && MIN == 0) /// ต่ำกว่าระดับล่างสุด
{
M=1; /// สั้งปั์มทำงาน
}
//// เหตุการที่สี่ น้ำสูงกว่าระดับล่างสุด แต่ยังไม่ถึงระดับสูงสุด ก็ให้เติมต่อไป
if ( M==1 && MAX ==0 && MIN == 1) /// สูงกว่าระดับล่างสุด
{
M=1; /// สั้งปั์มทำงาน ต่อ
}
น่าจะพอเป็นแนวทางได้
แสดงความคิดเห็น
ใครมีโค้ดวัดระดับน้ำในถังบ้าง??
แล้วสั่งปั้มน้ำปล่อยน้ำเข้า จนเมื่อน้ำถึงจุดที่ตั้งไว้ก็ให้ดัง แล้วตัดการทำงานปั้ม
ใครพอมีโค้ดหรือมีเว็บไซต์ที่เกี่ยวข้องก็แนะนำกันได้นะครับ
ขอบคุณล่วงหน้าครับ