3D Magnetometer mouse in processing

FFB4SV5G0SD7J7G_MEDIUM

[etgalim] works in Solidworks extensively and wanted a more intuitive way of rotating objects onscreen. To do this, he created a mouse that responds to rotation. He put a 3D compass module inside an old mouse and wired it up to an Arduino. The Arduino then relays the I2C sensor data to the computer. So far, he has a Processing script that uses the mouse to rotate a cube, but eventually he wants to write a Solidworks plugin. It’s a bit shaky, and we think it would be a bit smoother (and cheaper) if he used gyros like the jedipad. Video after the jump.

Continue reading “3D Magnetometer mouse in processing”

Barcode scanner in Processing

barcode_sc

Reader [Nikolaus] decided that instead of using an existing image based bar code decoder, he would write his own. Using the Processing language he created a scanner that parsed the black and white pattern when a bar code was centered on the image. His code then parsed that data and compared it with the initializing character to provide a reference. Currently his scanner supports three character sets of the Code 128 encoding, and provided his complete code so that others could add as they see fit. He admits that the code is a bit messy due to the lengthy character tables, but very straight forward.

Remote image processing in JavaScript

[Tom] wrote in to tell us about his JavaScript project for motion detection. It ties together two ideas we’ve talked about recently. The first is doing image processing in-browser using Canvas(), which we’ve seen employed in captcha breaking. The second is offloading heavy processing to browsers, which we saw recently in the MapReduce implementation. [Tom] is using JavaScript to compare consecutive images to determine if there’s any motion. He did this as part of MJPG-Streamer, a program for streaming images from webcams. It can run on very limited hardware, but image processing can be very intensive. Doing the image processing in-browser makes up for this limitation and means that a custom client program doesn’t have to be written. You can find the code here and a PDF about the proof of concept.

Laughing Man in Processing

laughing_man

The Laughing Man is the antagonist from the anime series Ghost in the Shell: Stand Alone Complex. During each of his public appearances in the series he manages to hack all video feeds/cyborg eyes in the vicinity to obscure his face with the logo above.

[Ben Kurtz] had been watching the series recently and realized he could put together a similar effect using Processing. The interesting bit, and what makes this more fun than a simple demo, is that he’s using the OpenCV library. OpenCV is a open source computer vision library. [Ben] uses it to handle the facial recognition in Processing and then apply the image.

It’s only 100 lines and we wonder what other fun tricks could be employed. Here’s a Hack a Day skull you can swap in for the logo.

[thanks dakami]

Processing 1.0

Processing, the open source programming language designed for artists and other creative types, finally went 1.0. Processing inspired numerous outpourings of creativity and beauty, from interactive art installations to sound sculptures. Improvements to Processing include OpenGL anti-aliasing, an extensible Tools menu, and the XML library included by default. You can read up on the changes or download Processing and start playing with it yourself.

[via Create Digital Motion]

Wiimote head tracking in Processing


[Manuel] has been playing around with [Johnny Lee]’s Wiimote head tracking code. He’s posted a preliminary port outlining the code in the Processing environment. It relies on darwiinremoteOSC so you won’t see this outside of OSX, but it should help you out if you’re trying to do this is in Processing on another platform.

[via Create Digital Motion]

[photo: nicolasnova]

Direct Digital Synthesis (DDS) Explained by [Bil Herd]

One of the acronyms you may hear thrown around is DDS which stands for Direct Digital Synthesis. DDS can be as simple as taking a digital value — a collection of ones and zeroes — and processing it through a Digital to Analog Converter (DAC) circuit. For example, if the digital source is the output of a counter that counts up to a maximum value and resets then the output of the DAC would be a ramp (analog signal) that increases in voltage until it resets back to its starting voltage.

This concept can be very useful for creating signals for use in a project or as a poor-man’s version of a signal or function generator. With this in mind I set out here to demonstrate some basic waveforms using programmable logic for flexibility, and a small collection of resistors to act as a cheap DAC. In the end I will also demonstrate an off-the-shelf and inexpensive DDS chip that can be used with any of the popular micro-controller boards available that support SPI serial communication.

All of the topics covered in the video are also discussed further after the break.

Continue reading “Direct Digital Synthesis (DDS) Explained by [Bil Herd]”