โปรเจกต์ของฉันคือการออกแบบอุปกรณ์ที่ใช้วัดความเร็วของวัตถุใดก็ได้ อุปกรณ์นี้จะวัดค่าความเร็วในหน่วย เมตร/วินาที และโดยทั่วไปจะเรียกว่า Kronograf ในทางทฤษฎี อุปกรณ์นี้สามารถวัดได้โดยมีอัตราความคลาดเคลื่อน 5% แต่ในทางปฏิบัติมีอัตราความคลาดเคลื่อนประมาณ 15% เนื่องจากความเร็วในการส่งผ่านของชิ้นส่วนอิเล็กทรอนิกส์ การใช้ความร้อนจากสิ่งแวดล้อม และปัจจัยอื่นๆ ทำให้เกิดการเพิ่มขึ้นของอัตราความคลาดเคลื่อนนี้ ตัวอย่างเช่น CNZ1102 (Photo lnterrupters) ที่ฉันใช้ในโปรเจกต์ มีค่าหน่วงเวลาทั่วไปที่ 6 µs และสูงสุด 200 µs และความเร็วในการส่งผ่านของ LM358 อยู่ที่ประมาณ 15 µs ดังนั้นจึงอาจเกิดความคลาดเคลื่อนได้ในการใช้งานจริง สามารถใช้กลไกทริกเกอร์ใดก็ได้ที่สามารถทริกเกอร์ pin 2 และ pin 3 บน Arduino ได้ตามลำดับ แทน Transmissive Photosensors ที่ฉันกำลังใช้ มีการใช้ Interrupts ในโปรแกรม Arduino โดยมีวัตถุประสงค์เพื่อให้ได้ผลลัพธ์ที่ชัดเจนที่สุดและเสียเวลาน้อยที่สุด อุปกรณ์นี้สามารถวัดได้ด้วยความแม่นยำ 1 µs
นี่คือโค้ดและข้อมูลที่ฉันพบใน forum.arduino.cc


รายละเอียดทางเทคนิคเพิ่มเติม
การจับเวลาโปรเจกไทล์ความเร็วสูง
Kronograf คือบัลลิสติก Kronograf ที่มีความแม่นยำสูง ออกแบบมาเพื่อวัดความเร็วปากกระบอกปืนของปืนลมหรือเพนต์บอล
- ออปติคัลเกทอาร์เรย์ (Optical Gate Array): ใช้ Infrared (IR) emitter/detector pairs สองคู่ที่จัดวางห่างกัน 10 ซม. อย่างแม่นยำ เมื่อโปรเจกไทล์ผ่านเกทแรก จะทริกเกอร์ start interrupt เกทที่สองจะทริกเกอร์ stop interrupt
- ความแม่นยำระดับ Microsecond: Arduino ใช้ 16-bit Timer1 ภายในเพื่อวัดความแตกต่างของเวลาในหน่วย microseconds จากนั้นความเร็ว $(V)$ จะถูกคำนวณจากสูตร $(V = distance / time)$
การแสดงผลสำหรับผู้ใช้
- บัลลิสติกแบบเรียลไทม์ (Real-Time Ballistics): แสดงความเร็วในหน่วย Feet-per-second (FPS) และ Meters-per-second (MPS) บน OLED display เพื่อให้ข้อมูลตอบกลับทันทีสำหรับการปรับแต่งประสิทธิภาพของปืนลม