คำตอบที่ได้รับเลือกจากเจ้าของกระทู้
ความคิดเห็นที่ 1
เอา delay ออกมาจาก if
เอามาไว้ท้าย loop (แค่อันเดียว)
ถ้าลองจะเขียนแบบ "coroutines"
CopyThreads
https://github.com/jensh/CopyThreads
เอามาไว้ท้าย loop (แค่อันเดียว)
ถ้าลองจะเขียนแบบ "coroutines"
CopyThreads
https://github.com/jensh/CopyThreads
▼ กำลังโหลดข้อมูล... ▼
แสดงความคิดเห็น
คุณสามารถแสดงความคิดเห็นกับกระทู้นี้ได้ด้วยการเข้าสู่ระบบ
Arduino อยากจะเขียน Code นับเวลาตามที่ขา digital D1 D2 D3 D4 D5 ทำงานครับแต่แยกนับเป็นขา และรวมเวลาแต่ละขาครับ
และรวมแสดงไว้ที่ Serial.Print จะมีวิธีเขียนแบบไหนครับ
void loop() {
if (digitalRead(D1) == HIGH)
{
TimeD1++;
delay(1000);
}
if (digitalRead(D1) == HIGH)
{
TimeD2++;
delay(1000);
}
if (digitalRead(D1) == HIGH)
{
TimeD3++;
delay(1000);
}
if (digitalRead(D1) == HIGH)
{
TimeD4++;
delay(1000);
}
if (digitalRead(D1) == HIGH)
{
TimeD5++;
delay(1000);
}
Serial.print("TimeD1");
Serial.print(TimeD1);
Serial.print(" TimeD1");
Serial.print(TimeD2);
Serial.print(" TimeD1");
Serial.print(TimeD3);
Serial.print(" TimeD1");
Serial.print(TimeD4);
Serial.print(" TimeD1");
Serial.print(TimeD5);
}