Looking for ideas


Red Oak & Western

Active Member
First a bit of background -- in addition to being a model railroader, I'm a ham radio operator and retired software developer and teacher.

I came across a book titled Arduino Model Railroad Signals And Other Projects. Not all that great a book (one of these days I'll write up a review), but it was good enough to induce me to buy a couple of Arduinos and download the IDE (Integrated Development Environment). So far, I've developed circuits and programs to control block and route signalling, servo motor turnout (switch) machines, crossing sensors and signals, and streetlights.
Model Railroad Hobbyist magazine had an article on randomly lighting rooms within a building -- all of you are subscribers to Model Railroad Hobbyist aren't you? There is also an article on using an Arduino as a DCC decoder. I'm not sure I want to get that far into the internals of DCC yet.

I'm looking for other ideas where a small controller like the Arduino can be used to "do things" on the model railroad.
 
Couple of ideas I had for my layout that might be interesting besides signaling and lightning are-
* play audio announcements for approaching trains
* shut off track power if train triggers sensor and green light is off

not sure if Arduino is the best way to implement that, but definitely worth exploring.

Slava
 
I'm looking for other ideas where a small controller like the Arduino can be used to "do things" on the model railroad.

  • crossing gate controller
  • semaphore signal controller
  • turntable controller

But I think developing code to turn an Arduino into a remote slave of software running on a laptop communicating (centralized intelligence) over RS-485 would be simpler in the long run and easier to develop new applications. This is similar to the NCE cab-bus connecting a command station with multiple cabs (slave).

Imagine being able to install a slave under the layout to control something with the actual application on a laptop. The simplest slave would read and write bits. higher level functions would be to generate pulses or alternating pulses. Another remote function is to drive a PWM signal to a specific value over a specified period of time, or cycle between levels.

you might want to consider building an NCE compatible cab, but a keypad is needed.

Of course, once multiple slaves are networked together, the thing being controlled can be on different parts of the layout. A single I/O slaves can be used to collect multiple block-occupancy inputs, returning them to a central controller and control multiple turnouts or signals (e.g. C/MRI).
 
don't know if this is obvious ...

RC servos are controlled by a pulse that varies in width from 1-2 msec. This is an easy way to control physical motion with a small processor such as in an Arduino. Think of it as flashing an LED once every 20 ms and turning the LED on for just a short period of time.
 



Back
Top