ชื่อโปรเจกต์: ระบบจับเวลาความเร็วรถ (Race Photogate)
หลังจากที่พี่ทำ Photogate จิ๋วไว้จับเวลาพวกรถ Hot Wheels ไปก่อนหน้านี้ ก็มีคนมาตามตัวพี่ให้ไปช่วยงานแข่งรถพลังงานแสงอาทิตย์ (Solar Car Challenge) ของน้องๆ มัธยมต้นหน่อย โดยโจทย์คือต้องทำ Photogate แบบ 2 เลนไว้ใช้แข่งรอบคัดเลือกที่นักเรียนทุกคนต้องเข้าร่วม (รถพวกนี้นะน้อง คันมันใหญ่พอตัวเลย กว้างสัก 4 นิ้ว ยาว 10 นิ้ว แล้วก็สูงประมาณ 4-5 นิ้วได้)

โปรเจกต์นี้พี่เลือกใช้ Laser กับ Phototransistor เป็นตัวยิงสัญญาณเช็คตอน Start และ Stop นะ แล้วก็มีจอ [LCD](https://s.shopee.co.th/6AfsSPcAnb) 16x2 ไว้โชว์สถานะกับผลการแข่ง (เหตุผลที่ต้องใช้ Laser เพราะที่สนามแข่งมันสว่างเกินไปน้อง ทั้งแสงแดดแสงไฟ แถมระยะ Photogate ก็กว้างจัด ถ้าใช้พวก [Sensor](https://s.shopee.co.th/7VBG2rX65j) อินฟราเรด (IR) แบบกากๆ ทั่วไป บอกเลยว่าความแม่นยำไม่เหลือ!)

ตัว Phototransistor จะส่งค่าแรงดันไฟฟ้า (Voltage) ที่ต่างกันไปบอก [Arduino](https://s.shopee.co.th/7fUgFAWSki) ถ้า Laser ยิงโดนตัวมันอยู่ และพี่แถมไฟ LED สีขาวไว้ให้ด้วยดวงนึง ถ้าจัดตำแหน่งเป๊ะ Laser ตรง Sensor เมื่อไหร่ ไฟจะติดทันที หล่อเท่เลยงานนี้

ตอนเรากำลังตั้งระยะ (Alignment) จอ LCD จะโชว์สถานะของ Phototransistor แต่ละตัวให้ดูด้วย ถ้าตัวไหนเล็งตรงแล้วมันจะขึ้นว่า "OK" เตรียมพร้อมลุย!

ปัญหาระดับชาติเวลาขนย้ายหรือประกอบใหม่คือพวก Sensor แสงมันชอบพังหรือเบี้ยวจนปรับมือนิดๆ หน่อยๆ ไม่เข้าที่ พี่เลยแก้เกมด้วยการเอา Sensor ติดบนแผ่นเหล็ก แล้วเอาแม่เหล็ก Neodymium ติดไว้ที่ท่อ PVC ด้วยกาว Epoxy ซะเลย ทีนี้จะเลื่อนปรับยังไงก็ง่ายจัด! แถมมี Clip ล็อคแบบถอดง่ายด้วย จะซ่อมหรือจะเปลี่ยนก็ไม่ต้องรื้อทั้งโครง ไม่ต้องตัดสายหรือบัดกรีใหม่ให้วุ่นวาย อ้อ แล้ว Laser ที่พี่ใช้ก็ราคาถูกๆ นี่แหละ เพราะลำแสงมันจะไม่โฟกัสมาก แสงมันจะบานๆ หน่อย ทำให้เราเล็งโดน Sensor ได้ง่ายขึ้นเยอะ (ความกากที่กลายเป็นข้อดีเฉย!)

พี่แอบใส่ Module Bluetooth เพิ่มเข้าไปด้วย (Optional นะ) จะได้ดูผลการแข่งผ่าน App บน Android ได้แบบเท่ๆ คนจดเวลาก็ไม่ต้องไปยืนตากแดดใกล้ราง นั่งสวยๆ อยู่ไกลๆ ก็พอ แถม App นี้ยังใช้กด Reset เริ่มการแข่งรอบใหม่ได้ด้วย จะได้รู้กันไปเลยว่าบันทึกเวลาเรียบร้อยแล้วนะจ๊ะ

ใน App จะมีช่องสี่เหลี่ยม A B C D ถ้า Laser ตรงกันปุ๊บ จากสีแดงจะกลายเป็นสีเขียวทันที พร้อมไฟ LED ที่ตัว Photogate ก็จะสว่างขึ้นด้วย
พอจบการแข่ง ปุ่ม Reset Race จะกดได้ เพื่อให้คนคุมที่อยู่ไกลๆ บันทึกเวลาให้เสร็จก่อน แล้วค่อยสั่งเริ่มแข่งรอบต่อไปได้

แล้วถ้าเกิดเหตุการณ์ไม่คาดฝันหรือเครื่องค้าง พี่ก็ติดปุ่ม Physical Reset ไว้ข้างกล่องด้วย กดปั๊บ Arduino เริ่มใหม่ทันที ไม่ต้องกลัวงานล่ม
โครงสร้าง Photogate ทำจากท่อ PVC ต่อกันง่ายๆ หวังว่าน้องๆ คงดูออกนะว่าต่อยังไง... แต่จำไว้ ห้ามทากาวเด็ดขาดนะน้อง! เผื่อเอาไว้ถอดซ่อมได้ง่ายๆ พี่ใส่ Clip ล็อคสายไฟระหว่างฝั่งซ้าย-ขวาไว้ด้วย จะได้แยกส่วนเก็บหรือขนย้ายได้สบายบรื๋อ

ที่เด็ดคือ พี่ใส่เต้ารับ CAT 5 (ตัวเมีย) ไว้ที่ด้านหลังของ Photogate คู่หน้า และด้านหน้าของคู่หลังด้วย ทีนี้จะใช้สาย LAN (CAT 5) ยาวแค่ไหนมาเสียบเชื่อมต่อกันตอนทดสอบหรือตอนแข่งจริงก็ได้ตามสบาย แถมยังถอดสายเก็บได้หมดจด ไม่รุงรังเวลาเคลื่อนย้าย

รายละเอียดทางเทคนิคเพิ่มเติม (ฉบับรุ่นพี่ติวเข้ม)
กลไกการจับเวลาที่แม่นยำ (Precision Timing Mechanism)
ไอ้ตัว Race Photogate เนี่ย คือเครื่องมือไม้ตายสำหรับการจับเวลาวัตถุเคลื่อนที่ให้แม่นยำสุดๆ เหมาะมากสำหรับงานทดลองฟิสิกส์หรืองานแข่งรถแบบพวกเรา
- Optical Interruption Detection: ระบบนี้ใช้การขัดจังหวะของลำแสง โดยใช้ตัวส่งและตัวรับแสง พอมีรถวิ่งผ่านปั๊บ ลำแสงขาดปุ๊บ แรงดันไฟฟ้าที่ Pin Digital ของ Arduino จะเปลี่ยนสถานะทันที
- Hardware Interrupts: เพื่อให้จับเวลาได้แม่นระดับไมโครวินาที (microsecond) พี่แนะนำให้ต่อ Sensor เข้ากับ Pin Interrupt (
D2หรือD3) เท่านั้นนะน้อง! เพื่อให้มันเรียกใช้ฟังก์ชันmicros()บันทึกเวลาได้ในเสี้ยววินาทีที่ลำแสงขาด โดยไม่ต้องรอให้ Code วิ่งวน Loop จนเสียเวลา
การเชื่อมต่อ UI และมือถือ
- MIT App Inventor Dashboard: ผลเวลาจะถูกส่งผ่าน Module Bluetooth (HC-05) ไปที่ Smartphone โดยใช้ App Android ที่เขียนขึ้นมาเอง โชว์ได้หมดทั้งเวลาต่อรอบ (Lap Times), เวลาช่วงต่างๆ (Split Times) และสถิติ "Best of Session" สุดหล่อ
- Feedback System: พี่จัดเต็มทั้ง LED ความสว่างสูงและ Buzzer พอมันตรวจจับรถได้ปุ๊บ จะมีเสียง "ติ๊ด!" ดังขึ้นทันที เพื่อเช็คว่า Sensor ยังทำงานปกติและเล็งตรงกันอยู่หรือเปล่า ห้ามช็อตนะตัวนี้! สู้งานนะน้อง!