LED clock
November 28, 2013 at 10:44 PM | categories: making, 3d printing, projects
Another project nearing comple^h^h^h good enough to hang on a wall:
A LED-based clock, with light as hands.
It all started out when I found the awesome NeoPixel line of products from Adafruit, one of the more interesting ones being the 60-LED strip.
I picked one up (because you know, because), and the best thing to use it for for now was a clock. I had an ATTiny AVR lying around, and wanted to make something to replace my pretty boring standard clock.
Luckily I had a 3d printer to print a clock case at exactly the right size, so I 'only' had to make something to set the time, show it, and if possible, adjust colors etc.
Of course it wasn't as simple as that. For starters, the led strip didn't work out of the box. When supplied with some power, it would light up randomly for a fraction of a second, then go dark again. My first guess was that it didn't get enough power (a full 60 LED with controllers for each led can take a bit of power that may not be supplied fully by a small chip such as an ATTiny), but as it turns out, it simply came with wires soldered on the wrong side of the strip.
Luckily it's not that hard to resolder with the right connections, so once I had discovered that, lighting up the right LEDs was quite simple. Except for one, the last one on the strip. But 59 out of 60 is good enough for now.
It turned out to be more of a challenge to actually show the time with only one AVR that doesn't have a very accurate internal oscillator, and worse, one that can easily run out of program stack space and start behaving eratically.
After some measurements, tweaking, and rewriting, it still doesn't serve as a clock very well; it runs fine for about 24 hours, but then it goes haywire and needs a reset.
But it does look mighty fine. It can show the time in different colors, and the second hand is completely optional.
Plans for v2 are in the works. Starting with an RTC, and I'm thinking about adding a light sensor to automatically adjust its brightness.
But first I need to figure out where to hide the electronics then. I guess I really do need to figure out how to make custom form PCBs at some point.
Philips Hue rf remote control
October 01, 2013 at 11:47 PM | categories: making, 3d printing, projects
The Philips Hue lights are awesome, but it can get a bit tiresome to start that phone app, probably wait for the wifi to connect, and then select your scenario.
TBH, the app serves pretty wel to configure scenarios, but I am not a really big fan of its interface.
I want buttons! Actual, physical buttons.
I also wanted to do something with RF anyway to see how it works.
Combine those to, and you get a remote for your Hues!
The receiving end it currently still just a breadboard and an Arduino, plugged into a computer running a python control script, but version 1 of the remote is finished.
As you can maybe see, it has 5 buttons, for 5 scenarios (one being 'off'), and one slider to set the brightness.
Here's the 'normal' scenario, and dimmed:
And for those emergencies, all lights set to red:
I may post a larger build report later, with more details (and perhaps some code), but for now I'll leave you with some keywords; ATTiny84, Cosa libraries, lots of wires (I really need to figure out how to make custom pcbs), and the case was printed on an Ultimaker.
On to v2 ;)
Dodecahedron speaker
July 05, 2013 at 09:32 PM | categories: making, 3d printing, projects
This project has been finished (well, finished-ish, as always) for quite a while now, but I just realized I never got around to writing it up. In fact, I already extended it, but that's something for a different post.
Way, way before I even had a printer I saw this Instructable. And immediately fell in love with it. It had never left my mind as a want-to-build-at-some point thing, and some time ago I finally got around to doing it.
But of course mine is completely different ;)
For starters, I did not want 'just' a speaker, I wanted one that had an integrated amplifier, much like those computer speakers you see everywhere. I wanted it to have a standard jackplug so it could play from most devices, and I wanted it to have physical power and volume buttons.
After doing some (well, hours of) online browsing for parts, I settled on a parts list, with which I shall not bore you, and got to designing the shell parts. As my parts would have different dimensions and properties than the ones used in the Instructable, I had to design everything myself. Which of course is 90% of the fun. Even with the countless failed attempts.
(Okay I lie, only some initial designs were made at this point, somewhere along the line I changed them completely but I don't have screenshots of the earlier attempts. Also the button came after everything was done and built. But hey, what's a little temporal randomization among friends.)
The parts arrived and it was time to do some serious soldering, first the speaker parts.
And once that was done, I could test the amplifier and all components.
(this actually has music coming out of it but that's a bit hard to capture in an image)
Satisfied that it was working, I could assemble the main dodecahedron part:
And then it was time to make the big print, solder everything else together and shout and curse it all into one big shiny package:
It is awesome, if I say so myself, even though I did make a number of mistakes:
- I 'forgot' to ground it (so depending on what is connected, it can have background static)
- I only included simple speaker parts and forgot to add ones that are suitable for low sound waves, so it's not really suitable for loud music with a lot of bass (but yes, it can be VERY loud).
- I did not include a shiny "i'm on" led.
- The dial has no numbers, so it does not go to 11.
But hey damnit, I have built my own dodecaspeaker!
Das BlinkenSphere
March 30, 2013 at 05:08 PM | categories: making, 3d printing, projects, arduino
zo relaxen und watschen das blinkensphere
My latest weekend project was to find a use for an Arduino that (due to some recent electromechanical fail on my part) could only be powered over USB.
After a few false starts, and with a lot of ideas left to implement, the first prototype is ready:
Das BlinkenSphere
It's a little sphere-like object that now sits quietly on my desk and emits a soothing color-of-choice.
By default, it's blue, because, you know, everything must be blue these days.
But of course, just having some colored light isn't any fun, or any use, so it's controlled by my computer; It has a direct client to set it to any (rgb) color, but the most direct use is the 'bs_run' command; any command prepended with 'bs_run' will make it orange for the duration of the command, and either red or green when the command finishes (respectively when it succeeds or fails).
So now I can let those long compilations or test runs do their thing, and no longer have to regularly check if they are done; the light will inform me.
Cast your light upon us, for the code is dark and full of errors
I also built in support for light sequences and transitions, but still need to write client control code for that (and find any use for it).
Now I need to find something to compile.
Custom restrictor plates for arcade joysticks
February 19, 2013 at 11:38 PM | categories: making, 3d printing, arcade cabinet
The joysticks I got for my arcade cabinet (http://www.arcadewinkel.nl/joysticks/balltop-arcadefighter-stick-rood) were fine, but I wasn't entirely happy with the restrictor plates that came with it. They worked fine in 4-way mode, but the 8-way mode was simply a square and that doesn't work nicely in most circumstances.
So I was looking around for replacement plates (preferably ones with octagons or maybe even smarter restriction holes), but couldn't really find any. And then I realized I have an f'in 3d-printer.
So I took out one of the existing plates, measured it, and fired up openscad to create new ones.
If you want to build it or see more pictures, you can get it at thingiverse
I'm starting to worry, I may run out of things to tweak on my cabinet soonish. Then what will I do with it.
Next Page ยป