SAMCO นี่คือปืนไลท์กัน (Light Gun) ของ Namco ที่แกะไส้ในออกแล้วเอา Arduino micro controller กับกล้องตรวจจับอินฟราเรด (IR positioning camera) ของ DF Robot ใส่เข้าไปแทน ทำงานเป็นเมาส์ HID บนจอทีวีหรือมอนิเตอร์ LCD (จอแบน) ได้เลยจ้า
ลงลึกกันแบบช่างๆ
"SAMCO Precision IR Resolver" นี่คือการโมดิฟายฮาร์ดแวร์ระดับเทพ ที่อัพเกรดอุปกรณ์เกมตู้โบราณให้มาใช้ในยุคดิจิทัลได้อย่างเนียนๆ วิธีก็คือ เอาตัวปืนแสง PS1 Namco Light Gun ตัวจริงมาคว้านไส้ในออก แล้วใส่ Arduino Micro (ATMega32U4) พร้อมกับ กล้องตรวจจับตำแหน่งอินฟราเรด (DF Robot IR Positioning Camera) เข้าไปแทนที่ ผลลัพธ์คือได้ เมาส์ USB-HID ตัวหนึ่งที่ใช้งานกับจอ LCD และ LED แบบแบนสมัยใหม่ได้เลย ซึ่งปืนแสง CRT แบบเก่าทำไม่ได้แน่นอน โปรเจกต์นี้ถือเป็นคลาสเรียนขั้นสูงในเรื่อง การติดตามด้วยคอมพิวเตอร์วิทัศน์ (Computer Vision Tracking), การเลียนแบบ HID descriptor และ การแมปพิกัดด้วยตรีโกณมิติ (Trigonometric Coordinate Mapping)
- การตรวจจับตำแหน่งด้วยอินฟราเรด & คอมพิวเตอร์วิทัศน์:
- ตรรกะการติดตาม: ต่างจากปืนแสงรุ่นเก่าที่ต้องพึ่งพาลำอิเล็กตรอนสแกนของจอ CRT, SAMCO ใช้กล้องตรวจจับอินฟราเรดที่ติดตั้งในลำกล้องปืน กล้องนี้จะติดตามจุดสัญญาณอินฟราเรดที่ชัดเจนได้สูงสุด 4 จุด ซึ่งถูกปล่อยออกมาจากแถบ LED ที่วางอยู่บนจอ
- การแปลงเชิงเรขาคณิต: เฟิร์มแวร์บน Arduino จะคำนวณจุดศูนย์ถ่วงระหว่างจุด IR ที่ตรวจจับได้ จากนั้นใช้วิธี Bilinear Interpolation หรือการปรับสเกลด้วยตรีโกณมิติแบบง่ายๆ เพื่อแปลงพิกัดดิบจากเซ็นเซอร์กล้อง (1024x768) ให้เป็นพิกัดเมาส์มาตรฐานบนหน้าจอ ($X, Y$)
- การเลียนแบบ USB-HID (ATMega32U4):
- Native USB Stack: เลือกใช้ Arduino Micro เพราะมีโปรเซสเซอร์ 32U4 ที่มาพร้อมกับการสื่อสาร USB ในตัว ทำให้ปืนสามารถระบุตัวตนต่อ Windows, Linux หรือ RetroPie ได้ว่าเป็นเมาส์มาตรฐานตัวหนึ่ง
- Zero-Lag Polling: เนื่องจากปืนทำตัวเป็นอุปกรณ์ HID โดยตรง จึงไม่มีปัญหาเลทจาก "v-sync" หรือโอเวอร์เฮดจากการแปลคำสั่งด้วยซอฟต์แวร์ ปืนจะรายงานตำแหน่งของมันด้วยอัตราการโพลสูงสุดของ USB ทำให้ได้ความรู้สึกการติดตามที่ฉับไว "แบบหนึ่งต่อหนึ่ง" ซึ่งจำเป็นสำหรับเกมตู้แนวแข่งแบบ Time Crisis หรือ Point Blank
- การชดเชยมุมเอียง & พารัลแลกซ์:
- อัลกอริทึมขั้นสูง: การย้ายชุดอิเล็กทรอนิกส์มาใส่ในตัวปืนอาจทำให้เกิดความคลาดเคลื่อนจากพารัลแลกซ์ได้ถ้าผู้ใช้ยืนยิงในมุมเอียง โค้ด "SAMCO Core" จึงมี โมดูลชดเชยมุมเอียง (Tilt Correction Module) ที่ใช้ระยะห่างสัมพัทธ์ระหว่างจุด IR มาช่วยชดเชยการวางตัวของปืน ทำให้เคอร์เซอร์ยังคง "เล็งตรงเป้า" แม้จะยิงแบบสะเอว
- การออกแบบ PCB & การเดินสัญญาณ:
- SAMCO PCB แบบคัสตอม: เพื่อความน่าเชื่อถือสูงและการประกอบที่สะอาดตา โปรเจกต์นี้ใช้ PCB ที่ออกแบบเองโดยเฉพาะ ซึ่งทำหน้าที่จัดการการจ่ายไฟให้กล้อง IR และรับสัญญาณอินพุตจากไกปืน/ปุ่มต่างๆ ของตัวเปลือกปืน Namco เดิม สิ่งนี้ช่วยกำจัดปัญหาสายไฟพันกันยุ่งเหยิงเหมือนรังหนูที่มักพบในงานโมดิฟายปืนแสง DIY
วิศวกรรมและการใช้งาน
- วิศวกรรมด้านการปล่อย IR: โปรเจกต์ใช้ หลอดปล่อย IR มุมแคบ 15° โดยเฉพาะ ลำแสงแคบแบบนี้ทำให้ความเข้มแสงยังสูงแม้อยู่ในระยะไกล ทำให้สามารถใช้ปืนจากอีกฝั่งห้องนั่งเล่นได้ ตัวต้านทาน (Resistor) 100 โอห์มช่วยให้ LED ทำงานได้เต็มประสิทธิภาพโดยไม่เกินขีดจำกัดทางความร้อน
- การตั้งค่าซอฟต์แวร์ (RetroArch/MAME): คู่มือมีไกด์การอินทิเกรตแบบลึกสำหรับ RetroPie และ PCSX2 อธิบายวิธีแมปอินพุต "Light Gun" ในการตั้งค่าแกนกลางของเอมูเลเตอร์ ซึ่งจะแปลงการคลิกเมาส์จาก Arduino ให้เป็นพัลส์สัญญาณเฉพาะของเครื่องเกมคอนโซล
- การปรับช่วงไดนามิกให้เหมาะสม: มี "4-LED Sketch" พิเศษสำหรับจอขนาดใหญ่หรือห้องขนาดเล็ก โดยการเพิ่มจำนวนจุดอ้างอิง Arduino จะสามารถคำนวณหาตำแหน่งของตัวเองได้แม่นยำขึ้นเมื่อผู้ใช้ยืนใกล้จอมากๆ ช่วยป้องกันปัญหา "จุดบอด" ที่พบบ่อยในระบบที่ใช้ LED แค่ 2 ดวง
- คุณภาพการประกอบระดับมืออาชีพ: ตั้งแต่การเจาะตำแหน่งติดตั้งกล้องในลำกล้องอย่างแม่นยำ ไปจนถึงการใช้ ฟลักซ์บัดกรี (Solder Flux) สำหรับการบัดกรีที่แข็งแรงมั่นคง โปรเจกต์ SAMCO เน้นความสวยงามที่ไม่ทำลายของเดิม ยังคงความรู้สึกสัมผัสของฮาร์ดแวร์ยุค 90 ไว้ได้ ขณะที่ให้ประสิทธิภาพระดับศตวรรษที่ 21
พัฒนาต่อได้อีก: เพิ่มสเก็ตช์สำหรับ 4 LED เพื่อลดระยะการทำงานที่จำเป็น
คู่มือประกอบ GunCon2 (จัดไปวัยรุ่น)
มี PCB แบบใหม่ให้เลือกใช้แล้วนะจ๊ะน้อง!
ฟื้นตำนานตู้เกม: เชื่อมความทรงจำยุค 90s เข้ากับเทคโนโลยี Optical Positioning สุดล้ำ สู้งานนะน้อง!