โปรเจกต์ Bicycle Odometer และ Speedometer พร้อมระบบบันทึก 99 Lap/Period
Bicycle Odometer และ Speedometer แสดงระยะทางที่เดินทาง, ความเร็วเฉลี่ยและปัจจุบัน (ในหน่วย km/hr), เวลา และสามารถบันทึกได้สูงสุด 99 Lap
Bicycle Odometer และ Speedometer แสดงระยะทางที่เดินทาง, ความเร็วเฉลี่ยและปัจจุบัน (ในหน่วย km/hr), เวลา และสามารถบันทึกได้สูงสุด 99 Lap
▶ กดเพื่อดูวิดีโอสาธิตโปรเจกต์
นี่คือ Odometer และ Speedometer สำหรับจักรยาน ซึ่งใช้ติดตามระยะทางที่เดินทาง (หน่วยเป็น km), เวลาที่ใช้ในหน่วยชั่วโมง, นาที และวินาที, ความเร็วเฉลี่ย (หน่วยเป็น km/hr) และความเร็วสูงสุดที่ทำได้ในช่วงเวลาหนึ่งนาทีใดๆ (หน่วยเป็น km/hr) โดยสามารถบันทึกข้อมูลได้สูงสุด 99 Laps/ช่วงการปั่น สามารถสร้างขึ้นได้ด้วยชิ้นส่วนจาก Arduino Starter Kit ยกเว้น Hall sensor และกล่อง Enclosure ที่ต้องซื้อแยกต่างหาก
ผมปั่นจักรยานค่อนข้างบ่อยเพื่อรักษาสุขภาพ และต้องการทราบว่าปั่นไปไกลแค่ไหน ความเร็วเฉลี่ยและความเร็วปัจจุบันเป็นอย่างไร ฯลฯ ผมไม่เห็นความจำเป็นที่จะต้องซื้อเครื่องสำเร็จรูป (ซึ่งอาจมีฟีเจอร์หลายอย่างที่ผมไม่ได้ใช้!) ดังนั้นผมจึงตัดสินใจสร้างมันขึ้นมาเอง ผมไม่ได้หาดูว่ามีใครเคยทำสิ่งที่คล้ายกันนี้มาก่อนหรือไม่ เพราะผมต้องการท้าทายตัวเองและฝึกฝนทักษะ Arduino ที่เพิ่งเรียนรู้มาใหม่!
เมื่อเริ่มจ่ายไฟให้กับ 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 แบบติดตั้งได้ที่สั่งซื้อไป
ขอบคุณที่ให้ความสนใจในโปรเจกต์ของผม ยินดีรับทุกความคิดเห็น ขอให้เป็นวันที่ดีครับ!
สนับสนุนเพื่อรับ Source Code หรือแอปพลิเคชันสำหรับโปรเจกต์นี้
ประเมินราคาอัตโนมัติ + Reference Code
กรอกข้อมูลให้ครบ ระบบจะสร้างรหัสอ้างอิงและประเมินราคา/ระยะเวลาคร่าว ๆ จากรายละเอียดงาน แล้วให้กด Add LINE พร้อมพิมพ์รหัสนี้เพื่อคุยต่อ
ส่งข้อมูลเรียบร้อย
ขั้นตอนต่อไป: กดปุ่มด้านล่าง ระบบจะคัดลอกข้อความพร้อม Reference Code ให้ แล้วพาไปหน้า LINE ทันที เอาข้อความนั้นส่งใน LINE เพื่อให้ทีมงานดึงข้อมูลจากฟอร์มนี้มาต่อได้เลย
Reference Code
รีวิวจากคนใช้งานจริง
ถ้าเคยสั่งงาน เคยอ่านหน้านี้แล้วได้ประโยชน์ หรือมีข้อเสนอแนะ ฝากรีวิวไว้ได้เลย
ยังไม่มีรีวิวบนหน้านี้ ถ้าเคยใช้งานหรือมีข้อเสนอแนะ เขียนเป็นคนแรกได้เลย