แนวคิดของโปรเจกต์นี้เริ่มต้นจากความต้องการพื้นฐานในงานติดตั้งระบบเครือข่าย นั่นคือการตรวจสอบสาย Ethernet (RJ45) ที่มีการเข้าหัวแบบไม่เป็นมาตรฐาน (Non-standard) หรือสายที่สร้างขึ้นเฉพาะกิจ (Custom Cable) ซึ่งเครื่องทดสอบสาย LAN ทั่วไปในท้องตลาดอาจไม่สามารถบอกรายละเอียดของโครงสร้างการเชื่อมต่อภายในได้อย่างละเอียดถี่ถ้วนพอ
เครื่องทดสอบชุดนี้ถูกออกแบบมาเพื่อแก้ปัญหานั้น โดยใช้ขุมพลังจาก Arduino Uno ร่วมกับชิปขยายสัญญาณ เพื่อตรวจสอบความต่อเนื่องของสัญญาณ (Continuity) และการจับคู่สาย (Pin Mapping) อย่างแม่นยำ
การยกระดับประสิทธิภาพด้วย Shift Register SN74HC595
หัวใจสำคัญในภาคส่งสัญญาณของโปรเจกต์นี้คือไอซี SN74HC595 ซึ่งเป็น Serial-in Parallel-out Shift Register สาเหตุที่เราเลือกใช้คอมโพเนนต์นี้ในงานวิศวกรรมระบบฝังตัวมี 2 ประการหลัก:
- การประหยัดทรัพยากร (I/O Expansion): Arduino Uno มีพินดิจิทัลจำกัด การใช้ SN74HC595 ช่วยให้เราใช้พินจาก Arduino เพียง 3 พิน (Data, Latch, Clock) แต่สามารถควบคุมเอาต์พุตได้ถึง 8 พิน เพื่อส่งสัญญาณไปยังสาย LAN ทั้ง 8 เส้น
- ความแม่นยำในการควบคุม: เราสามารถส่งข้อมูลแบบบิต (Bitwise) เพื่อกำหนดให้แรงดัน 5V จ่ายไปยังพินที่ต้องการทีละพินตามลำดับ (Sequence) ได้อย่างอิสระ

หลักการทำงานและลอจิกของโปรแกรม (Engineering Logic)
ระบบจะทำงานในลักษณะ Master-Slave Scanning โดยแบ่งขั้นตอนการทำงานออกเป็นวงจรดังนี้:
1. ภาคส่งสัญญาณ (Transmitter Side):
โปรแกรมจะสั่งการให้ SN74HC595 ส่งแรงดัน High (5V) ออกไปที่พิน RJ45 ทีละพิน เริ่มตั้งแต่พินที่ 1 ไปจนถึงพินที่ 8 โดยใช้ฟังก์ชัน shiftOut() ในการขยับบิตข้อมูล ตัวอย่างเช่น:
- รอบที่ 1: ส่งสัญญาณที่พิน 1 (00000001)
- รอบที่ 2: ส่งสัญญาณที่พิน 2 (00000010)
- ... ดำเนินการไปจนครบทั้ง 8 เส้น
2. ภาครับสัญญาณ (Receiver Side): ในขณะที่ภาคส่งกำลังจ่ายไฟพินใดพินหนึ่ง ภาคการอ่านค่า (ซึ่งเชื่อมต่อกับพิน Input ของ Arduino) จะทำการสแกนหาว่า "แรงดัน 5V ปรากฏที่พินใดในฝั่งรับ"
3. การวิเคราะห์ผลลัพธ์ (Result Analysis):
- สายปกติ (Straight-through): หากส่งสัญญาณที่พิน 1 แล้วตรวจพบแรงดันที่พิน 1 ฝั่งรับ (และเป็นเช่นนี้จนครบทั้ง 8 พิน) ระบบจะวินิจฉัยว่าเป็นสายมาตรฐานที่ใช้งานได้สมบูรณ์
- สายไขว้หรือสายผิดปกติ (Crossed/Defective): หากส่งสัญญาณที่พิน 1 แต่แรงดันไปปรากฏที่พิน 6 ในฝั่งรับ ระบบจะประมวลผลและแสดงค่าบนหน้าจอทันทีว่ามีการสลับพินเกิดขึ้น หรือหากพินใดไม่มีแรงดันปรากฏเลย ก็จะระบุได้ทันทีว่าสายเส้นนั้นขาดใน (Broken)
Versione italiana: Idea nata per esigenza di controllare un cavo Ethernet non standard. Come fare a verificare i collegamenti interni ? In pratica utilizzo un piccolo integrato SN74HC595 per avere a disposizione maggiori uscite da Arduino Uno. Invio in sequenza 5V sui 8 Pin RJ45 e verifico su quale Pin la tensione viene letta.
Esempio: Uscita Pin1 = Pin 1 ( per tutti i 8 pin ) Risultato cavo normale funzionante. Uscita Pin1 = Pin 6 ...... Risultato cavo difettoso o diverso, mostro sul quadrante il risultato.
บทสรุป
โปรเจกต์นี้ไม่เพียงแต่เป็นเครื่องมือทดสอบสายไฟทั่วไป แต่เป็นตัวอย่างที่ดีของการใช้ Shift Register ในการจัดการระบบทดสอบที่ซับซ้อน ช่วยให้วิศวกรหรือช่างเทคนิคสามารถวิเคราะห์ปัญหาทางกายภาพของสายสัญญาณได้อย่างรวดเร็วผ่านหน้าจอแสดงผล ลดระยะเวลาในการไล่วงจรสายไฟ (Troubleshooting) ในหน้างานจริงได้อย่างมีประสิทธิภาพ