Measuring Magnetic Fields with a Robotic Arm


Learning how magnets and magnetic fields work is one thing, but actually being able to measure and see a magnetic field is another thing entirely! [Stanley’s] latest project uses a magnetometer attached to a robotic arm with 3 degrees of freedom to measure magnetic fields.

Using servos and aluminium mounting hardware purchased from eBay, [Stanley] build a simple robot arm. He then hooked an HMC5883L magnetometer to the robotic arm. [Stanley] used an Atmega32u4 and the LUFA USB library to interface with this sensor since it has a high data rate. For those of you unfamiliar with LUFA, it is a Lightweight USB Framework for AVRs (formerly known as MyUSB). The results were plotted in MATLAB (Octave is free MATLAB alternative), a very powerful mathematical based scripting language. The plots almost perfectly match the field patterns learned in introductory classes on magnetism. Be sure to watching the robot arm take the measurements in the video after the break, it is very cool!

[Stanley] has graciously provided both the AVR code and the MATLAB script for his project at the end of his write-up. It would be very cool to see what other sensors could be used in this fashion! What other natural phenomena would be interesting to map in three dimensions?

Continue reading “Measuring Magnetic Fields with a Robotic Arm”

24-hour hackathon project adds object-based automation to hackerspace


[Jeremy Blum], [Jason Wright], and [Sam Sinensky] combined forces for twenty-four hours to automate how the entertainment and lighting works at their hackerspace. They commandeered the whiteboard and used an already present webcam as part of their project. You can see the black tokens which can be moved around the blue tape outline to actuate the controls.

MATLAB is fed an image from the webcam which monitors the space. Frames are received once every second and parsed for changes in the tokens. There are small black squares which either skip to the next track of music or affect pause/play. Simply move them off of their designated spot and the image processing does the rest. This goes for the volume slider as well. We think the huge token for the lights is to ensure that the camera can sense a change in a darkened room.

If image processing isn’t your thing you can still control your audio entertainment with a frickin’ laser.

Continue reading “24-hour hackathon project adds object-based automation to hackerspace”

Tweaking designs for [Theo Jansen] walking machines


We love the look, and most especially the gait, of [Theo Jansen’s] walker designs. We don’t fully understand them or the math behind them. But that could change if we spend enough time studying [Aaron Birenboim’s] body of work. He wants to incorporate the legs in a project so he’s been trying to optimize the Jansen leg design.

The calculations are delivered in a source code package available from his site. To make heads or trails out of the numbers you need a way to visualize them. He has provided that as well in the form of a MATLAB script which shows leg piece design and can even spit out an animated .gif file of the virtual legs in motion.

If you have no idea what we’re talking about make sure to check out [Jansen’s] original creations. We’re also excited to read more about the Klann and Ghassaei linkage designs which [Aaron] talks about in his post.

Virtual chess uses glove controllers


Check out the game of chess going on above. It’s a virtual game where each player uses a glove as the controller. Or course the game board and pieces are missing from this image. They’re displayed on a computer monitor which both players can see.

The hardware rather simple, and we think it would be a great project to challenge your microcontroller skills. Each glove has an accelerometer attached to it, as well as a ring of copper foil on the pointer finger and thumb. One ATmega1284 monitors both gloves. The accelerometer data is used to move the mouse cursor on the screen, while the contacts are used to grip or release a playing piece. The game board and pieces are displayed using MATLAB with controller commands fed to it via a USB connection.

If you’re more into building a mechanized game check out this pair of telepresence chess boards.

Continue reading “Virtual chess uses glove controllers”

3D whiteboard without the whiteboard

This one is so simple, and works so well, we’d call it a hoax if April 1st hadn’t already passed us by. But we’re confident that what [William Myers] and [Guo Jie Chin] came up with exists, and we want one of our own. The project is a method of drawing in 3 dimensions using ultrasonic sensors.

They call it 3D Paint, and that’s fitting since the software interface is much like the original MS Paint. It can show you the movements of the stylus in three axes, but it can also assemble an anaglyph — the kind of 3D that uses those red and blue filter glasses — so that the artists can see the 3D rendering as it is being drawn.

The hardware depends on a trio of sensors and a stylus that are all controlled by an ATmega644. That’s it for hardware (to be fair, there are a few trivial amplifier circuits too), making this an incredibly affordable setup. The real work, and the reason the input is so smooth and accurate, comes in the MATLAB code which does the trilateration. If you like to get elbow deep in the math the article linked above has plenty to interest you. If you’re more of a visual learner just skip down after the break for the demo video.

Continue reading “3D whiteboard without the whiteboard”

Cheap and reliable portable face recognition system


For their senior ECE 4760 project, engineering students [Brian Harding and Cat Jubinski] put together a pretty impressive portable face recognition system called FaceAccess. The system relies on the eigenface method to help distinguish one user from another, a process that the pair carried out using MatLab.

They say that the system only needs to be hooked up to a computer once, during the training period. It is during this period that faces are scanned and processed in MatLab to create the eigenface set, which is then uploaded to the scanner.

Once programmed, the scanner operates independently of the computer, powered by its own ATmega644 micro controller. Users enroll their face by pressing one button on the system, storing their identity as a combination of eigenfaces in the onboard flash chip. Once an individual has been enrolled, a second button can be pressed to gain access to whatever resources the face recognition system is protecting.

The students say that their system is accurate 88% of the time, with zero false positives – that’s pretty impressive considering the system’s portability and cost.

Stick around to see a quick demo video of their FaceAccess system in action.

Continue reading “Cheap and reliable portable face recognition system”

Webcam images processed and played back on LED display

[Mathieu] has bee working to refine the code running on an LED matrix, and added some neat display tricks along the way. He wanted to make the display directly addressable from a computer. The 96×64 bi-color LED display is powered by an Atmel FPSLIC and already used double-buffering. Enabling a PC to write directly to one of the buffers was not too hard, requiring just a bit of optimization to get the timing right. From the look of the video after the break, he nailed it.

The video feed is generated from a webcam stream using Matlab to process each image. Just 50 lines of code captures a frame, sizes it appropriately, converts the result to black and white for edge detection, then finishes the job by compressing image data for transmission to the embedded processor. We’d like to say it’s easier that it sounds but we’re pretty impressed with this work. The display manages about 42 Hz with the current setup.

Continue reading “Webcam images processed and played back on LED display”