Train Describer

I currently have a project in mind. I'm wondering how to do it, or if it's even possible.

On the (UK) rail network one method of passing a train between signal boxes is the Train Describer. This was until recently an electro-mechanical device that you would enter the four digit code into, ex would be "1R27" into a keypad, and press the send button. This would transmit the code to the receiving machine and it would flash up on the display. An acknowledge button would be pressed which would confirm the receipt of the code and clear the transmitting machine to send another once the train has passed a certain point.

I'm considering an electronic version using an Arduino, a keyboard, and a couple of LCD displays. Trouble is, is it possible, and where the hell do I start lol. Up until recently I was a TTL and Relay kinda guy.

Dave

OK, go get a couple of Nanos (not UNOs), breadboards, a couple of 1602 LCD displays with I2C backpacks, and some 4 by 4 key (“telephone”) keypads and some jumper wires.

Load up the Arduino IDE, start by manipulating some basic “sketches” to flash LEDs, then display messages and counters on the LCDs, then add keyboard code and finally figure out a communications link (such as RS-422).

Dave_M0YAA: I'm considering an electronic version using an Arduino, a keyboard, and a couple of LCD displays.

The keypad and the display part is straightforward, along the lines proposed by @Paul__B.

Whether the logic of the train control system is straightforward is another matter.

At a trivially simple level I could type AB12 (or XY98, or anything similar) into one keypad and the person at the other keypad presses the OK button (neither side caring what was typed) and then a train (any train) is authorised to pass.

But if the numbers are to be meaningful, related to a specific train, and capable of being rejected at the receiving end then there is a whole other chunk of logic needed. And my first thought is that if it is any way complicated it would be easier to do on a PC.

...R

thanks so far, the code relates to a physical train path, but not the physical train. As in train 1A12 runs every day at the same time, but isn't the same physical train. Any loco + stock can be allocated to that path. the first digit is the class of train, 1-0 (1 being express, 2 being local passenger, 3 being parcels and so on), the second digit is a regional destination identifier, A-Z and the final 2 digits being the train number so 1A12 would translate to a Class 1 passenger going to A (London) and it's the 12 th train.. The transmit system forms no locking function, nor does it release any signal or control equipment. It exists solely to transmit the 4 digit code from point to point. I will get some NANO's ordered, I have a couple of Uno in the workshop and have a couple of displays with I2C attached. I'm not sure the telephone keypad would be usable, unless there could be a function to shift as all letters are used.

Dave_M0YAA: I'm not sure the telephone keypad would be usable, unless there could be a function to shift as all letters are used.

Are you not aware of how people "text" on a mobile phone?

Paul__B: Are you not aware of how people "text" on a mobile phone?

Actually I had forgotten that bit, it's been a while since the 90s lol.

On the shopping list they go.

I wonder how multiple Arduinos (nodes) communicate without kind of a network hard- and firmware. Even in a daisy chain topology every node must have separate communication channels for its preceding and next node, or even more with track switches.

I also wonder how many persons will enter and acknowledge the transmitted train IDs?

It may be easier to have a single bus and a master controller, with any number of slave nodes connected.

Can you provide a sketch of your intended installation?

DrDiettrich:
I wonder how multiple Arduinos (nodes) communicate without kind of a network hard- and firmware.

I have the impression that the OP only envisages a single link between a pair of Arduinos.

…R

I did a similar thing a couple of years back using two rf transceivers with an 'ACK' required before originator could move to further processing. I'll see if I can dig the code out, it would give you a start.

EDIT: Ignore me. I found it. It was written for a PIC processor.

Robin2: I have the impression that the OP only envisages a single link between a pair of Arduinos.

...R

Yup, there are two tracks between boxes so A will send to B on one line, and B will send to A on the other. There is no requirement for the systems to link. Arduino at each box with a keypad at sending end and screen, screen and acknowledge button at the receiving end.