Farnell have a pretty nifty new enclosure for Arduinos. It’s a specially-designed, black ABS plastic housing that’s injection moulded and contains bosses to hold the Arduino in place. The location of the bosses means that you can either leave the enclosure “as is” for mounting a standard Arduino or if you wish to secure one of the Arduino Megas, you can to remove a boss with a pair of side cutters or a blade. Or you could simply snap it off.
An Arduino Uno/Mega fits perfectly inside, with extra room for a 9V battery and there’s a little inspection door as well. At first glance, I thought the door would facilitate replacing the battery, but it’s more suited to being able to access the reset switch on either a standard- or a mega- size Arduino. Add to this, the box is large enough to also contain a shield, and best of all, there is a knock-out plate that can accommodate an ethernet shield, too. The bulge this creates on the top of the box is slightly inconvenient, and the housing will not lay flat on that side, but this is a minor issue. The obverse has a sligtly recessed face which could accommodate a decorative label or of course, the necessary radioactive/hazmat warning.
At about £9.00 plus shipping, the price is slightly on the high-side. But considering that it is perfectly suited for its job, and you don’t need to muck about with drilling even a single hole simply to house an Arduino project (as you would with a generic enclosure), it’s pretty much worth the cost. Shoot on over to Farnell to pick one up one of these little guys.
Note: the photo on the website makes it appear to be a semi-transparent enclosure, but this is simply to show that the enclosure can also accommodate an Arduino shield. The housing is solid, opaque black.
I’m very pleased to see the video produced from the amazing delegates and attendees hacking and working at Art.on.Wires 2011 (in Oslo back in May). I made a little cameo appearance teaching an Arduino Workshop!
This weekend, I finished up a prototype sensor for the NetChimes Projects‘s London site. It’s a bit rudimentary, but it’s a first step. The sensor responds to wind currents outside our London flat, using an Arduino to detect when the clapper strikes the sensing ring. These events are rerouted as serial information to a PureData sketch and forwarded to a Shoutcast server. You can listen to the stream by going to the NetChimes Shoutcast server for London and selecting the Listen link in the middle of the page (or click here). You will receive a “playlist” file which can be opened in iTunes, VLC or Internet Explorer (with the right plug in), allowing you to listen to the sample stream from the London site. Note, that if the wind is not blowing, you won’t hear anything, but there is a station ID announcement every 30 minutes, at the top and middle of the hour.
This sensor prototype will be the basis for the full version of the NetChimes london location, using the impressive King David Chimes (from Woodstock Chimes). For now, you can listen in to the live stream or go to the NetChime Project site and listen to the other streams from Tromso North, Tromso South, or Bournemouth. We’ll be bringing on other streams from Oslo at Art.on.Wires, next week.
I’m currently working on the NetChimes project with a group of friends and collaborators in the US and Europe. The result will be an interactive instrument that communicates OSC data live across 4 countries, and which takes local wind currents as inputs into the performance. For the London location (to be sited at Goldsmiths), I’ve been fortunate enough to receive a donation of King David chimes (1.7 metres tall!) from Woodstock Chimes in the US (probably the highest quality manufacturer of precisely tuned consumer chimes). The next step will be designing and mounting the actuator mechanism. Specs forthcoming. Many thanks to Woodstock Chimes for their support!
I’ve been working on getting serial data to an Arduino behind the scenes and on the fly to drive the ambient display for the Boris Bikes. Naturally, a simple script seemed suitable, but sending serial data from a bash script is not a trivial task, so a little helper tool in C, python, or ruby were looming high on my list. However, as with such things, there is no need to re-invent the wheel. Fortunately, Ben (over here), has written a nice little python script to handle just such events, which aslo has a nice step-by-step guide for those who are unfamiliar. So, I’m now snagging cycle data from a open-source API and sending the proper string via a similarly open script. Trending the data is also in the pipe.
Updating the data on a regular basis is also going to be key. The final version will operate stand-alone, as an appliance (e.g., ethernet Arduino), but for the prototype, I’m using a computer and sending the data via plain old Serial over USB. As I’m using a Mac, the scheduling bit will be handled via a Launch Agent, which has replaced the deprecated launchd. There’s a handy little guide to using Launch Agents here. It uses scheduled backups as an example, but it works for any regularly launched event (such as a shell script). A nice primer for one of those rarer requirements. I use launch agents and plists to firing off my scripts for backing up as well as syncing data and now, piping stuff over serial.
In trying to push the limits of how precisely you can actually position a small induction motor, I ran into a lot of calibration problems – as expected. This is a definitely a job for a stepper. However, I then stepped back a moment to think about the information task. What do I really want to know from my ambient display? In fact, the crucial information is not exactly how many cycles are available until the number starts to get low – too low for me to race out to the station and get a bike! Say…anything under 10 bikes and I should start thinking about leaving. By changing the scale to display only 13 positions (0-10,11-20,20+), I can get a general idea of the number of bikes when it’s not really critical, and gradually provide more precision when it’s really needed. This allows for the needle to be positioned more crudely and still provide a useful display. The needle now indicates a number accurately, even after over 1000 test cycles.
It’s a nice reminder that it is important to ask “What is the communication objective?” when designing information displays (whether ambient, on screen, or on paper), and design accordingly.