A more functional train microcontroller… Power is coming from a 12V wall transformer which powers both the Arduino (at 5V), and the shield(at 12V). The shield provides pulse-width modulated DC to the rails. The microcontroller is programmed to control direction, maximum speed, and rate of change. I am using a momentary toggle switch with center off to increase or decrease speed. The computer is reading the current settings from the controller over a USB connection. Hitting the reset button automatically stops the train.
Holy smokes. That was easy. In one evening I soldered the kit and had my model train doing the “PWM-boogie”. Thanks to Lady Ada for making it possible for wantabe hacks like me to do cool stuff! [and] Added a toggle switch and more code, and now it is a functional train controller. I can set the max speed and max rate of change to simulate a real engine while keeping is easy enough for my 7yo daughter to run. All I need is some positional sensing and I can do some auto reversing, ect. I’m amazed how easy you made this for us! Many thanks Lady Ada!
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.