This is a continuation of my last post about tinkering with the Raspberry Pi, which you can find here.
I recently purchased an accelerometer along with an "i2c" connector that makes interfacing the accelerometer with the Raspberry Pi easier. To be specific, the accelerometer I bought was a model ADXL345. You may recognize an "accelerometer" as the device that lets your smartphone know which way it’s being tilted or moved. Similarly, the Nintendo Wii famously used an accelerometer in its controller so you can swing it around to bowl or play tennis.
There were a few good tutorials online that helped me get the accelerometer working. I was surprised how easy it was to set up. Plus, on the hardware side, no soldering was needed!
I found a very simple example program online to take a single acceleration reading using python. I expanded on that example, and developed a small python module that can initialize the accelerometer, modify its calibration, and provide acceleration readings whenever requested. I could even get hundreds of readings per second, if necessary.
Out of the box, the accelerometer’s calibration wasn’t great. It provides three acceleration values (think of these as up/down, left/right, and forward/backward). When the accelerometer is at rest (i.e., sitting on my desk), two of those accelerations should be zero and the up/down direction should show earth’s gravitational acceleration (32.2 ft per second squared) in the downward direction. It was off by about 10% in one direction, but that was easy to recalibrate.