Python Mode in Processing

I finally got around to using Python mode for Processing 2.x. I have used pyprocessing for 1.x in the past but the current version is supported by the official IDE. While I am not very good in either, I am more comfortable with Python over Java, Processing’s default language.

I create a few simple “sketches” to get used to the format. After comparison of a few animations in both languages, Python mode was noticeably slower – around 2-3 FPS versus > 15. I worked around this issue by saving each frame as an image and combining them with GIMP to make a .GIF animation. Here are a few sketch outputs – both static and dynamic.

moire_pattern

 

tesselated_triangles

 

 

Niles – the Ball Bearing Glockenspiel

I have been working on a ball bearing glockenspiel. The contraption will be comprised of 3 systems – ball bearing launcher, ball bearing collection and return mechanism, and the instrument itself.

I started with the the launcher. There will be 25-30 notes and a fast and accurate launcher will be needed for each one. My design parameters were to launch 4 bearings a second within a 1/2 inch diameter over a 2 ft. drop. Here’s my first attempt.

2014-12-20 17.50.55

2014-12-20 17.51.03

A pipe feeds ball bearings to a rotating platform with a hole just large enough for one bearing. When it’s ready to drop, the servo rotates the platform by about 30 degrees and the bearing falls out the bottom. The platform then rotates back  to the home position and loads the next ball. The mechanism could definitely deliver the balls quickly but the accuracy just wasn’t there. The balls would hit the side of the hole as they were exiting. On to the next iteration…

3.0

3.0.1

I forgot to take a picture of this one so I am posting the drawings instead. The concept is the same as the previous version, except the slider is linear instead of rotary. I added a longer channel after the initial drop to guide the ball bearings as they fall. But I had the similar accuracy issues.

So, I kept iterating the design to minimize potential disturbances after the ball is launched. And of course, decided to use magnets. The bearing are made out of steel and magnets suspend the ball till a servo controlled “plunger” launches them. This design worked beautifully! I have attached two slow motion videos below. As you can see in the second video, it’s so accurate the balls are literally hitting each other like Robin Hood “splitting an arrow”!

Next, I will work on making this design more compact and also, several ball return mechanisms.

 

 

Rainbow Lamp

A student from a local university reached out to us earlier this year to create a light based object for a class project. I volunteered to help her and after many iterations, we decided to build a diffused RGB Lamp.

The finger-jointed acrylic body was designed using makercase.com and laser cut.

Rainbow_Lamp_Acrylic

I used the addressable RGB LED strip from Adafruit, called Neopixels, to provide the lighting effects.  The LED strip was wrapped around a PVC pipe in a spiral so it could provide light on all four (4) sides. The spiral spacing gets tighter near the top to either to vary the lamp density for a cool effect or I got lazy since this was done at 1AM on a Monday morning – I’ll let you decide.

Rainbow_Lamp_NeoPixel

A Teensy 3.1 controls the strip using the Adafruit Neopixel library. Two (2) sets of three (3) rechargable NiMH batteries were used. At full charge, a bank provided 3.82 Volts. While the micro controller was running happily, the LEDs were noticeably dim. While the vellum paper diffused the lights effectively, the distance to the acrylic was relatively small, so brighter LEDs would have decreased the desired gradient effect anyway.

Rainbow_Lamp_Teensy

We cut the vinyl logo and border using a Silhouette CAMEO. The final design had to be mirrored since it would be adhered to the inside of the acrylic case using transfer paper. The text on the top did not cut very well so we’ll re-cut that bit with more optimized fonts. After seeing the results, I think I’ll create a lamp for myself as well.

paneltest-01

 

Douglas – Update 3

All previous updates can be found here

As I mentioned last week, the project to build a dynamic scuplture using 480 balls is now called Douglas. What does Douglas stand for, you ask? It is Dynamic Objects Under Gravity Linearly Accelerating in Space. It took 2 minutes to define what the acronym means – perhaps we should have taken longer. Yes, in true Milwaukee Makerspace fashion, we found an acronym first, and then found a definition for it. In addition to this huge accomplishment, we made some other progress too!

Chris sent the slave controller boards pictured below to OSHPark for fabrication. Six (6) boards were ordered as a proof of concept. They should be here by the 30th.

 

board

 

I made a bending jig to get more repeatable acrylic motor mounts pictured in the last update. It’s made out of two 1/2 inch pieces of mdf connected together with a hinge. The two adjustable screws determine the bending angle. Currently, they are set for 90 degrees. But bent acrylic usually “snaps back” as it cools, so it will have to be bent more that the desired final angle. Further experimentation will yield that angle and the adjustable screws will serve as stops for the mdf board. In the picture below, you can see parallel pencil lines indicating depth of the bent “arm” of the mount. The acrylic will butt up again a fence to be placed along one of those lines.

 

IMG_0803

IMG_0802

 

One of the goals of this project is to get kids interested in making by actually building parts of installation. This past Thursday, kids actually cut, stripped, and crimped connectors for RJ11 cables! These four (4) conductor “telephone” cables will be used to communicate between the control boards. I hope to have pictures of this awesome event in the next update.