Search the Community
Showing results for tags 'microcontroller'.
Found 1 result
Phoxtane posted a topic in LEGO Train TechAs part of my quest to control my Lego train layout with an FPGA controller, I decided that I would want some railway signals that would change as the train passed by. I then realized how much of a mess that would be with wires running to and from each LED in the signal and the control board, so I thought to myself: "I wonder if there's something I can build that will help with this problem?" I'm curious to see if there's enough interest in this gadget for me to be able to make and sell them, so that's the main point of this post. Here's the result: EDIT 8-2-2016: Board version 2.1 images In addition, here's a video of one of the first versions of the circuit, before I had even started on designing a PCB. This demonstrates the basic functionality of the controller with a single three-aspect 'signal'. Description: This board can drive up to two three-aspect (light) LED train signals with as few as two I/O pins on the chosen microcontroller. It can be run off of either 3.3V or 5V supplies* a 5V, and will interface with logic signals of the same voltage. If you'd like to drive the two signals independently, it will take four I/O pins. Dimensions: 4 studs by 4 studs, not including the male header pins. As I have yet to receive the prototype for this board, I don't know if the mounting holes fit a typical Lego stud, or if they line up with the corner studs on a 4x4 space - however, I should be able to adjust this without too many problems. The header pins are the standard 2.54 mm/.1 inch pitch popularized by Arduino microcontrollers. Technical Specifications: Supply voltage should either be 3.3V or 5V* be 5V. Absolute maximum current draw should be ~85-90mA, typically ~41mA**. Operation: The IC used to make this board work is the SN74HC139DR, a two-line to four-line decoder. There are two decoder units in each chip, and as a result this board will happily drive two signals at a time, either independently or synchronized together. The A0 and B0 connectors are the least significant bit of the two-bit signal, with A1 and B1 being the most significant bit. There is also an active-low 'Enable' pin for each decoder, which is not broken out to a header; it is permanently tied to ground so that the board is always ready to change the signal. If the value sent to Signal A is 00 (A1=0 and A0=0), all of the LEDs in the signal remain off. If the value sent to Signal A is 01 (A1=0 and A0=1), the green LED will turn on and remain on as long as the 01 signal is applied. If the value sent to Signal A is 10 (A1=1 and A0=0), the yellow LED will turn on (and remain on as above). If the value sent to Signal A is 11 (A1=1 and A0=1), the red LED will turn on (and remain on as above). Signal B works in the same manner. If you want to set both signals to the same light, simply tie A0 and B0 together, as well as A1 and B1 together. If you want to drive the signals independently, don't do that Cost: My calculations for the cost of the components, the PCB, and the time it takes for me to assemble and test each board tells me I should be selling these for $21.99 (USD) apiece. If I was to have these mass-produced, it'd likely be cheaper - however, I'd have to be buying them in quantities of 100, or 1000, and there's no guarantee I could sell them all. As such, I would prefer to take orders from anyone who's interested in buying these and essentially produce them on-demand so I don't have to keep inventory around. Sales Pitch: You should buy this device because it reduces the amount of I/O pins required to drive two three-aspect signals by 33% (four pins instead of six for independent operation) or even 66% (two pins instead of six for synchronized operation). This reduces the amount of programming work that has to be done by the user. In addition, the board is thin enough that it can fit in a single brick's height; as such, it can easily be hidden under some landscaping or even placed under the ballast for a section of track! Moreover, it comes in a lovely purple color with a gold plated finish, thanks to the company who I get my PCBs from. <~~~~~~~~~> *The only change that this would require would be different values for the resistors; I currently have resistors on hand for a 3.3V version, as that is what my FPGA operates at. Typically, Arduinos operate at 5V, so I could potentially offer either variant to suit your needs 5V supply only! More will burn out LEDs and resistors, less will cause undervoltage problems. **The LEDs I prototyped with (and will use on my layout) have a maximum current draw of 20mA apiece, with the IC drawing ~1uA. If there's a problem with floating inputs, it is possible for two LEDs on each signal to be lit at a time, resulting in double the current draw. I have yet to see all three LEDs on at the same time! Now, having read all of this above: Would you buy this gadget? If so, how many do you think would buy, and how much would you be willing to pay for each one? As sad as it is to admit, I'm not able to compete on cost with cheap PCB assemblers in China. Another question: Would you want mounting holes on the board, similar to what I've show here? If so, would you want them to fit a Lego stud? Finally, just to make this clear: I'm not ready to sell these yet. I still have to receive and assemble my prototype, which isn't even the board pictured above (it is functionally identical, just without the helpful pin labels and slightly cheaper because it's a tad smaller). I'd be thrilled to be able to sell these to people once I've verified that it works and doesn't explode, however!