To be honest, we’ve heard of dithering but that’s the extent of our knowledge on the topic. After looking through [Windell’s] post about using Dithering in Processing we can now say we’ve got a base of knowledge on the topic.
Dithering is used to produce an image out of two colors that our eyes can put together into something meaningful. The history of the algorithms goes back to monochrome displays. But now the hobby electronics we work with for fun have comparable computing power and perhaps it’s time to rediscover these techniques. [Windell’s] project implements the Atkinson dithering algorithm in real-time on your webcam. He’s doing this in Processing, which should make it pretty easy to port for your own purposes.
So why might you want to use dithering in your own projects? Because if it can be used to make very cool milled artwork there must be other undiscovered uses lurking around your workshop.
Even with the added hardware that lamp still looks relatively normal. But its behavior is more than remarkable. The lamp interacts with people in an incredibly lifelike way. This is of course inspired by the lamp from Pixar’s Luxo Jr. short film. But there’s a little bit of most useless machine added just for fun. If you try to shut it off the lamp shade is used to flip that switch on the base back on.
[Shanshan Zhou], [Adam Ben-Dror], and [Joss Doggett] developed the little robot as a class project at the Victoria University of Wellington. It uses six servo motors driven by an Arduino to give the inanimate object the ability to move as if it’s alive. There is no light in the lamp as the bulb has been replaced by a webcam. The image is monitored using OpenCV to include face tracking as one of the behaviors. All of the animations are procedural, making use of Processing to convey movement instructions to the Arduino board.
Do not miss seeing the video embedded after the break.
Continue reading “Pixar-style lamp project is a huge animatronics win”
[Anilm3] wrote in to share the IMU tutorial series he is working on. An Inertial Measurement Unit is most often found in self-balancing robots and quadcopters, providing enough high-speed sensor data to keep up with the effects of gravity. He previously used some all-in-one IMU devices in school which did most of the work for him. But he wanted to grind down and look at what each sensor spits out and how those measurements are used. The first installment deals with the accelerometer, using its data to calculate pitch and roll. For these demonstrations [Anilm3] is using this ADXL345 sensor board, an Arduino, and some processing sketches for testing.
Whenever working with sensors you need to take noise into consideration. The post shows how to implement a low-pass filter in the code which will help smooth out the readings. The filtered data is then fed to a couple of mostly-painless formulas which calculate the movement of the accelerometer in degrees. The demonstration sketch is mapped to a 3D cube to give you an idea of how accurate the accelerometer is. There’s a little bit of lag which would let a self-balancing robot have a nasty fall. The solution to this issue will be discussed in upcoming parts of the series. The next installment tackles the gyroscope sensor.
Continue reading “Tutorial explains the concepts behind an IMU”
[Dearmash] put together this RGB LED display using triangles for each pixel. It’s an interesting deviation from the traditional grid layout. There are two video demos after the break. The first is a plasma-style pattern generated in Processing. The second is a spinning color wheel which would be perfect if synchronized with your Photoshop color spinner.
So the physical build is done, and now [Dearmash] is looking for a purpose for the device (isn’t that always the way it happens?). He mentions that the triangular layout looks cool, but makes text display almost impossible. Does anyone have any ideas on how to make this work? Right off the bat we could see side-scrolling a font similar to the Metallica logo’s M and A. Bu there must be some way to group these pixels together into readable characters. If you always use an upward and downward pointed triangle on the same row as a pixel it makes a parallelogram which would be used to display italicization characters.
Continue reading “Triangle-grid LED display”
This is the senior design project for a group at the University of Vermont. It’s a wet, bubbly, blinky, interactive thing. Each column is a clear tube filled with water, with a string of fully addressable RGB LEDs suspended in the center. In idle mode, the lights scroll through a series of interesting patterns while the water is filled with bubbles to add some depth to the presentation. There is also a VU meter function, as seen here and during the Portal theme song that ends the video demo after the break.
A Teensy++ board is used to address the display. It’s set up to receive serial commands from a Processing script which is responsible for generating the animations. At the top of the frame you can see there’s a Kinect sensor. By standing in the standard post (we think it should be called the Kinect mug shot) the installation will automatically switch over to body control. We could see this thing making its way into a long airplane terminal hallway, following the travelers along their trek from one terminal to the next.
Continue reading “Huge water and light VU meter plus more”
Put on that abstract thinking cap, get out the pen and paper, and spend some time figuring out how this one-bit processor works. [Strawdog] came up with the concept one day during his commute to work (don’t worry, he takes the train… much safer than [Dave Jones’] frightening drive-time podcasts). He sketched it out on paper to make sure he knew where he was going with the project, then collaborated with Legion Labs to implement it in processing as an easier way to visualize its functionality. Since it’s one-bit there’s only room for one instruction. That instruction is a copy, then branch-if instruction. It copies the current bit to one address, and if that bit was one, it branches to a second address.
Going a bit fast for you? We think the description is fairly good, but if you can’t quite put it together from the article’s description, you may want to build this 2-bit paper processor and learn how it works first. It should teach you the basic concepts you need to understand the 1-bit version. As you can see in the image above, there’s also a single-step feature in the processing example that lets you analyze the effects of each instruction during program execution.
In the interests of open communication in shared spaces, [dan] made a public text box that serves as a terminal to the @publictextbox twitter account. We could see something like this being useful in a hackerspace or other hang out to announce to the world the happenings of the resident makers and builders.
The software setup is very simple and can run on just about any old computer you might have lying disused in a corner. The app is built with Processing, and the code is extremely simple and easily modifiable. Even though the case is a lovely cardboard number, the Twitter Box can be dressed up as any imaginable form. We’d love to see a nice TARDIS blue, but we’ll leave that up to [dan].
You can check out the demo of the Twitter phone box after the break. Alternatively, you could re-tweet this post and take part in a load test for the @publictextbox.
Continue reading “@publictextbox is a Twitter enabled phone booth”