My desktop computer setup has no volume buttons whatsoever. This is a real problem that needs to be solved. But often things don’t get done without deadlines. I only have two hours til a respectable bed time. To make this more fun, I will write updates as they happen without post-editing. Let’s get started:

Research

X:33 – I have a nice potentiometer from Sparkfun that should work well. That with an Arduino would be a nice MVP. Software?

X:42 – NirCmd is a good starting point

X:45 – Looks like pulling data in from the Arduino over a COM port and reading it in a Batch script will work. That’s good enough for me.

Decide

X:49 – Analog pin on an Arduino will read voltage across a potentiometer. Arduino will scale that level up to whatever NirCmd likes to see, then constantly send out that level. A Batch script will run on my PC watching that COM port for a change in the value. When it reads a new value it will set the audio level appropriately

Do

Y:14 – Resistor Divider and Arduino analog input values I should expect to see. Resistor Divideer

 

Y:29 – Lost my friendly book of common resistor values. A minor panic ensued. Fortunately my junk bin had plenty of resistors. Hardware is ready to go.

Arduino and Potentiometer

Y:45 – Arduino code done

2-Hours Up!

Z:38 – Well, I didn’t make the 2-hour deadline. The last hour was spent unsuccessfully fumbling around a Batch script trying to read my COM port. I’m going to check out powershell and give myself some extra time.

1st Overtime

A:05 – PowerShell made it no problem. I now have a working butter-smooth volume knob! Yes it is ugly, but the only criteria was functionality. Plus, I might need another 2-hour project sometime soon.

 

2015.06.29 PowerShell

 

My original plan worked out pretty well, with the exception of trying to read a COM port in a Batch script. This was a pretty straightforward and forgiving project to attempt in 2 hours. But it is exactly the kind of project that wouldn’t get done without this kind of push.

Project files available on Wevolver:

After the initial prototype of the Neopixel juggling was well received by the few jugglers I know, it was time for a custom PCB. As usual I tried adding more features than I needed (I need pads for an accelerometer, you know, to future proof it) and forgot some critical components (e.g. the actual Neopixels, an on/off switch, etc.)

The board worked well and I quickly had a much more compact version of the rats nest that was the initial prototype. Once I design a mounting plate for this everything should be ready to go for the first run of real, working reactive juggling balls.

WP_20150104_11_52_33_Pro

Initial prototype rats nest using Adafruit’s perma-proto breadboard

Custom PCB much cleaner than breadboarding

Custom PCB much cleaner than breadboarding

It was apparent from the get go that these things were going to get dropped. The first few drops on carpet were no big deal, but wood floors and concrete were a different story. The balls never broke, but they made stomach-wrenching cracking sort of sound that did not inspire much confidence. I conducted some drop test experiments with 3 balls printed months apart to find out how durable these things were. I chose heights of 8′ and 13′ since most people juggle with an apex above their head, and 13′ was as high as I could reasonably test. If you’re juggling higher than 13′ you’re on your own for now.

One ball failed (cracked apart at the interface of the threaded and non-threaded section) after 3 drops at 8′. The remaining balls held together through 5 drops at 8′ and 5 drops at 13′. One of these did pop open after a 13′ drop, but it was screwed back together and survived 5 additional drops at 13′.

Overall I’m pleased with the results. The threads are clearly the weakest point as we should probably expect. If I design a PCB mounting plate that can wedge against the middle (the threaded part of the ball) then it should provide some additional support that may improve durability.

Stay tuned to find out if I’m able to ward off feature creep and actually ship this thing.

IMG_6472

This year there have been a few attempts at connecting your smartphone to your Arduino. (see Amarino, Adafruit’s BlueFruit UART) Thanks to the MakerHive I recently had a chance to play with the 1Sheeld and come up with a demo project for it.

 

The 1Sheeld is a board that plugs into an Arduino Uno (thus the misspelling of “shield”) and redirects the UART to Bluetooth so it can send/receive information to/from a smartphone. The PCB is a bit expensive at over $50, but it’s a complete solution that is really simple to program. It is seriously easier than the already-simple Arduino it rides on.

Once the 1Sheeld PCB is plugged into the Arduino and powered up it can communicate with the 1Sheeld app on a smartphone. Once connected, the app let’s you select from a number of “virtual shields.” Check out the list of possibilities. http://1sheeld.com/shields/

As a demo project, I made a talking HAL button for the MakerHive. The bot is supposed to greet visitors when the arrive and say good-bye when they left. It will also take a picture of the person and tweet it (the twitter feed will of course be chrome-casted to the TV in the Hive.) Check out the code and video below as well as the Hackster.io page for this.

 

After putting a piezo-neopixel circuit inside drums, juggling balls seemed like a natural next step. With 3D printed juggling balls and some electronics from Adafruit (most notably the 5V Trinket and more Neopixels) the circuit was soldered up and smashed into a translucent plastic ball.

I used “transparent” ABS plastic from Hatchbox to print off a model juggling ball that screws together. After some basic acetone vapor smoothing the end result was decent. There is a lot more that will be done with this in the future, securing the electronics inside the ball, replacing the piezo with an accelerometer, making a custom PCB etc.. But for a proof-of-concept its functional and fun.

3D Model: http://www.thingiverse.com/thing:290450

Transparent ABS Plastic: http://www.amazon.com/HATCHBOX-Transparent-3D-Printer-Filament/dp/B00M0CS3B4/ref=pd_sim_indust_12?ie=UTF8&refRID=07FJ58K41EX2NENE01WF

Much more polished version by someone else: http://jonathanjamieson.com/2014/04/25/smart-balls/

See it in action

See the insides!

How do you know it's a mail plane?

Assembled Parts

It's a bit cramped

It’s a bit cramped

The unfurled electronics.

The unfurled electronics.

In hindsight some thruhole neopixels and stranded wire would have done wonders, but the end result would still be a reactive juggling ball. On to rev 2!

Adafruits NeoPixels are awesome, the Arduino of LEDs. There are a couple tutorials on sound reactive LEDs with the NeoPixels, including one on Adafruit about making a drum set light up when you hit it. The video makes it look like it works, but look carefully and you’ll see other drums lighting up when a different drum is being played. That’s because they’re using microphones which are way too sensitive for a intra-drum set environment. To eliminate the cross talk, replace the mic with a piezo element and read the voltage spikes generated by force of the drum hits.

 

See it real life!

 See it in schematic!

(coming soon)

See it in code!

 

If there are two things people really love, it’s VU meters and Nixie tubes. (evidence here and here). This guy had already figured out a decent circuit for this, but it used a now-obsolete THAT2252 chip for the RMS measurement. The best replacement I could find for this chip was using part of the THAT4301. With a few tweaks and lots of help from THAT app notes and tech support (most helpful tech support I’ve ever encountered, no joke) the replacement was made that supported two outputs for a stereo audio signal. The PCB was fabricated and lots of 0805 components soldered on. Once both 12V power supplies were plugged in the nixie tubes were up and VU metering! Perhaps even more exciting was a first-rev PCB of this complexity working with no prior testing or prototyping, just a lot of datasheets taking up my mental RAM.

I have to admit I thought everyone’s nostalgia for Nixie tubes was a bit silly at first, but seeing these things in action I’m definitely tempted to put these in more projects.

Good things come in threes

Good things come in threes, and in purple

See it in action:

My first notable project on the RaspberryPi involved the Pi version of Minecrat and the wonderful Pandora-in-your-terminal app Pianobar. I thought it would be useful  fun to create a remote control in Minecraft that would work with Pianobar. I settled upon creating a ‘trigger’ block that could be right-clicked to bring up this menu of blocks. In the video below, the trigger block is sand. The block menu that pops up is updated with the current state of pianobar, so when I pause a song, the block turns from green to red. When I hit ‘next’, the next song starts playing and the first block turns back to green. I enjoyed myself quite a bit on this one.

 

and then for good measure I output the song title and artist to sky-writing in the Minecraft world. Enjoy

Disclaimer: I have not tested this code since the video was taken in February of 2013. The fundamentals are still good, but I doubt it still works out of the box.

https://github.com/MichaelSizemore/mcpi