Automated sprint time measuring device with ultrasonic sensors to take the time of two sprinters between the start signal and the sprinters crossing the finish line.
Two devices are necessary, one at the start, one at the finish line, each of them is based on a Raspberry Pi (Model B).
Runners are not detected by a laser as in similar devices, but by two ultrasonic sensors (HC-SR04). Therefore, no additional reflectors are required for the gate, which can be knocked over. The most complex part of the project was to read out the ultrasonic sensors quickly enough to reliably detect runners. Therefore, a complex state machine is used since both sensors must work independently. In hindsight, separate threads would have been the better solution.
This project was created as part of a school project (W-Seminar) 2017 in my eleventh school year. Parts of the code are borderline awful, because I have implemented it without little to no prior knowledge. Since the final result is fully functional and it is a nice project in my opinion, I put it here.
Both, the 433Mhz communication and the handling of the ultrasonic sensors, is done without external libraries.
Wiring Pi is used to read and write GPIOs and display characters on the LCD display.
mpg123 used to play the start signal.