หน้าแรก ดูโปรเจกต์ทั้งหมด
Easy

โปรเจกต์ Bicycle Odometer และ Speedometer พร้อมระบบบันทึก 99 Lap/Period

Bicycle Odometer และ Speedometer แสดงระยะทางที่เดินทาง, ความเร็วเฉลี่ยและปัจจุบัน (ในหน่วย km/hr), เวลา และสามารถบันทึกได้สูงสุด 99 Lap

โปรเจกต์ Bicycle Odometer และ Speedometer พร้อมระบบบันทึก 99 Lap/Period

วิดีโอสาธิต

Video

▶ กดเพื่อดูวิดีโอสาธิตโปรเจกต์

รายการอุปกรณ์และเครื่องมือ

1x RGB Backlight LCD - 16x2
🛒 สั่งซื้อ
2x Pushbutton switch 12mm
🛒 สั่งซื้อ
1x Single Turn Potentiometer- 10k ohms
🛒 สั่งซื้อ
1x Hall Effect Sensor
🛒 สั่งซื้อ

รายละเอียดและวิธีทำ

Description

นี่คือ Odometer และ Speedometer สำหรับจักรยาน ซึ่งใช้ติดตามระยะทางที่เดินทาง (หน่วยเป็น km), เวลาที่ใช้ในหน่วยชั่วโมง, นาที และวินาที, ความเร็วเฉลี่ย (หน่วยเป็น km/hr) และความเร็วสูงสุดที่ทำได้ในช่วงเวลาหนึ่งนาทีใดๆ (หน่วยเป็น km/hr) โดยสามารถบันทึกข้อมูลได้สูงสุด 99 Laps/ช่วงการปั่น สามารถสร้างขึ้นได้ด้วยชิ้นส่วนจาก Arduino Starter Kit ยกเว้น Hall sensor และกล่อง Enclosure ที่ต้องซื้อแยกต่างหาก

Motivation

ผมปั่นจักรยานค่อนข้างบ่อยเพื่อรักษาสุขภาพ และต้องการทราบว่าปั่นไปไกลแค่ไหน ความเร็วเฉลี่ยและความเร็วปัจจุบันเป็นอย่างไร ฯลฯ ผมไม่เห็นความจำเป็นที่จะต้องซื้อเครื่องสำเร็จรูป (ซึ่งอาจมีฟีเจอร์หลายอย่างที่ผมไม่ได้ใช้!) ดังนั้นผมจึงตัดสินใจสร้างมันขึ้นมาเอง ผมไม่ได้หาดูว่ามีใครเคยทำสิ่งที่คล้ายกันนี้มาก่อนหรือไม่ เพราะผมต้องการท้าทายตัวเองและฝึกฝนทักษะ Arduino ที่เพิ่งเรียนรู้มาใหม่!

Operation

เมื่อเริ่มจ่ายไฟให้กับ Arduino หรือทำการ Reset จะมีข้อความ "PRESS BUTTON TO START" ปรากฏบนหน้าจอ 16 x 2 LCD

การกดปุ่ม Pause/Resume หรือปุ่ม Display Mode จะเป็นการเริ่ม Lap/ช่วงที่ 1 ข้อความ "CYCLE SAFELY!" จะปรากฏขึ้นเป็นเวลา 2 วินาที ซึ่งในระหว่างนั้นการบันทึกข้อมูลได้เริ่มขึ้นแล้ว (รอบการหมุนของล้อจะถูกนับแล้ว) จากนั้นหน้าจอจะแสดงระยะทางเป็นกิโลเมตร, km/hr (ทางด้านขวาของตัวอักษร "S" ในบรรทัดที่ 1, S=Speed), เวลาที่ผ่านไปในหน่วยชั่วโมง, นาที และวินาที (เริ่มต้นบรรทัดที่ 2) และความเร็วเฉลี่ย km/hr สำหรับ Lap/ช่วงนั้นๆ (ทางด้านขวาของตัวอักษร "A" ในบรรทัดที่ 2, A=Average) ข้อมูลนี้จะถูกอัปเดตแบบ Real-time

เครื่องหมาย "+" จะปรากฏที่มุมซ้ายบนของหน้าจอเป็นเวลา 250 Milliseconds เมื่อตรวจพบการหมุนของล้อ

การกดปุ่ม Display Mode จะเปลี่ยนตัวอักษร "A" ในบรรทัดที่ 2 เป็น "M" เพื่อแสดงความเร็วสูงสุด km/hr ที่ทำได้ใน Lap นั้นจนถึงปัจจุบัน (M=Maximum)

การกดปุ่ม Pause/Resume จะหยุดการบันทึกและบันทึกข้อมูล Lap ปัจจุบันลงใน Memory ข้อความ "PAUSED!" จะปรากฏขึ้นเป็นเวลา 2 วินาที จากนั้นสรุปผลรวมของ Lap ที่เพิ่งจบไปจะปรากฏขึ้น พร้อมกับหมายเลข Lap ที่มุมซ้ายบนของหน้าจอ ตามด้วย "Avg" แสดงความเร็วเฉลี่ย km/hr ตลอดทั้ง Lap และ "Max" สำหรับความเร็วสูงสุด ในบรรทัดที่สองจะแสดงระยะทางเป็นกิโลเมตรตามด้วยระยะเวลาของ Lap ในหน่วยชั่วโมง, นาที และวินาที

การกดปุ่ม Display Mode ขณะอยู่ในโหมด Pause จะเป็นการวนดูข้อมูลของ Lap ต่างๆ ที่บันทึกไว้ การกดครั้งแรกจะแสดงผลรวมทั้งหมดของทุก Lap (โดยมีตัวอักษร "T" แสดงที่มุมซ้ายบนของหน้าจอ) ขณะที่การกดครั้งต่อๆ ไปจะพาคุณไล่ดูไปตามลำดับตั้งแต่ Lap 1, 2, 3 ฯลฯ ขึ้นอยู่กับว่าคุณบันทึกไว้กี่ Lap

การกดปุ่ม Pause/Resume อีกครั้งจะทำให้เครื่องกลับเข้าสู่โหมดการบันทึก (Recording mode) เพื่อเริ่มบันทึก Lap ใหม่ ข้อความ "CYCLE SAFELY!" จะปรากฏขึ้นก่อนเป็นเวลา 2 วินาที จากนั้นข้อมูล Lap แบบ Real-time ตามที่อธิบายไว้ข้างต้นจะปรากฏขึ้น หากกดปุ่ม Pause/Resume อีกครั้งในขณะที่ข้อความ "CYCLE SAFELY!" กำลังแสดงอยู่ (ในช่วง 2 วินาทีแรกของ Lap ใหม่) จะไม่มีการบันทึกข้อมูลของ Lap นั้น และเครื่องจะกลับเข้าสู่โหมด Pause เพื่อแสดงข้อมูลของ Lap ล่าสุดที่ผ่านมา

สามารถบันทึกข้อมูลได้เพียง 99 Laps/ช่วงเท่านั้น เมื่อบันทึก Lap ที่ 99 แล้ว Lap ต่อๆ ไปจะถูกบันทึกลงในช่องของ Lap ที่ 99 ซึ่งจะไปบันทึกทับข้อมูลเดิมที่เก็บไว้ อย่างไรก็ตาม ผลรวมทั้งหมด (Grand totals) จะยังคงถูกอัปเดตอย่างถูกต้อง ทั้งในส่วนของระยะเวลา ระยะทาง ฯลฯ สำหรับทุก Lap รวมถึง Lap ที่ถูกบันทึกทับในช่องที่ 99 ด้วย

วิดีโอด้านล่างนี้คือการสาธิตฟังก์ชันการทำงานทั้งหมดนี้

ซอฟต์แวร์ได้รับการทดสอบและ Debug อย่างละเอียดในสถานะปัจจุบัน ส่วนฮาร์ดแวร์ยังอยู่ในระหว่างการดำเนินการ เนื่องจากผมยังไม่ได้รับ Arduino Nano, Hall sensor, กล่อง Enclosure และปุ่ม Push button แบบติดตั้งได้ที่สั่งซื้อไป

ขอบคุณที่ให้ความสนใจในโปรเจกต์ของผม ยินดีรับทุกความคิดเห็น ขอให้เป็นวันที่ดีครับ!

Code

🔒 ปลดล็อก Code

สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้

รหัสอ้างอิงโปรเจกต์: bicycle-odometer-and-speedometer-with-99-lapperiod-recorder-c8eb6c
2450 บาท
PromptPay QR Code

ประเมินราคาอัตโนมัติ + Reference Code

อยากได้งานคล้ายโปรเจคนี้ ให้ AI ประเมินราคาก่อน

กรอกข้อมูลให้ครบ ระบบจะสร้างรหัสอ้างอิงและประเมินราคา/ระยะเวลาคร่าว ๆ จากรายละเอียดงาน แล้วให้กด Add LINE พร้อมพิมพ์รหัสนี้เพื่อคุยต่อ

คำถามให้ AI ประเมินแม่นขึ้น

หลังส่งฟอร์ม ระบบจะโชว์ Reference Code ให้ copy แล้วกด Add LINE เพื่อคุยต่อ ข้อมูลส่วนตัวจะไม่ถูกส่งเข้า GA4

รีวิวจากคนใช้งานจริง

รีวิวจากลูกค้าและคนที่เคยใช้งาน

ถ้าเคยสั่งงาน เคยอ่านหน้านี้แล้วได้ประโยชน์ หรือมีข้อเสนอแนะ ฝากรีวิวไว้ได้เลย

กำลังโหลดรีวิว...