SeniorWizard / laptimer2

Arduino laptimer for go kart
15 stars 2 forks source link

laptimer2: Arduino magnetic laptimer for karting

Table of Contents

Purpose

This sketch is mostly a hardware improvement based on my first attempt to make a cheep and easy to use lap timer for gokarts; arduino laptimer v1

Changes

The main problem with the first version of this lap timer is that it is too heavy and too bulky. A go kart makes a lot of vibrations, even with powerfull magnets it is troublesome to mount the display on the steeringwheel - also the battery had to be mounted on the steeringwheel too.

This design splits the arduino and the display. The idea is to be able to have the arduino and the batery in your pocket, and the the display on the arm like a wrist watch. I used an Arduino Nano for the smaller size and a Nokia 5110 display which is cheep and widely used with good libraries avalible. Loosing the keyshield, I have to do a lot of soldering and also I loose the ability to interact with the device as there are no keys. Also instead of a reed module, I use just the reed switch and hope to be able to have it in my shoe, avoiding the problem of mounting the device in the kart.

Materials and Wiring

The wiring of the display is choosen to make the soldering as easy as possible using two pices of four connector wire, also allowing the use of the backlight (eg to blink for best lap). The display I have allows for using both top and buttom for adding the wires. I have choosen to use every second hole in each row and connect with a four conductor wire to make it easier for my fat fingers to avoid shorts when soldering.

Overview

Wiring

Operation

Only configuration options is compiletime, one is MAX_SECTORS which is 3 and determines the number of magnetic strips on the track, and then DEBUG determines if ressources is used on serial output and the value of the the debounce timer.

Timing

timing

The primary information on the display is the sector time and the time difference to the best sector time. Below the horizontal line is the rolling laptime (ie the sum of the last three sector times) and the time difference to the best rolling lap time. At the right is the current lapnumber displayed and below that the current sector.

From top left to bottom right:

Future improvements and notes

I need some way to interact with the code to set the number of sectors. Either it could be done as going into some kind of configuration mode for a period right after boot, or we could make is autodetect using a compass.