Monday, 30 June 2014

Christmas lights would be cheaper

Some time back I bought myself a string of generic WS2801 driven addressable LEDs and they've languished in a box ever since. These are 'smart' RGB LEDs with a little driver chip that means you can daisy chain an arbitrary number of them and control each one individually with just two connections for the whole string.

I thought I'd use them for the Time Machine but in the end they were simply too big and the wire between each one too short.

Last night I finally dug them out and had a go with the Adafruit library. This is fifty of them running a slightly faster version of their example code.

They work really nicely but again I suspect they'll be 'wrong' for my next project which needs to have a retro look. So much so that I suspect it'll be done with incandescent bulbs, relays and lots of messy point to point wiring as that's actually what it's supposed to look like.

Although these would make it really easy to make.


Sunday, 29 June 2014

Raspberry Pi GPIO:101

My brother always gives me interesting presents. He's got a head start as we both like and do similar stuff.

One of these was a Raspberry Pi T-cobbler kit, which is essentially a way to extend the GPIO connector outside of a case and  plug it into a breadboard for prototyping.

Wiring up simple inputs and outputs to microcontrollers is bread and butter for my projects but I've never actually done this with a Pi. So this morning I pulled the T-cobbler out, soldered it up and did a bit of messing around.

I'm finishing up a project which has a Pi embedded at the moment. It uses a slave Arduino Nano to do most of its interface to the real world and it's going to be properly embedded with the expectation you don't normally have a screen, keyboard or network available.

So despite the presence of the Arduino I want to be able to have some basic control and feedback from the Pi that doesn't rely on anything else working. The python script on the Pi that does the heavy lifting occasionally crashes and while I'm making it more stable some of it is just V4L being  flaky rather than anything I can actually fix in my code. At least that's my excuse.

So I want the following directly linked to the Pi.

  • Shutdown button so it can be cleanly shut down rather than just yanking the power. No good will come of that eventually. For this I need GPIO really and I'll probably do it like this.
  • Status light that shows the state of the main script, again more GPIO.
  • One or two buttons to change the state/behaviour of the main script
  • Reset button. Easy, just connect a switch to short jumper P6.

What I've done this morning is connect three buttons and an RGB LED to the GPIO. Pushing each button lights up one of the colours of the LED using a simple Python script.

This is easy peasy stuff that anybody could do with a little looking on Google but it's on these foundations that you can build something that actually 'does stuff'.

I took my medical scanner prop to a UKLTA lasertag game yesterday and people cooed over it again. Given the 'cottage industry' the UKLTA has going building guns for the hobby I'm surprised there aren't more things like it floating around. Some of the people there are far more capable at building things than I am. There seem to be a lot of people around who think this stuff is voodoo when if they set their mind to it could actually turn out some really cool stuff.

Wednesday, 25 June 2014

...with frickin' laser beams aimed at their heads!

I do a reasonable amount of LARP with the UKLTA who use lasertag as their combat resolution system. It's not dissimilar to Airsoft at first glance except there's no physical hit so you don't have to worry about eye protection and you have to wear a sensor, by convention on the head. It does however have some real advantages as a LARP combat system.

The particular variant they use started out as a toy product in the mid 80s which they adapted for adults and through the hard work of their members have kept alive long after the effective death of the original brand. The 'laser' in the name is a misnomer as it uses normal infra-red light and the guns are essentially similar to IR remote controls. Souped up turbo-charged remote controls.

For some time the UKLTA have had to build their own guns and sensors. A lot of the guns are actually converted from other things like Airsoft or Nerf although there are plenty of scratch built ones around. There's a real 'cottage industry' in the hobby and at events people end up cooing over each other's latest builds.

Over time the capability to send small amounts of data has been developed and nowadays the system can handle different effects from weapons and on the sensors. This includes things like armour, regeneration, healing effects, variable damage, 'stun', ongoing fire or radiation damage etc. The sort of things that make it work well for LARP of the modern or sci-fi variety. Very recently in a game we had a 'techno mage' with a fancy staff that did various effects.

With modern IR emitters being very powerful and microcontrollers small and cheap, you've got a solid combat resolution system where the guns can have ranges in the hundreds of metres and the sensor keeps track of everything for you automatically. The thing it can't really handle is melee or hand to hand combat but people have experimented with making short range 'tasers'.

I have for a while wanted to get involved in making a prop that interacts with this system and one of the people behind a lot of the developments, Phil Higgins, gave me some Arduino code that would generate a simple lasertag shot.

Last night I uploaded this on one of my spare Nanos and connected up an IR emitter fitted into a piece of brass tube I had kicking around left over from the Enigma build to make it more directional. Proper tag guns have carefully set up lens & emitter assemblies but an unlensed one is good enough for use indoors or short range outdoors.

I'm now working on integrating this into a fun prop and will try making my own gun over the winter. If I'm feeling saucy I'll use an Arduino inside and build it from scratch rather than use one of Phil's boards, mostly as a bit of fun.

Tuesday, 17 June 2014

Hiding the GM behind the curtain

I have, for a while wanted to do something to use technology to enhance how some things work in LARP. This is my first stab at a practical application.

I've made a fake medical scanner which goes through the motions of scanning a sample in a test tube you drop into it. So far, that's nothing particularly interesting. What I've added to it though is a 'GM interface' which can be accessed over Bluetooth.

The photo on the left is where I mocked it up using some breadboard. In the end I used a bigger screen and there's an Arduino Mega inside as I needed the extra pins for bits and bobs. The Uno really doesn't have the memory or flash space to handle driving the display if you use the very nice libraries written by Henning Karlsen.

Once the sample is loaded a GM can connect, set what the outcome is and how long it takes to process. There's a facility for them to type free text and it just outputs it on the screen at the end. I still need to do more work on the software so it handles events in a less linear fashion but I think it's coming along nicely. It better be, the LARP is on Friday.