(Part One is not going to have anything exciting and technical in it. If you’re a geek, and let’s be honest, why would you be here if not, skip to Part Two).
So I live in a house with a Hamster. Syrian hamsters are pretty great, as pets go: they are fairly tidy*, fairly quiet*, don’t need taking for walks* and don’t poo on the carpets*. The thing about them is, though, that they are active. During the day they are just fat little lazy potato-shaped furballs, but come evening, like gremlins, the start scurrying, chewing and running about like hopped-up little crazies. The question is – how far does our hamster run? Is she an athlete, or a lazy good-for-nothing? Read on to see how I plan to find out…
(*most of the time)
Now, about the running. They love it. Really. Ours has a little wheel (well two actually), and once she’s in it, she runs and runs and runs. I’ve seen it written (on the internet, so it must be true) that in one night they can run up to 9km. Rats might run 43km in 24 hours.
The questions I really have are:
- How far does our hamster run in a night?
- For how long does she run for every night?
- How fast does she run?
- What is her maximum speed?
The answer to my intrigue lies in the formidable Arduino. To directly quote their website:
Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It’s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.
Basically, you hook up any switches, lights, sensors or other electronics as required to the various input and output pins on the Arduino, and then program it using a simple IDE. Upload your code to the board using a USB cable, and off you go!
The key thing to know about the Uno is that it has a bunch of pins that you can attach things to, either for input (buttons, switches, sensors, etc) or output (some LEDs perhaps). Programming is done in C++, in a simple little editor which uploads using a USB cable. The Arduino IDE has a bunch of nice touches that means you can do simple things like “digitalRead(PIN)” to get a reading, instead of weird esoteric operations with registers.