ชื่อโปรเจกต์: ระบบมอนิเตอร์และถ่ายน้ำมันถังสำรอง (Reserve Fuel Tank Monitor and Transfer)
พอดีพี่กำลังปั้นรถบ้านคันเก่าอยู่แล้วอยากติดถังน้ำมันเพิ่มอีกใบ เพื่อความชิลพี่เลยออกแบบให้ถังนึงเอาไว้จ่ายน้ำมันให้เครื่องยนต์ปกติ ส่วนอีกถังเอาไว้เป็นถังสำรองคอยถ่ายน้ำมันเข้าถังหลักตอนจำเป็น
หน้าจอมีให้เลือก 2 โหมดนะวัยรุ่น โหมดหลักจะโชว์ระดับน้ำมันในถังสำรอง ส่วนโหมดที่สองเอาไว้ตั้งค่าพวกปริมาณที่จะถ่าย (Transfer Volume), อัตราการไหล (Flow Rates) แล้วก็ปริมาณที่ถ่ายไปแล้ว (Delivered Volume) ส่วนเรื่องความปลอดภัยพี่จัดให้หายห่วง: เราจะตั้งค่าปริมาณถ่ายน้ำมันเกินน้ำมันที่มีอยู่ในถังไม่ได้นะน้อง และพอปั๊มถ่ายน้ำมันจนครบตามจำนวนที่ตั้งไว้ [Relay](https://s.shopee.co.th/3fyXTmWPbL) ปั๊มก็จะตัดการทำงานทันที หล่อเท่เลยงานนี้
ฝีมือเขียน Code [Arduino](https://s.shopee.co.th/7fUgFAWSki) พี่ก็แค่ระดับงูๆ ปลาๆ พอใช้งานได้นะ ใครมีท่าเทพกว่านี้ก็เอาไปจัดต่อได้เลย ตอนแรกว่าจะใช้ Protocol แบบ SPI แต่สุดท้ายเลือก I2C เพราะกะจะวางหน้าจอไว้ไกลจากตัว Processor หน่อย สายไฟจะได้ไม่รุงรัง แต่โน้ตไว้นิดนึงว่าต้องมีการแก้ลายวงจรหลัง Board หน้าจอนิดหน่อยเพื่อให้ใช้ I2C ได้ พี่มาร์คจุดที่ต้องแก้ไว้ให้ใน Schematic แล้ว อย่าลืมไปเช็คดูล่ะ

หน้าจอโหมดถ่ายน้ำมัน (Transfer Mode Screen)

สายไฟอาจจะดูรกไปนิด แต่รับรองว่าใช้งานได้ชัวร์ :)
รายละเอียดทางเทคนิคแบบจัดเต็ม (EXPANDED TECHNICAL DETAILS)
ระบบจัดการของเหลวในยานยนต์ (Automotive Fluid Management System)
นี่มันโปรเจกต์ระดับ Mission-critical สำหรับคุมระบบน้ำมันสำรองในรถบรรทุกหรือพวกเครื่องปั่นไฟเลยนะน้อง ช่วยให้เรามอนิเตอร์ระดับน้ำมันได้เป๊ะๆ แถมถ่ายน้ำมันแบบอัตโนมัติได้ด้วย
- Resistive Fuel-Level Decoding: ตัว Arduino จะไปดึงค่าจาก Sensor วัดระดับน้ำมันรถยนต์มาตรฐาน (0-90 ohm) โดยใน Firmware พี่ใช้เทคนิค Analog Voltage Divider ร่วมกับตาราง Mapping แบบ Non-linear เพื่อคำนวณหาค่าที่เหลืออยู่ในถังออกมาเป็นลิตรได้แม่นๆ ไม่มั่ว
- Solenoid Pump PWM Control: ใช้คุมปั๊มถ่ายน้ำมันแบบ 12V DC ผ่าน Solid-state Relay แบบทนกระแสสูง ตัว Arduino จะเริ่ม Loop การถ่ายน้ำมัน (Transfer) อัตโนมัติเมื่อถังหลักเริ่มหิว (น้ำมันต่ำ) และถังสำรองยังมีของเหลืออยู่
ระบบความปลอดภัย (Safety)
- Dry-Run Protection (ป้องกันปั๊มไหม้): มีระบบคอยเช็คกระแสที่ปั๊มดึงไปใช้ ถ้าถังน้ำมันแห้ง Arduino จะตรวจพบการเปลี่ยนแปลงของค่าความต้านทาน (Resistance) ทันที แล้วจะสั่งตัดการทำงานปั๊มแบบด่วนจี๋ ป้องกันมอเตอร์ปั๊มไหม้คาที่ สู้งานนะน้องแต่อย่าทำของพังล่ะ!