Arduino ขอคำแนะนำการเขียนcodeหน่อยครับ

คือผมอยากเขียนการนับวัน โดยให้ขึ้นบนหน้าจอ lcd โดยใข้ switch ในการกดหนึ่งครั้ง ไฟติด
แล้วนับวันไปเรื่อยๆบนจอ lcd จนถึง 30 วันแล้วไฟดับครับ
แต่ตอนนี้ผมคิดแล้วเขียนออกมา มันกลายเป็นต้องกดหนึ่งครั้งนับ 1 อะครับ
ผมอยากให้มันกดทีเดียวแล้วนับไปเรื่อย
code ที่ผมเขียนประมาณนี้ ครับ

#include <LiquidCrystal.h>  
LiquidCrystal lcd(8,9,4,5,6,7);
int sw = 34;
int val=0;
int day=0;
int led = 36;

void setup() {

pinMode(sw,INPUT);
pinMode(led,OUTPUT);
lcd.begin(16,2);
lcd.setCursor(6,0);
lcd.print("Days");
}

void loop() {

  val = digitalRead(sw);
  digitalWrite(led,LOW);
  
  if(val == LOW){
   digitalWrite(led,HIGH);
   day++;
   lcd.setCursor(0,0);
   lcd.print(day);
   delay(1000);
  }
   คือถ้าผมไม่ใส่ delay มันจะเป็นเลขนับไปเรื่อยๆและเร็วมากครับ  ขอคำแนะนำด้วยครับ
แก้ไขข้อความเมื่อ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่