ขอโค้ด Arduino จะทำปุ่ม STOP หน่อย พอดีออกจากคำสั่ง For ไม่ได้

ด้านล่างเป็นโค้ดที่เขียน แต่ยังไม่ได้ใส่ปุ่ม Stop
ผมสงสัยอยู่ขอ 1 ครับ
คือว่าที่ผมเขียนไว้ ถ้า 13==HIGH มันจะทำในวงลูป For
        แต่ถ้า 13==LOW เวลาต้องเป็น 0 ก่อน ถึงจะออกจากลูป For ได้
        เหมือนว่า ต้องทำใน For จน เป็น 0 ก่อน ถึงจะออกจากลูป For ได้
        ถ้าผมคิดถูก จะทำยังไงให้ ลูป For หยุดทำตอนเมื่อผม กดปุ่ม Stop ได้ครับ
        ขอคำชี้แนะด้วยครับ


#include <Wire.h>
#include <LiquidCrystal_I2C.h> //ประกาศ Library ของจอ I2C
boolean nn;

int minute=0;
int s=0;
LiquidCrystal_I2C lcd(0x3f,20,4);
void setup() {
  // put your setup codยิ้ม, to run once:
pinMode (13,OUTPUT);
pinMode (2,INPUT);
pinMode (3,INPUT);
pinMode (4,INPUT);
pinMode (5,INPUT);
pinMode (6,INPUT);
pinMode (7,INPUT);
pinMode (8,INPUT);
pinMode (9,INPUT);
lcd.begin();
lcd.setCursor(2,2);
lcd.print("Timer");
lcd.setCursor(8,2);
lcd.print("00:00");
lcd.setCursor(14,2);
lcd.print("min");
lcd.setCursor(1,1);
lcd.print("Please Select Time");
}

void loop()
{
  // put your main codยิ้ม, to run repeatedly:
digitalWrite(2,HIGH);
digitalWrite(3,HIGH);
digitalWrite(4,HIGH);
digitalWrite(5,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,HIGH);
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);

  if(LOW==digitalRead(2))
  {
     minute=2;
     lcd.setCursor(8,2);
     lcd.print("0"+String(minute));

  }
    if(LOW==digitalRead(3))
  {
     minute=10;
     lcd.setCursor(8,2);
     lcd.print(String(minute));
  }
      if(LOW==digitalRead(4))
  {
     minute=15;
     lcd.setCursor(8,2);
     lcd.print(String(minute));
  }
     if(LOW==digitalRead(5))
  {
     minute=20;
     lcd.setCursor(8,2);
     lcd.print(String(minute));
  }
     if(LOW==digitalRead(6))
  {
     minute=25;
     lcd.setCursor(8,2);
     lcd.print(String(minute));
  }
     if(LOW==digitalRead(7))
  {
     minute=30;
     lcd.setCursor(8,2);
     lcd.print(String(minute));
  }
// --------------------------------------------------
    nn=digitalRead(8);
    if ((LOW==nn))
    {digitalWrite(13,HIGH);}
    if(digitalRead(13)==HIGH)
    {
      lcd.setCursor(1,1);
      lcd.print("       Start        ");
      lcd.setCursor(10,2);
      lcd.print(":");
      for(minute;minute>=0;minute--)
       {
         lcd.setCursor(8,2);
         lcd.print(minute);
         if(minute<10)
         {
           lcd.setCursor(8,2);
           lcd.print("0"+ String(minute));
          }
                  for (s=59;s>=0;s--)
                  {
                    lcd.setCursor(11,2);
                    lcd.print(s);
                  if(s<10)
                  {
                    lcd.setCursor(11,2);
                    lcd.print("0"+ String(s) +" min");
                  }
                    delay(200);
                  if (minute==0&&s==0)
                  {
                    lcd.setCursor(1,1);
                    lcd.print("Please Select Time");
                    digitalWrite(13,LOW);
                    delay(200);
                  }
                  }
        }
    }
}
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่