These timing gates use XBee radios to provide accurate and long-distance timing between two the gates and a control unit. Designed to run off batteries, they incorporate a USB charging and a 30-hour operational time. Explicitly meant for horseback archery, they could be adapted for any sport with a single running competitor.
Overall System Design
The system consists of two gates and a control unit.
Gate Transmitters.
The control gates use Infrared through the beam sensors and XBee radio running in API mode. The XBee3 radios can be easily set up as routers to send a message to the control unit when the beam in broken. The gates run of 3.3V LiPo batteries with cheap USB charging units. In this version, XBee development boards were used to make life easier as these already have the relevant connectors and regulators. The only challenge was using a DC-DC converter to produce the 12v required for the IR sensor and an optoisolator to protect the XBees from any spurious voltage and wiring mistakes. The whole thing is housed in a sandwich plastic sandwich box to make it portable and waterproof.
Control Unit
The control unit includes an Arduino processor (5V Diymore Micro Pro) and another XBee3 radio. This radio is programmed to be the co-ordinator and received the messages from the two gates. The control unit also includes a standard LCD, LEDs to show the status of the gates. The only challenge was a MOSFET based battery monitoring circuit which can be polled so as not to flatten the battery when the unit is off.
Software Notes:
The software uses XBee callbacks, the book "Building Wireless Sensor Networks Using Arduino" by Matthijs Kooijam is excellent at explaining how these work Packt Publishing; 1 edition (19 Oct. 2015) ISBN:1784395587. I copied most of the Xbee code from this book.
Also useful is Programming Arduino Next Steps by Simon Monk; Going Further with sketches McGraw-Hill Education TAB; 2 edition (9 Jan. 2019). This book explains how to connect the various components to the Arduino. ISBN-10: 1260143244.
The code also sends the run time to a simple display unit at display_remoteAddress. If this is not present, it is ignored, so you can just ignore (or comment out) this part. If you want to build it you need another Xbee unit, an Arduino and a display. I currently use an LED Dot Matrix Display, but it's not bright enough for outside use. I the longer term I would like to use a large LCD , but they are costly.
Comments
Please log in or sign up to comment.