โลจิสติกส์ที่สมบูรณ์แบบ: ทางหลีกรถไฟอัตโนมัติ
นอกเหนือจากการจัดระยะบล็อกมาตรฐานแล้ว Automated Passing Siding นี้ยังช่วยแก้ปัญหาเรขาคณิตเฉพาะในการทำรถไฟจำลอง: วงจรทางเดียวที่มีรถไฟสองขบวนวิ่งสวนทางกัน ระบบจะต้องตรวจจับการชนประสานงาที่กำลังจะเกิดขึ้นโดยอัตโนมัติ สลับรถไฟขบวนหนึ่งไปยังรางข้างทาง กักรถไฟไว้ และปล่อยเมื่อรถไฟด่วนวิ่งผ่านไปแล้ว

ลอจิกบูลีนหลายขั้นตอน
Arduino ทำหน้าที่เป็นหอควบคุมกลาง คอยดูแลรักษาตัวแปรบูลีนที่ซับซ้อนอย่างไม่น่าเชื่อสำหรับการรับรู้สถานะ
- เซ็นเซอร์ตรวจจับการเข้าใกล้: Reed Switch หรือ Hall Effect sensor ถูกวางไว้ 3 ฟุตก่อนถึงสวิตช์
bool Train1_Approaching = true;(แม่เหล็กที่ใต้ท้องรถไฟจะกระตุ้นเซ็นเซอร์)- ลอจิกจะตรวจสอบสถานะของรางหลัก:
if (Main_Track_Occupied == true) { Route_To_Siding(); } - การสลับราง: Micro Servo จะโยกสวิตช์รางกลไกไปทางซ้าย Arduino จะตัดไฟ DDC 12V เฉพาะราง Siding โดยใช้รีเลย์ ซึ่งเป็นการกักรถไฟขบวนที่ 1 ไว้!
การเปิดทางหลัก
รถไฟขบวนที่ 2 (บนรางหลัก) จะเร่งความเร็วผ่านทางหลีก
- เซ็นเซอร์ทางออกจะตรวจจับว่ารถไฟขบวนที่ 2 ได้พ้นจุดคอขวดแล้ว
Main_Track_Occupied = false; - Arduino จะสั่งให้รีเลย์ 12V จ่ายไฟกลับคืนสู่ราง Siding
- รถไฟขบวนที่ 1 จะกลับมาทำงานอีกครั้ง!
- Arduino จะรอ 5 วินาที จากนั้นสั่งให้ Micro Servo กลับสวิตช์รางจริงไปยังตำแหน่ง "ทางตรง/รางหลัก"
สถาปัตยกรรมที่จำเป็น
- Arduino Mega: สำคัญสำหรับการติดตามตัวแปรบูลีนจำนวนมาก และจัดการกับ I/O interrupts หลายสิบรายการพร้อมกัน
- Hall Effect หรือ Reed Switch Sensors (6 ตัวขึ้นไป)
- Micro Servos (SG90) ติดตั้งอยู่ใต้รางรถไฟจำลอง
- Multi-Channel 5V Relay Boards (สำหรับตัดไฟ 12V ไปยังบล็อกรางเฉพาะได้อย่างเลือกสรร)
- แหล่งจ่ายไฟ 12V, 2-ถึง-3 Amp ที่เชื่อถือได้ สำหรับหัวรถจักร