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

ช่วยเเนะนำการเขียนโค้ด การใช้งาน Arduino mega 2560 ร่วมกับ Proximity sensor

(Guest)
เม็ก มงคล (Guest)
IP: 103.10.197.x
6 เดือนที่ผ่านมา

ลักษณะการทำงานนะครับ จะมี Prox. sensor อยู่ 2 ตัว เซนเซอร์เเต่ละตัวจะมีหลอด LED ประจำตำแหน่งอยู่ 2 สี คือเเดงเเละเขียว ในสภาวะปกติ led สีเขียวจะติด เเต่เมื่อเซนเซอร์ตัวใดมีการตรวจจับได้จะเปลี่ยนเป็นสีเเดง

- เมื่อเซนเซอร์ตัวที่1 ตรวจจับได้ LED ประจำตำแหน่งเซนเซอร์ตัวที่1 สีเเดงจะติด (ตัวที่ไม่มีการตรวจจับสีเขียวจะติด)  จนกว่าเซนเซอร์ตัวที่ 2จะตรวจจับได้ led ประจำตำแหน่งเซนเซอร์1 ถึงจะเปลี่ยนเป็นสีเขียว

- เงื่อนไขมีอยู่ว่า ถ้าเซนเซอร์ตัวที่ 1 มีการตรวจจับวัตถุได้กี่ครั้งต่อเนื่องกัน เซนเซอร์ตัวที่ 2 ต้องตรวจจับได้เท่ากับตัวที่1 led ประจำเซนเซอร์ตัวที่1 ถึงจะเปลี่ยนเป็นสีเขียว

ตัวย่าง

- sensor1  มีการตรวจจับวัตถุได้ 3 ครั้งต่อเนื่องกัน (led ประจำ sensor1 เปลี่ยนจากเขียวเป็นเเดง ledประจำ sensor2 เป๊นสีเเดง)

- sensor2 มีการตรวจจับวัตถุได้ครั้งที่ 1 (led ประจำ sensor2 เปลี่ยนจากเขียวเป็นแดง เเละ led ประจำ sensor1 ยังคงเป็นสีเเดง

- sensor2 มีการตรวจจับวัตถุได้ครั้งที่ 2 (led ประจำ sensor2 ยังคงเป็นสีแดง เเละ led ประจำ sensor1 ยังคงเป็นสีเเดง

- sensor2 มีการตรวจจับวัตถุได้ครั้งที่ 3 เท่ากับsensor1 (led ประจำ sensor2 ยังคงเป็นสีแดง เเต่ led ประจำ sensor1 เปลี่ยนเป็นสีเขียว

ลักษณะจะเป็นการทำงานเเบบนี้วนซ้ำๆ เนื่องจากผมจะนำไปใช้ในเเบบจำลองตรวจจับตำเเหน่งรถไฟด้วยการเเสดงผมด้วยหลอด led 

ผู้รู้ท่านใดทราบการเขียนโค้ดช่วยเเนะนำผมหน่อยนะครับ

ขอบคุณครับ

 

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

ใช้คำสั่ง digitalRead() จากเซนเซอร์เข้ามา จะได้ค่าจากเซนเซอร์เป็น 0 หรือ 1 เอาค่านี้ไปเช็ค if เพื่อสั่งควบคุมโปรแกรมครับ

QUOTE 
ความคิดเห็นที่ #2
(Guest)
เม็ก มงคล (Guest)
IP: 103.10.197.x
6 เดือนที่ผ่านมา

ต้องทำยังไงครับ sensor2 ถึงจะรู้ว่า sensor1 มีการตรวจจับได้ต่อเนื่องกันทั้งหมดกี่ครั้ง

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

เพิ่มตัวนับการตรวจจับครับ เช่นตัวอย่างนี้

int sensor1 = digitalRead(pin_1);

int sensor2 = digitalRead(pin_2);

int count_sensor1 = 0;

int count_sensor2 = 0;

if(sensor1==1){

     count_sensor1++;

}

if(sensor2==1){

     count_sensor2++;

}

 

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

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

สมาชิก 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