I have got a j2se app now taking feeds from my arduino and converting the data to a simple xml stream. Working with a colleague on this and now have a full stable framework in place
Latest Entries »
Working 8-6 is starting to overlap with my project time but none the less I have still made a bit of progress.
My arduino code is now working and efficient. I can send and receive topics and use the data I get back to store as variables, which I then use to influence an output. I managed to setup 3 shiftbrights and get them reacting to topic data sent via the IA92 app (pumps test messages into my broker RSMB).
I have managed to get my arduino board fully isolated without the serial cable powering the LED’s and it all works dandily! I have got it linked up to the New Insights Lab at the Hursley IBM Innovation Center and it now reacts to the zonal RFID sensors and tags (this really go’s to show how open and collaborative the pub sub engine is).
Still having problems finding a material to hold the LED’s in and mount… looking into hard foams as the plastic egg crate is almost impossible to find in the UK for the size I want!
Few new updates:
I have received my shiftbrite shield which will help me power the LED daisy chain via an external power supply as well as power the arduino board. The header pins are actually a bit too short to have it stacked as a top shield due to a manufacturing error but I have played around and having it in the middle works just fine.
I found a perfect little power supply in maplins that set me back £19.99 (click here for the link). I have cut and stripped back the cable and tested it on my new shiftbrite shield and it works like a charm 🙂 I just need to strip it back further and tidy it up for health and safety reasons.
I have daisy chained 9 LED’s together prior to me getting this new power supply and played with code to change colours of individual LED’s. I have found the code very easy and using loops helps dramatically with longer chains.
I have received and tested my first batch of shiftbrite LED modules and can say that they are damn awsome! I have experimented with some of the source code and got them working using a loop. I have noticed that they do not need to be set at the brightest levels, rather 50% as a maximum is more than sufficient.
Scribefire is now working again!
I have got my arduino publishing and acting on subscribed data to and from RSMB using TCP/IP and am happy to scale this up with no problems, infact I have just ordered some more sensors.
I have realised the limitations of the arduino board and I have and have upgraded my bootloader chip to one twice the size to get rid of the
slow debug and upload times…it is becoming mighty tedious! I have also gone back to pen and paper to rethink the design. I am leaning towards 2 separate arduino boards, one purely for passing sensor data (very lightweight) and the other for using the manipulated data sent from my java application. The key element I would like to enforce in this reactive piece, is how quickly it refreshes. Hopefully by separating
input from output I take off a lot of strain from the arduino cpu to enable it to update quicker.
I am waiting on a new shield to start playing with the shiftbrite LED modules. lthough I have already started experimenting with the code and linked 5 together with some awsome results. Going write a bit of code to get the LED’s fading as well as shifting.
Been ages since I have got round to do much with this project but have a bit of an update. After brain picking Richard Anderson, it appears that powering the LED’s might cause a bit of a problem due to the size of the array. Running power down each array line should help the refresh speed and reduce the need to run a large amount of current through the wiring.
With the help of a little computer engineer (Sarah Cherhabil), I have used ohms law to work out roughly how much power I am going to need to bring my LED wall to life.
Ohms Law states: I = V/R
Where I = Current, V = Voltage and R = Resistance (power consumed by components).
The spec of the shiftbrite LED modules recommends that the voltage is kept between 5.5 and 9Volts (optimum at around 7.5Volts) and the current it draws is a maximum of 60milliamps. With that said I know that my LED array is going to be 25. So armed with this knowledge here are the calculations:
25 (Number of LED’s) x 60MA(maximum current) = 1500 Milliamps
Convert MA to Amps > 1.5 Amps.
I am going to split the current at the start of each row of 5 LED’s to a maximum of 300MA per run. This should ensure that each LED module will have access to at least 60MA when needed. As it is split it will also mean the longevity of the wires is dramatically increased as well as the whole piece becoming a lot more stable and “safe”.
Now I need to find a power supply that is around 7Volts DC and about 1.5 – 2 amps.
Stumbled across the LED’s I am going to be using. Not only are they multicoloured, they are also LED modules which also act as a 32bit shift register. The arduino code for them seems dead easy and I love how I can keep the concept of daisy chaining without having to wire 8 leds to each shift register. They also connect through the PWM pin which is perfect for what I need them for.
Also because they are 32bit shift registers the possible combination of colours you can get breaks into the billions. The R/G/B pins can obtain a 10bit brightness value and as you would expect from the description, the module itself uses the clock, data, latch format like a normal shift register. Another thing worth mentioning is that because it is using the shift register format, a lot of the strain the microcontroller would normally have powering a large number of LED’s is significantly reduced. I need to do a bit more research however to see if I can control individual LED’s if they are daisy chained.
Progress for this afternoon:
- Demo environment fully operatonal
- Have my temperature ‘publishing’ data to my project server (over the network) via pubSub method.
- RSMB seems to be happy with both the Java MQTT client and my arduino (thankyou Nick Knolleary for the superb Library)
Things to do tonight:
- Subscribe my arduino to a topic that will directly influence the output. For this I will just get it working so when I post a string an LED switches on.
- Whilst setting up the demo environment at work my Java MQTT client was talking to RSMB fine (they were on the same machine) but the arduino was having a problem. When I took this home and did the same setup after work it was working fine…
- I eventually identified a problem with the subnet mask… apparently it can’t handle the huge mask we have at work 255.255.128.0 whereas my router at home used 255.255.255.0. Thanks to Richard Anderson and Brian Innes for their help with this problem. I am now going to have my own VLan at work setup and maybe add some DHCP entries for the server and the arduino board…. until then i’ll make do with setting static IP’s.