กลับไปหน้ารวมไฟล์
onboard-computer-for-bicycle-c719c1.md

เรื่องราวความเป็นมาสักนิด

พี่ชอบมอเตอร์ไซค์นะ แต่ตอนนั้นอายุยังไม่ถึงขั้นจะขี่พวก Supersport ได้ สิ่งที่ทำให้พี่หลงใหลในตัวรถคือไฟท้ายและดีไซน์ช่วงท้ายรถ วันนึงเลยตัดสินใจจัดโปรเจกต์ DIY ขำๆ ทำวงจรที่ทำงานเหมือนไฟท้ายมอเตอร์ไซค์ โดยเอาไอเดียมาจากไฟท้ายแต่งของ *2013+ Kawasaki Ninja ZX6R* ยี่ห้อ *TSTIndustries* แต่นะตอนนั้นความรู้ด้านวิศวกรรมไฟฟ้าพี่อย่างกาก โปรเจกต์มันเลยยากเกินตัวไปหน่อยจนต้องพับโครงการไปก่อน

ถัดมาไม่กี่เดือน อาจารย์ที่โรงเรียนพูดถึง Microcontroller ตัวนึง นั่นก็คือ [Arduino](https://s.shopee.co.th/7fUgFAWSki) วินาทีนั้นแหละที่โปรเจกต์นี้ฟื้นคืนชีพขึ้นมา! พี่นี่กูเกิลแหลก ทั้งวิธีใช้ (*how-to*) ทั้งตัวอย่าง (*examples*) จนได้เรียนรู้อะไรเพียบทั้งเรื่องไฟฟ้าและ Programming ระหว่างปั้นโปรเจกต์นี้

ช่วงแรกพี่ออกแบบ Schematics ไว้แบบเบสิกมาก มีแค่ปุ่มกด, Arduino, LED สีฟ้าเป็นตัวบอกสถานะไฟ, แล้วก็นำ Hall sensors มาเช็กก้านเบรก แค่นั้นจบ! แต่ก็นะ เลือดวัยรุ่น DIY มันพล่าน พี่ดันตกหลุมพรางยอดฮิต คือการ "เพิ่มของ" เข้าไปไม่หยุด!

พี่บอกตัวเองว่า "ทรัพยากรก็มีเหลือเฟือ ทำไมไม่จัด Onboard computer พร้อมหน้าจอ Display ไปเลยล่ะ?" เท่านั้นแหละ ลามกเลยครับ พี่จัดเต็มทั้ง [OLED](https://s.shopee.co.th/5fjbrJWyFb) display, RTC (โมดูลนาฬิกา), ไฟเลี้ยว, Tachometer (วัดรอบ) และ Speedometer (วัดความเร็ว) ฯลฯ จนโปรเจกต์เริ่มบานปลาย สุดท้ายพี่เลยต้องเปลี่ยนจาก Arduino Nano มาใช้บอร์ด STM32F103C8 แทน แถมทนดูงานบนแผ่นเอนกประสงค์ (Perfboard) เน่าๆ ไม่ไหว เลยไปหัดใช้ EAGLE ออกแบบ PCB ให้มันหล่อเท่ซะเลย

ดีไซน์หน้าจอเวอร์ชันแรก

ฟีเจอร์จัดเต็ม

  • ระยะทางรวม, รายวัน, รายเดือน, Trip A, B, C
  • ความเร็วสูงสุด (Top & Max speed)
  • ความเร็วเฉลี่ย (Average Speed)
  • เวลาที่ใช้ปั่นทั้งหมด และ Reset trip time ได้
  • Speedometer (มาตรวัดความเร็ว)
  • Tachometer (วัดรอบ)
  • ไฟหน้า - ไฟ Day light ; ไฟปกติ ; ไฟสูง (เปิด/ปิด Auto ได้นะเออ)
  • ไฟท้าย - ไฟ Day light ; ไฟปกติ ; ไฟตัดหมอก ; ไฟเบรก (เปิด/ปิด Auto)
  • ไฟเลี้ยว & ไฟฉุกเฉิน (Hazard light)
  • ไฟส่องแฮนด์รถ
  • บอกเวลา, วันที่ และ อุณหภูมิโดยรอบ
  • ระบบ Screen saver
  • ปรับแสงหน้าจอ (Dimmable) จะปรับเองหรือ Auto ก็ได้
  • ตั้งค่าขนาดล้อ (Tyre size) ได้ตามใจชอบ
  • รองรับหน่วยเมตริกและอิมพีเรียล
  • มีพอร์ตชาร์จ USB ให้ด้วยนะ

เวอร์ชันแรก (First version)

เวอร์ชันแรกเริ่มด้วยบอร์ด Arduino Nano R3 แผนงานตอนนั้นง่ายกว่าตอนนี้เยอะ ลองดูรูปข้างล่างสิว่าตอนนั้นสภาพเป็นไง

แอนิเมชัน Tachometer ตอนสตาร์ท

เวอร์ชันสอง (Second version)

เวอร์ชันนี้ขยับมาใช้บอร์ด STM32F103C8 เหตุผลที่เลิกใช้ Arduino เพราะ Pins ไม่พอแถม Memory เต็ม! STM32 เลยเป็นตัวแทนที่คู่ควรมากสำหรับอัปเกรดจาก Arduino Nano แถมรอบนี้เปลี่ยนดีไซน์หน้าจอใหม่ยกชุดเลย

นี่เป็นครั้งแรกที่พี่ลองบัดกรีอุปกรณ์ SMD งานเลยยังออกมาไม่กริบเท่าไหร่ ไว้แก้ตัวใหม่รอบหน้า รูปบางรูปอาจจะไม่ชัดหรือหลุด Focus ไปบ้างนะน้อง ลองดูหน้าตาปัจจุบันของมันไปก่อน

โน้ตจากพี่

สิ่งเดียวที่ดึงโปรเจกต์นี้ไว้คือ "งบประมาณ" พี่เริ่มทำโปรเจกต์นี้ตั้งแต่เรียนมัธยม เจียดค่าขนมครึ่งนึงมาลงกับอะไหล่และเครื่องมือตลอด ตอนนี้เหลือแค่ทำเคสและ 3D print นี่แหละที่ยังค้างอยู่ นั่นเป็นเหตุผลว่าทำไม Code กับไฟล์ CAD ของ PCB มันยังไม่ค่อยตรงกันเท่าไหร่ เดี๋ยวอีกเดือนสองเดือนจะมาจัดการให้มันเป๊ะนะวัยรุ่น

เจาะลึกรายละเอียดเทคนิค (Expanded Technical Details)

ระบบจัดเก็บข้อมูลการขับขี่ (Mobile Performance Telemetry)

โปรเจกต์นี้จะเปลี่ยนจักรยานธรรมดาให้กลายเป็น "Smart Bike" ที่ตามติดข้อมูลความเร็ว ระยะทาง และสภาพแวดล้อมได้แบบ Real-time

  • Hall-Effect Speed Sensing: ใช้ Reed switch หรือ Hall-effect sensor ร่วมกับแม่เหล็กที่ติดไว้ที่ซี่ล้อ โดยบอร์ด Arduino จะคำนวณจาก "เวลาที่เกิด Pulse" แล้วคูณด้วยเส้นรอบวงล้อเพื่อหาความเร็ว (km/h) และ RPM ออกมา
  • OLED Speedometer GUI: แสดงผล Dashboard ความละเอียดสูงบนจอ 0.96" I2C OLED โดยใน Firmware จะมีฟีเจอร์ "Odometer" สำหรับบันทึกระยะทางรวมลงใน internal EEPROM ของบอร์ดทุกๆ 5 นาที กันค่าหายเวลาไฟดับ

การจัดการพลังงาน (Efficiency)

  • Motion-Triggered Wakeup: พี่ใส่ Accelerometer หรือ Tilt-switch ไว้ด้วย เพื่อให้ Arduino เข้าโหมด "Deep Sleep" ประหยัดแบตตอนจอดรถนิ่งๆ และจะตื่นกลับมาทำงานทันทีที่เครื่องมีการเคลื่อนไหว จัดไปวัยรุ่น!

ข้อมูล Frontmatter ดั้งเดิม

title: "Onboard computer for bicycle"
description: "Advanced Onboard Computer for Bicycle."
author: "Pararera"
category: "Screens & Displays"
tags:
  - "onboard computer"
  - "bicycle"
views: 22999
likes: 19
price: 299
difficulty: "Intermediate"
components:
  - "1x Nail Polish"
  - "1x Resistors"
  - "1x Multimeter"
  - "1x Glass fuse"
  - "1x Hot glue gun (generic)"
  - "1x Breadboard, 270 Pin"
  - "1x FT232RL"
  - "1x Female headers"
  - "1x Lighter"
  - "1x DS3231 RTC"
  - "1x Solder Flux, Soldering"
  - "1x Multitool, Screwdriver"
  - "1x SMD White LEDs"
  - "1x Piezzo buzzer"
  - "1x Hammer"
  - "1x Nuts"
  - "3x AP9971GD"
  - "1x 4S BMS"
  - "1x Heat shrink tubes"
  - "2x White LED 3mm"
  - "3x 8 DIP socket"
  - "1x Plexiglass razor"
  - "1x SMD Amber LEDs"
  - "1x Fuse holder"
  - "1x USB Type A female connector"
  - "1x Scalpel"
  - "1x XT60 connector"
  - "1x Push button"
  - "1x Solder Wire, Lead Free"
  - "1x Phillips screws"
  - "1x Soldering iron (generic)"
  - "1x Sponge rubber seal"
  - "1x Wire stipper"
  - "8x 18650 LiIon batteries"
  - "2x Generic Jumper (0.1\")"
  - "2x LM2596"
  - "1x Servo Motor, Premium Male/Male Jumper Wires"
  - "1x OLED Display"
  - "1x Wire, Wrapping Wire"
  - "1x SMD resistors"
  - "1x 3D Printer (generic)"
  - "1x SMD Red LEDs"
  - "1x Wire cutter"
  - "1x SPST Switch"
  - "1x STM32F103C8 BluePill"
  - "1x Male headers"
tools: []
apps:
  - "1x Arduino IDE"
  - "1x STM32 FlashLoader"
downloadableFiles:
  - "https://github.com/Pararera/Onboard-computer-for-bicycle-SW"
  - "https://github.com/Pararera/Onboard-computer-for-bicycle-SW"
documentationLinks: []
passwordHash: "fe480b7dc2044721438f5bc73f0a47767b2ff92c5a3ffa1ded5bf17a960a3ae3"
encryptedPayload: "U2FsdGVkX1/ZyqpgNQsJTnsSUp/Gc0sx3t5RWZ+kqE+F0sHRjYjBABbRrvJR+C06hlJFZypgU6GfeF1Ij81jG74Uap8ipj0EA2zAVef8+c5kR4CtVgH6a90Sa1Fepyhs"
seoDescription: "Advanced Onboard computer project for bicycles, enhancing cycling performance and safety with innovative technology."
videoLinks:
  - "https://www.youtube.com/embed/31c7fyQZzLw"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/onboard-computer-for-bicycle-c719c1_cover.jpg"
lang: "th"