lnwshop logo
  • ตอบกระทู้
  • ตั้งกระทู้ใหม่
QUOTE 

ตั้งเวลา

Ketsayai CHoohirun
Ketsayai CHoohirun
IP: 124.122.211.x
2 ปีที่ผ่านมา

 พอดีผมจะทำเครื่องแตะบัตรนับจำนวนแต่จะให้บัตรเดียวกันแตะอีกรอบขั้นต่ำ 30 นาที (บัตรประมาน 200 ใบ)  ถ้าไม่ใช้โมดูลนาฬิกาทำได้ไหมครับ แล้วถ้าใช้โมดูล ตั้งเวลาสูงสุดได้กี่ครั้งครับ

QUOTE 
ความคิดเห็นที่ #1
เจ้าของร้าน
เจ้าของร้าน
2 ปีที่ผ่านมา

ทำได้ครับ เขียนโปรแกรม Arduino ควบคุมปกติไม่ต้องมี RTC ใช้ if เช็คและ delay เอา แต่เวลาอาจจะไม่แม่น เพราะ arduino ต้องทำงานหลายคำสั่งมีผลต่อเวลา delay

แต่ถ้าจะให้ง่ายผมแนะนำให้ต่อเพิ่มจะสะดวกในการเขียนโคดและแม่นยำกว่าครับ

QUOTE 
ความคิดเห็นที่ #2
ภูริทัต
ภูริทัต (Guest)
IP: 203.150.112.x
2 ปีที่ผ่านมา

หรืออาจจะลองใช้ฟังชันนี้ดูครับ millis() ฟังชันนี้จะเป็นค่าของเวลาที่เครื่องเริ่มทำงาน ปิดเปิดเครื่องใหม่ก็จะเริ่ม 0 ใหม่  ประมาณ เปิดเครื่องปุ๊บ millis ได้0 ผ่านไป 1 นาที ขอ millis() อีกก็จะได้ 1000 -*- งงไม๊ผมอธิบายไม่เก่ง

เมื่อทาบบัตรก็ให้บันทึกหมายเลขบัตร คู่กับเวลา millis() ณ ตอนนั้น
เมื่อทาบบัตรใบเดิมอีก ก็ให้เอาค่าเวลา millis() ณ ตอนที่ทาบ ไปลบกับ เวลาในอดีตที่บันทึกไว้
ก็จะรู้แล้ว่าบัตรหมายเลขนั้นๆ ทาบห่างกันกี่วินาทีแล้ว ส่วนจะจำกัดกี่วินาที ก็ if else ตามสะดวกครับ

แต่ millis() นี้มีข้อจำกัดนิดหน่อย ค่าจะเพิ่มขึ้นเรื่อยๆ จนถึงค่าค่านึง(จำไม่ได้แล้ว) ก็จะวนมา 0 ใหม่  แต่ก็หลายวันอยู่นะครับ ลองดูครับ

QUOTE 
ความคิดเห็นที่ #3
เจ้าของร้าน
เจ้าของร้าน
2 ปีที่ผ่านมา

ตามนี้เลยครับ

ขอบคุณที่ช่วยแชร์ความรู้ครับ : )

1
แสดงความคิดเห็นที่ 1-3 จากทั้งหมด 3 ความคิดเห็น
ข้อความ
ชื่อผู้โพส
ข้อมูลสำหรับการติดต่อกลับ (ไม่เปิดเผย เห็นเฉพาะเจ้าของร้าน)
อีเมล
เบอร์มือถือ
  • ตอบกระทู้

หมวดหมู่สินค้า

สมาชิก Arduino All

เข้าสู่ระบบด้วย
เข้าสู่ระบบ
สมัครสมาชิก

ยังไม่มีบัญชีเทพ สร้างบัญชีใหม่ ไม่เกิน 5 นาที
สมัครสมาชิก (ฟรี)

Arduino All ขายดี

รหัสสินค้า A015
270.00 บาท
  • สั่งซื้อ
รหัสสินค้า A233
5.00 บาท
  • สั่งซื้อ
รหัสสินค้า A115
10.00 บาท
  • สั่งซื้อ
รหัสสินค้า A097
4.00 บาท
  • สั่งซื้อ
รหัสสินค้า A238
4.00 บาท
  • สั่งซื้อ
รหัสสินค้า A474
7.00 บาท
  • สั่งซื้อ
รหัสสินค้า A014
95.00 บาท
  • สั่งซื้อ
รหัสสินค้า A237
4.00 บาท
  • สั่งซื้อ
Go to Top