Having recently bought a house, project time has been a bit thin on the ground. As a standard terrace house, the consumer unit and electricity meter were in the entrance hallway, exposed and looking a bit naff. I liked the look of the meter so I quickly created a box that allowed the meter to poke through and leave access to the fuses.
The box covering did the job but felt a bit cumbersome with all that spare space; it needed something else to give it more purpose. An energy meter was the obvious thing but I didn’t want a garish LCD or 7 segment display, it need to match the blown glass electricity meter… …nixie tubes!
My laser cut binary clock, Wooden Bits, originally had no means to set the clock, other than at compile time. I later added a tactile button and ISR to provide this function (increment the time until the correct time is shown) but I wanted a way to tap into the extra features of the DS3231 (alarm, temperature) and also to experiment in wireless control.
Continuing on from my Ambient Noise Level Indicator, I wanted to create an enclosure and make it stand-alone – not requiring a computer to do the processing. I ended up with a little device that converts noise amplitude to the light spectrum: Noise Crayon.
The Ambient Noise Level Indicator used the MCU serial host Processing to perform a FFT and various averaging routines to create an indicator for ambient noise. The idea being that it would change colour when background levels rise above a threshold. Moving to an ATMEGA328, performing this processing – especially the FFT – is asking a little too much of it. There are libraries but I’ve heard of limited successes.
I’ve been meaning to make a binary wall clock for a while and to also try out kerf bending with the laser cutter. What put me off creating kerf bends before I found OpenSCAD, was the manual creation of all the lines in the right places. It’s the kind of repetitive, uniform task computers were made to do.
As part of my work at MACH Acoustics – understanding how internal ambient noise levels affect different environments – I was inspired to create an indicator that shows when noise becomes higher than the base level. Some solutions already exist but they are pricey (because they used calibrated sound level meters), and not very engaging. I wanted something that could sit in a classroom and be a friendly indicator for the teachers and students, bringing the noise back down and perhaps learning something in the process!
The operation is best described by the video below and commented code. I’ve added a handy GUI that allows the user to do a number of things:
View the mic reading, background sample, instantaneous sample, current colour and sample difference.
Change the threshold between colours and benchmark colour.
Set continuous sampling, direct LED/mic feedback
Resample the background
Set the frequency band that is used for the amplitude average – this is useful to demonstrate that it is working and also to ignore low frequency to only show speech for example; screechy children in a classroom!
Its only a prototype concept at the moment. I’d like to design an enclosure that would suit the particular environment, such as a glowing star or dragon for a classroom.
With a cupboard full of old hard drives and some spare time, I recently set about making a persistence of vision clock. Using the platter of a hard disk, a slot is cut to allow backlighting to be emit. When the disk is spinning at 5400rpm+ and backlight constant, the disk appears opaque, as the slit is ‘refreshing’ each point of the revolution faster than our eyes. The trick is to measure the revolution time then flash or change the backlight colour at a fraction of this revolution time at the same point each revolution, in order to create a light segment. For example, flashing the light at a frequency twelve times the disk frequency in phase with the disk will create 12 light segments:
Expanding on this, one can create a light based clock, which takes some getting one’s head around on first sight!
Make the prototype permanent by building a perfboard arduino.
I wanted to keep the standard 5050 controller for general van lighting, controllable by the IR remote. I did this by using another transistor as a switch for the 12v line into the controller. One of the routines in the code then pushes the gate high to turn the controller on.
I always intended on creating my own driver for the LED lights in my van but with the thieving skum pointlessly taking the remote for the included unit, I was spurred into action. Having installed a sound system, a musical light system was a given, to enable the van to live up to the Bang Bus name it has acquired (of certain definition!). Continue reading Musical Rainbows in the Van