Let my inputs go!
The Gadgeteer system is great; there are loads of modules that you can easily use to do a range of interesting things. There’s a ‘but’ coming here, of course, and it is this: there’s no obvious way of connecting things which are not already Gadgeteer modules. For example, suppose you want to put a switch on your fridge door, so that you can trigger a Gadgeteer camera to take a picture of the person who is surreptitiously drinking all your milk. Or maybe you want to connect multiple switches, perhaps to determine the ammunition remaining in your USB missile launcher. The Gadgeteer buttons are not really suited to the task. Even if you can physically fit them where you want them, and you’ve got long enough cables, each module only has one switch on it. There’s a solution to this, and that’s what this post will start to cover – adding your own devices to the Gadgeteer system.
…is completely impractical.
In my last post, I briefly described a simple hack which allowed the Gadgeteer system to control the bearing and azimuth of an old USB missile launcher by using a joystick. Manual control like this is all very well, but it would be much more entertaining if the systems could track a target automatically before raining down atomic retribution on it. I use the words ‘would be’ advisedly, because as we shall see this is fairly impractical with the Gadgeteer kit I have to hand. Even so, there’s a lot to be learned from the process of trying.
Or possibly sponge-tipped minor annoyance
In this post, I’m going to show you a little bit of interfacing the Gadgeteer system with the real world. I’m going to do this by hacking an old USB-controlled rocket launcher which I picked up (from Marks and Spencer of all places) some years ago.
Oh, and ‘orange’ sounds like ‘gullible’ if you say it slowly…
In this post, I am not going to show you how to do HDTV on a Gadgeteer system. I am, however, going to do some stuff with the Sytech LCD touch panel, and show you how to do some simple (and rather rubbish, if truth be told) user interface interactions for your Gadgeteer projects.
Or lights, at least
In this post, I’m going to do a walkthrough of creating a very simple Gadgeteer prototype. It will not do a great deal, other than make some lights change when a button is pressed, but it will serve as an introduction to illustrate the Gadgeteer development process.
First, get a telegraph pole…
When I was a kid, I had a book called something like ‘Four thousand projects for inquisitive young minds’. Amongst the ideas for healthy, practical things to amuse children who should know better was a project called ‘Make your own totem pole’ (if you don’t know what a totem pole is, wikipedia will help). Anyway, the instructions began with something like ‘First, get an old telegraph pole…’, at which point the project became rather more difficult than a ten year old child could manage. And that’s before the talk of axes and chainsaws. The point of this rambling is that before you can start playing with the Gadgeteer hardware, there is some software you need to download and install. Rest assured that it’s easier to acquire and set up than a telegraph pole.
Being by way of an introduction.
For many years, I’ve amused myself by building electronic devices. By far the most entertaining for me have been those which interact with the real world. I like stuff which moves things, senses things and generally behaves as if it had some magic in it. Since the advent of cheap microcontrollers, most of these projects have involved more programming and less electronics. I’ve had a lot of fun with PIC processors, which are dirt cheap. I particularly love the PICAXE, which is a pre-programmed PIC for which you can write code in a language similar to BASIC rather than diving into assembler. My other favourite is the Propeller. It’s an amazing chip with 8 cores, programmable in a higher-level language called SPIN. I’ve also dabbled with various embedded processors from Texas Instruments (if you like gadgets, check out the eZ430 chronos) and STMicroelectronics (try the unbelievably cheap STM8S-Discovery kit). There is also Arduino , of course (I’m glossing over that, because I’ve never actually used one).
All of these are capable devices in their own niches, and if you program them down to assembly language level, you can get quite a lot of performance out of them. I don’t want to program in assembler very much. It’s painful. Fortunately, there are other options.