Tuesday, September 29, 2009

I (heart) you

Beer.  As Homer Simpson said, “Beer, the cause of, and solution to, all of lifes problems

It turns out that making things talk to each other is heaps easier if you don’t crack open the ale first.  A few days away and a clear head tonight mean that within 10 minutes, everything is working perfectly.

So perfectly in fact that there’s there imminent risk of feature creep and really only the miniaturisation left to do (which I won’t trivialise because I’m sure I’ll mess up my veroboard layouts a time or two).

Be that as it may, it all works. 

I (heart) you from Simon Devlin on Vimeo.

My heart rate. This end has a Duemilanova with a MAX7219 LED driver powering an 8 LED level meter and a Nordic nRF2401 wireless link. The Nordic chipset receives 9600bps data from another Arduino (the host end, I suppose) equipped with a corresponding Nordic transceiver that reads serial data from a Suunto PC POD and acts as a relay.

Monday, September 14, 2009

Light me up with your heart

So a friend of mine is having a light themed party in a few weeks and I have an idea.

I want LED’s on me to move in sync with my heart beat.  More to the point, I want more lights if my heart goes faster.  Enter the Suunto product range which I’d been dicking around with for a while.  Nominally, there’s a Sparkfun breakout board that talks the ANT protocol that is used by the Suunto gear.  But, for reasons that are several and boring, it’s not that simple.

So, owning a USB stick from Suunto and previously having come up with a .Net implementation of the god-awful C++ headers, I’m using that, coupled with a pair of Nrf24L01+ transceivers to bridge the gap.

The downside is that this will only work within about 10 meters of the USB stick in the PC, whereas the Nrf24AP1 chipset could have been done entirely off PC.  As it happens I think I have the missing information (courtesy of someone else who found it elsewhere), but I started a new job today, am away for the following two weekends and frankly don’t have time to mess around with a ANT implementation.

Unfortunately, I can’t actually find my HRM strap, but that’s OK as I can simulate the imput data (read serial off the PC via the arduino – works a treat), and right now, all I’ve got is the two ends of the radio link chattering back and forth (not much more than loading the Mirf library examples, but that’s been a bigger effort than you’d think using RBBB’s and a dodgy Arduino).

Ideally I want a series of LED’s – baselined at around say, 60BPM but the transceivers take up quite a few pins (5) so I (and I only just thought of this), may be limited in what I can do.  The original thought had been to bung in a MAX7221 and run >8 but that needs a heap of pins too.  Cock.  Looks like I’ll have to dig out the datasheet.

Someone once said “The dizzying highs and the terrifying lows”.  Grrr.