Introduction: IR 2.4GHZ Multi Client Lap Timer for RC Cars
UPDATES:
16-07-25: super small size (50x20x20mm) Transponder photos uploaded
16-07-21: Master box code updated: Practise mode is now working, further: Race mode: Now there is a "beep" for every lap and a longer high beep for the last lap.
16-07-21: First test as video added. The toy RC car is only for demonstration :) It's build for at least 1:10 "real" RC cars.
16-07-20: got lost in translation!: Please read "pillar" instead of "pillow" (I changed it in the text, but not on the photos, will do it later)
16-07-20: Please read the Arduino forum thread: Arduino Forum
Background:
I'm a RC-car driver and often use temporary race tracks for bashing with my friend. So this project was born:IR 2.4GHZ multi client Lap timer for Arduino
Features:
Highly transportable IR-tracking lap timer for up to 6 different RC-cars.
This not a step by step manual only the essential steps are included (no drawn circuits…) A moderate knowledge of electronics is being expected, so please do not ask/mail questions like „How can I connect a transistor?“ or „Can I take xyz value for the resistor?“.
The IR generator/receiver code is based on http://teambarnato.blogspot.co.at/2016/02/ir-lapt...
The complete code+photos+description can be downloaded here:
Function description:
You need at least 3 devices:
IR-generator pillar: This device contains an Arduino mini generating a very short IR code. Via 3 IR-LED's the code is beamed permanently.
Transponder box within car: Arduino Nano/mini + IR receiver + NRF24L01 module. If a IR signal code is recognised (car is passing the IR pillar) a short unique code will be send via the NRF2401 module to the master box. Up to 6 different transponder can be used (Currently only 2 are implemented)
Master Box: Arduino Nano + NRF24L01 module + Encoder + Display. Collecting the transponder data for generating lap times,…
Step 1: Devices/modules Description
1. IR-Pillar
Parts needed:
Arduino mini/nano (even a ATtiny would do the job!)
3 IR-LED’s (or more)
1 LED
1 PNP transistor (you need about 60mA for 3 IR LED’s)
resistors (1k for transistor, 220R for LED, value for IR LED’s depends on their consumption I used 20R to be on the safe side)
little breadboard circuit board
battery holder (I use 4x AA for getting 6V)
little power switch
housing for the pillar (I did my one with my 3D-printer)
Pinout:
IR LED: D9
Power LED: D10
2. Transponder Box
Arduino mini/nano (clone)
NRF24L01 module (maybe with additional base module; see > https://arduino-info.wikispaces.com/Nrf24L01-2.4G... )
IR receiver (38khz) like: TL1838 VS1838B 1838 38Khz J1838 Universal IR Infrared Receiver
some pin rows
Getting Power: I use the standard 3 pins connector using one unused channel of the RF-receiver so I can use the power of the ESC.
The IR receiver is connected with a longer cable and should be fixed on the highest place of you car (rear wing). Important: The IR should be on the RIGHT side so collecting the data from right. So the IR pillar is on the inside of the track and beams to the outside otherwise you may cross the track with the signal.
Pinout: NRF24L01 module to SPI + CS Pin 10, CE Pin 8
IR receiver to pin 2
3. Master box
Arduino mini/nano
NRF24L01 module (maybe with additional base module; see > https://arduino-info.wikispaces.com/Nrf24L01-2.4G... )
LCD: standard HD44780 20x4, with I2C module.
Encoder with push button function
power switch
battery holder (I use 4x AA for getting 6V)
housing (I did my one with my 3D-printer)
Buzzer (maybe with additional transistor (loudness!)
Pinouts:
Display:
A5=SCL
A4=SDA
D7=Buzzer (my buzzer is amplified via 2N2222 PNP transistor
D2=Encoder A
D3=Encoder b
D4=encoderButton -
NRF24L01 module:
standard SPI +
D10=CS Pin
D08=CE Pin
Step 2: Code / Software
The complete Code can be downloaded here: CODE
There are detailed description within each sketch, so here only the basics and limitations of the master box:
Limitations:
I’ve only implemented 2 cars at the moment. Most of the code is ready for more than 2, but you have to rewrite the display function, especially in race mode. Edit 16-07-21: "Practise mode" is now working!
Functions:
Race setup:
Laps: Number of laps
Lap Offset: IMPORTANT! Here you enter the the time (in seconds) a incoming trigger wouldn’t be counted (false positive). Set it as high as possible. Example: Your lap time is about 90 seconds as fasted possible lap, so set this value to about 85 (seconds). Within this time no trigger from a specific car would be counted to avoid false triggers. Technical info: The transponder is sending 10 signals (with different delays ) within 15 milliseconds and repeat it every second IF a IR signal is recognised.
Both values are stored in EEPROM
RACE:
Starting the race
NRF_Test:
Just counting up incoming signals. Good for testing the connections.
System:
Buzzer on/off: temporary disable the buzzer
Start Delay: (stored in EEPROM): delay between the start signals. Set it to a convenient level.
Step 3: Some Ideas for the Future
Some ideas for the future:
- collecting/sending race stats via Serial port or Bluetooth for a android APP SD Card
- Presets for different race tracks
- adding more cars (with NRF24L01 you have 6 node, but you can do a star network)
- transponder can send more data than the IR signal, like voltage of the LIPO of each car,….
- more IR pillars for getting interim results
- using the ACK of the NRF24l01 for automatic repeat the code if transmission failed. (Maybe problems with some of the fake NRF modules on ali&ebay)
Feel free to modify it and post your results here!
4 Comments
Question 3 years ago on Step 1
(no transistor IR LED)
Questa è la lista su EBAY:
Encoder rotativo con pulsante interruttore rotary encoder
switch per pcb arduino
Diodo LED per arduino rossi gialli verdi blu bianchi 5mm
5 mm a luce diffusa
Modulo trasmettitore tx diodo led IR infrarossi 38khz per
telecomando arduino
Modulo VS1838B VS 1838B ricevitore IR infrarossi 38khz
per telecomando arduino
25 pezzi Resistenze 1 K Ohm, 1/4W, ±5% Resistenze a
strato di carbone 1K
5 pezzi Resistenze 20 Ohm 2W ±1% 50ppm/°C ROYAL OHM
strato metallico 20R
Resistenze 220 Ohm, 220R 1/4W ±5% Resistenze a strato di
carbone 25 pezzi
Blu di serie IIC/I2C/TWI 2004 20X4 Carattere LCD Modulo
Display per lo strumento Arduino
Arduino PRO MINI 5V 16Mhz - ATmega328 compatibile - ART.
CV07
NRF24L01+ 2.4GHz Antenna RF Wireless Transceiver Module
Arduino Microcontroller
7 years ago
Very fun! I'd love to see some pictures of it in action if you have them.
Reply 7 years ago
ok, I have uploaded a demo video with a toy car (cannot drive 1:10 cars at office :) ).
Reply 7 years ago
No real pics at the moment only crude theory ;)