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

สอบการรัค่าจากสวิตซ์

(Guest)
วรรธนะ (Guest)
IP: 122.155.43.x
7 เดือนที่ผ่านมา

ผมอยากเขียนโปรแกรม ให้กดสวิตซ์ค้างไว้ 3 วินาที แล้ว LED ติด  กดแล้วปล่อยอีกที LED ดับ ต้องเขียนแบบไหนครับ 

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

ทำได้ครับ ลองคิดตามนี้

เขียนโปรแกรมกำหนดสถานะของปุ่มกด = กด/ไม่กด

แล้ว เช็คทุกวินาทีว่ายังกดไว้อยู่ ถ้าครบ 3 ครั้งแสดงว่ากดค้างไว้ 3 วินาทีแล้ว หรือถ้าสถานะเปลียนก็ให้รีเซตตัวนับเวลา แสดงว่าปล่อยก่อน 3 วินาที

ตัวอย่างคร่าว ๆ คอมไพล์ไม่ผ่าน ให้เห็นภาพชัดเจนตามนี้

int button = 5;

int counter = 0;

void loop(){

   if(digitalRead(button)==1){

      counter++;

      delay(1000);

     if(counter==3){

         // กดค้างไว้ครบ 3 วินาที

     }

   }else{

      counter = 0;

      // ปล่อยก่อนครบ 3 วินาที

   }

}

 

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

https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay

1
แสดงความคิดเห็นที่ 1-1 จากทั้งหมด 1 ความคิดเห็น
ชื่อ
อีเมล
ข้อความ
  • ตอบกระทู้

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

สมาชิก Arduino All

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

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

Arduino All ขายดี

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