We don’t have much personal experience with DOF hardware, but this Arduino library which reads and compensates for three-axis magnetometer and accelerometer data looks very impressive. It should work for existing hardware, but there’s also a demo design using a Honeywell HMC5883L compass and a Freescale MMA8453Q accelerometer which you can build yourself. Unfortunately these come in QFN packages (like most cheap accelerometers these days) so you may need to be creative when soldering.
What’s so special about this library? Watch the video after the break (use 720p in fullscreen to get the full effect) and you’ll see three different scatter plots of the output data. The image above is a capture of the third example, which is using the hard iron offset and accelerometer compensation. That is to say, metal on and around the board is accounted for, as well as the physical orientation of the device. Even if you have no prior experience with this type of hardware it’s easy to see the usefulness of this kind of software compensation.
Continue reading “Advanced compass/accelerometer library for Arduino”
[Quinn Dunki] just reported in on the latest iteration in her computer project which is called Veronica. This time she added RAM to increase the VGA performance of her build. Like just about every other part of the project, [Quinn] knew what she wanted to do, but had to overcome a lot of issues along the way.
The goal is to implement a 256×240 display with 8-bit color depth. [Quinn] says this is on par with game console technology from the 1980’s. The problem is that the 10MHz AVR controller can’t really keep up with the scan rate of this size of display. The answer is to add RAM which stores all of the color data, the microcontroller will simply advance the address pointer on the memory chips to match the sync rate of the VGA output.
After hooking up her hardware design she gets a screen full of uninitialized pixel data. But moving from there to the final product seen above was quite frustrating. It turns out that noise on the breadboard was most of the problem, further compounded by entire breadboard row which wasn’t contacting the wires to make the temporary connections. A bit of jockeying for position and by Jove, she’s got a boot screen.
That breadboard sure has become crowded since her first VGA experiments.
This Lego watercraft uses drinking bottles as pontoons arranged in a pattern that make it look very much like a Water Strider, the insects that dance on the surface of a lake.
After the break you can see a video of the rig gracefully navigating a local pond, along with a raft of ducks. It’s quiet enough not to startle them, which is nice. We don’t get a good look at the propulsion system, but [Vimal Patel] calls the floats “hockey bottles” in his Flickr comments. They appear to be Lego themed and we’re wondering if they are some type of packaging for a small set that doubles as a sports drinking bottle once the pieces are removed? The rig includes a camera which provides a great persepcive very near the water level.
This isn’t his only floating creation. He’s got a second rig that was used to film some of the footage of this one.
Continue reading “Water Strider robot does it with Lego parts”
So a man walks into a Radio Shack and the clerk says “Why the long face?”. No, that’s not it. [Ms3fgx] walks into a Radio Shack and says “holy crap, that PS3 IR dongle is only two bucks”. He’s been looking for an IR remote receiver to use with a Linux machine and decided to bend this PS3 dongle to his will. It’s a lot less expensive that the parts to build the simplest IR receivers like this FTDI cable version, or a microcontroller based receiver.
He plugged it in and was delighted to find that it enumerates. The kernel has PlayStation 3 controller support built-in and has no problem picking up this device. When he uses ‘cat’ to display the incoming data all he gets is repetitive garbage. This is because the dongle only supports Sony remote control codes. But after a bit of universal remote setup, he’s got unique commands for each button. The last piece of the puzzle is to map the controller commands to keyboard keys. This is done with the QJoyPad package, but there are a myriad of ways to remap these buttons so go with what you know.
Maybe it was a language barrier he ran into, or possibly an inclination to do things the hard and smart way, but we really like [Alessio]’s take on building the display for his word clock. Instead of relying on a pre-designed word layout, he made his own word pattern with a genetic algorithm.
While looking at other word clock builds on the Internet, [Alessio] noticed all the DIY copies used the same pattern of letters as the original QLOCKTWO word clock. There are obvious reasons for this, laziness chief among them, but [Alessio] decided to do one better. Armed with JGAP, he made a 10×10 German language word clock and a 11×11 English language word clock.
[Alessio]’s algorithm takes a list of regular expressions – ‘five past four’ and ‘four five’ are both valid expressions for 4:05 – and combines solutions together for a hopefully optimal solution. One added bonus of [Alessio]’s method is the ability to generate non-square word clocks. On his project page, [Alessio] put up examples for round, triangular, and diamond-shaped word clocks.
[Alessio] ended up building a 10×10 square German language word clock with an Arduino Nano, DS1307 real-time clock, RGB LEDs, and a few shift registers. Very nice work for a custom-designed word clock.
It’s surprising what lengths people will go to in order to bring functionality to their smart phones. In this case, [Tadpol] wanted a way to develop for his Arduino on an iOS device like an iPad or iPhone. He figures it’s possible to rewrite the IDE as HTML5, but since that’s a pretty large mountain to climb, he started by building a browser-based AVR compiler. It’s an interesting concept, and he’s got a working prototype up on Github for you to test. Perhaps you can throw your hat in the ring and help him with development?
The web interface uses boxes to add to the code. What you see above is three sets of commands which will blink an LED. The project, named Avrian Jump, uses a simple ladder language to feed the compiler, with several different options for output. The most interesting in our mind is a WAV file which can be used to program an AVR from the audio out of your device. That would make programming as simple as connecting the specially modified AVR to your headphone jack. There’s also an ASCII output which allows you to save your programs for later alteration, S19 output for AVRdude programming, and an assembler output for debugging purposes. It’s hard to see where this project might go, but we have to admit that the concept is intriguing.
[Gary] sent a few pictures of his latest project our way via Flickr, which we thought a few of you CNC owners might be interested in. He has been working with his CNC machine a lot lately and decided it was about time he built a touch probe for his rig.
His initial goal was to use the touch probe to ensure his CNC table was perfectly level, but we’re thinking it will be helpful for a lot of different projects in the future. [Gary] says he was really looking to put together a proof of concept device, but that things worked out so well he had to share.
His probe seems to work very well, even without the fit and finish of others we’ve seen in the past. The body of the probe itself was built using several layers of quarter inch plywood, housing three sets of two screws. The screws are wired together in order to form a closed circuit when the brass probe is inserted. When the probe makes contact with a solid object, the circuit is broken, and the coordinates of the probe’s head are recorded.
Though [Gary] admits that he was not super careful when it came to building the probe, we think the results speak for themselves. For a first iteration its scanning abilities are pretty impressive – we can’t wait to see version 2.