Monday, February 22, 2010

The Big Project

So I've decided to teach myself enough EE to let me build circuits (and, gasp, understand what I'm building). This means working my way through The Art of Electronics. It's a really good book, but it's extremely information-dense -- especially the first chapter, Fundamentals. One nice side-effect is that I now understand how trig and complex numbers are actually used in the real world. I've seen trig before when doing 3D graphics, but I hadn't seen complex numbers since ... high school? It's all very exciting.

But what will I do with this new-found knowledge? I worked my way through Computer Organization and Design while I was at Sun, and found it fascinating. I never got very far into Computer Architecture: A Quantitative Approach, but I'd like to. Either way, I'd like to use my EE skillz to build some of the circuits described in those books. Eventually, I'd like to build a processor. Even if it doesn't have a head (though that would be nice), being able to telnet or ssh into hardware I designed would be quite cool.

That's the long-term plan. What about the short term?

I just finished reading Playing With Trains, which reawakened my love for model trains. Gigantic layouts just dripping with scenery and detail are great fun, of course, but I've neither the patience nor the artistic eye for the scenery. Instead, I like the complication of the track plan.

What if I could merge model railroading, digital electronics, and software?

I'd like to build a reasonably complicated train layout that is automatically controlled. The idea is this: Start with a figure eight superimposed on an oval. Add two trains. They'll run completely automatically, without human control. Having them run in the same direction is boring. Much more fun if the first train runs on the oval while the second one runs on the figure eight. A commodity microcontroller runs the show. Its job will be to coordinate switch positions and throttle settings to keep the trains doing their thing without colliding. The faster the trains can go, the better.

Here's a really ugly picture of the layout I'd like to build/automate:

Something about the idea of two trains whizzing around that layout without plowing into each other, speeding up and slowing down on their own, switches magically switching themselves ... so awesome.

No comments:

Post a Comment