12 V1 ครับ พิน 12 ที่แทนเซนเซอร์ระดับน้ำครับ
Serial.println(String("digitalRead(4) => ") + digitalRead(4));
Serial.println(String("Relay_On => ") +Relay_On);
delay(300);
if ((digitalRead(4) == 0) && (Relay_On == true)) {
digitalWrite(12, HIGH); // Relay on
Serial.println("Relay on");
Blynk.virtualWrite(V1,1);
}
else{
digitalWrite(12, LOW); //Relay off
Serial.println("Relay off");
Blynk.virtualWrite(V1,0); //ปิด ปุ่มหน้า app ให้เป็น off
}
ลองใส่เพิ่มตามจุดนี้แล้วแคปดีบัคมาให้ดูหน่อยครับว่ามัน ได้ค่าอะไรมา แล้วตรงปุ่มหน้า app ตั้งเป็น SW หรือ เป็น push button ตั้งตั้งเป็น SW นะครับ
สภาวะปกติทำไมเซนเซอร์ on ครับ ต่อแบบไหน
ถ้าเรารับค่าจาก sensor pin 5 ก็ต้องเปลี่ยน ใน digitalRead(4) ด้วยให้เป็น 5
ตอนนี้รับค่าระดับน้ำเพื่อเปิดวาล์วได้แล้วครับแต่ไม่ฟังสัญญาณปุ่มกดเลยครับ
ทำได้จากอะไรครับ ขอรายละเอียดการแก้ไข เพื่อเป็นแนวทางหน่อยนะครับ
ส่วนปัญหาที่สอง ขอรายละเอียด เพิ่มเติมหน่อย อ่านแล้ว งงๆ ครับ
ไม่ได้แก้ที่ซอฟแวร์ครับแต่เป็นการนำมาติดตั้งในตู้จริงแล้วเช็คระดับน้ำเอาครับ
if (Relay_On == true) {
digitalWrite(12, HIGH); // Relay on
Serial.println("Relay on");
Blynk.virtualWrite(V1,1);
if(digitalRead(5) == 1){
digitalWrite(12, LOW); //Relay off
Serial.println("Relay off");
Blynk.virtualWrite(V1,0); //ปิด ปุ่มหน้า app ให้เป็น off
}
}
else{
digitalWrite(12, LOW); //Relay off
Serial.println("Relay off");
Blynk.virtualWrite(V1,0); //ปิด ปุ่มหน้า app ให้เป็น off
}
เช็ค R pull up หรือ pull down ให้ดีครับ ก่อนเข้าช่อง input บอร์ด เพราะถ้าไม่ใส่ R สัญญาณจะ จับสถานะไม่ได้ว่า 0 หรือ 1 มันก็สลับไปมา ทำให้รวน ครับ
1 Likes