Monthly Archives: May 2010

Thinking Digital 2010: Arduino Power Workshop

Thinking Digital 2010 kicked off with a choice of fabulous pre-conference workshops covering compelling topics such as web video, visual communication, origami and pitching. As a microcontroller enthusiast, I couldn’t help but choose the Arduino Power workshop run by Daniel Soltis of Tinker, Jamie Allen of Culture Lab and Brian Degger.

Most of the workshop attendees were new to Arduino, which was a good thing – Daniel and Jamie gave an overview of Arduino, its uses and some examples of cool projects.

We were each given a fantastic Oomlout ARDX starter kit – which is a great kit for anyone starting out or wants a nice kit with a variety of parts for projects, followed by a walk-through of a few simple sketches as a nice intro to Arduino, then let loose with various cogs, propellers, wire, balsa wood, glue guns and other bits to build and experiment with.

I created a dancing kitty, fashioned from balsa wood in conjunction with Arduino and a few bits of kit and a sketch – to become a simple example of how one can use a DC motor with a propeller to power a servo.

Here’s a little video of the simple whimsical kitty I made:

I’ve been asked to publish the sketch for this, and as all the wonderful libraries and examples in Processing are open source I’ve posted it below. As with all sketches, you can modify them to your needs or tweak the values to suit your project.

For example, you can experiment by changing one of the values in the sketch below to get the best turning response from the servo. So in line val = map(val, 0, 1023, 0, 179); – I changed ’1023′ to the maximum value I got from the DC motor when spinning the propeller – I tested this using another sketch and while spinning the propeller and reading the voltage which in my case was ’45′.

You can just about see the breadboard / arduino pin layout in this photo:

Dancing Kitty breadboard / arduino layout

Knob sketch:

// Controlling a servo position using a potentiometer (variable resistor)
// by Michal Rinott

#include

Servo myservo; // create servo object to control a servo

int potpin = 0; // analog pin used to connect the potentiometer
int val; // variable to read the value from the analog pin

void setup()
{
myservo.attach(9); // attaches the servo on pin 9 to the servo object
}

void loop()
{
val = analogRead(potpin); // reads the value of the potentiometer (value between 0 and 1023)
val = map(val, 0, 1023, 0, 179); // scale it to use it with the servo (value between 0 and 180)
myservo.write(val); // sets the servo position according to the scaled value
delay(15); // waits for the servo to get there
}

Many thanks to Daniel, Jamie & Brian for a fab afternoon of fun & lovely ARDX kit :-D

GameCamp 2010

After months of preparation http://gamecamp.org.uk/ came and then went too fast. I’m still buzzing on its tail – but to quote one of my fellow organisers Philip Trippenbach “What a rush”.

I’m really chuffed at how well it went and at how many lovely people attended. I was a bit gobsmacked that guests were already at the Paypal / eBay / Gumtree HQ when I arrived at just before 9am, luckily our caterers had delivered the first shipment of pastries and fruit, courtesy of Unity, and the vegan/veggie/omni/ baguettes were on their way!

During the ‘welcome’ speech, Phil did a couple of quick pols, asking peeps to put their hands up if they’d been to the inaugural GameCamp and also if they’d attended a BarCamp before – I’d say hands raised were just under 50% for each, so a lot of new faces and thoughts to hear, which was great.

GameCamp - The Grid

When The Grid was unleashed I noticed that experienced campers and speakers signed themselves up for the morning talks, which was real boon for anyone a little tentative as to what’s expected at an unconference or was a wee bit nervous to do an early talk. The morning’s talks certainly broke the ice and in-between refreshing the coffee and mopping up spillages, I managed to hear a bit of Adrian Hon’s open discussion titled “Cheaters Anonymous’ where the audience confessed their habits, the ethics of cheating, types of cheats and when it may or not be the done thing! I also got a glimpse of Proactive Paul’s ‘Power Games – with prizes’, which involved M&Ms, that were happily recycled at the end of the session.

Soon it was lunchtime and 100 fabulous pizzas arrived, generously donated by Pizza Express. It was a good time to mingle, catch up with friends or read the wonderful GameCamp newspaper sponsored by Chromaroma.

The afternoon sessions were many and varied, I got to a couple of them…

Cristiano Betta took a humorous look at ’10 Reasons Why video game movies suck’ – the discussion not only contained his thoughts on movies such as Doom, Max Payne and Mortal Kombat, but also discussed upcoming films such as Tron and Prince of Persia – which many people were looking forward to. Narratives, concepts and films that follow a game or are adapted for screen were discussed.

Later, I caught the end of Jim Purbrick’s talk on ‘Social music composition games’, he talked about the evolution of games that involved music, giving many examples such as Rez (one of my all time favs) Lumines, and Rock Band. He also went into examples of gaming and music which helped users compose and play, and tools such as SoundCloud.

Here’s a little video I made out of snippets of video taken during the day :-)

Finally, I couldn’t help but attend Minkette’s amusingly titled ‘We need to get more boys into gaming’, a discussion which began with Mink pondering on it is said to be more female gamers than males, how can we help this underserved audience? We mused on the possibility of re-purposing some of the games that have been developed for girls, for boys – we mused on ‘Cooking Papa’, how a grow your own pony game could transform into ‘grow you own tank’ and a version of Bejewelled where the jewels were all brown. The talk also veered into games courses, diversity and the lack of girls on games courses: ‘we all know each other’s names and can sit on the same table’, said one female attendee. The talk also touched on the division on games courses between designers and coders, also ‘who are we designing for – do you design for yourself or for someone else?’. The talk wrapped up by some philosophical ponderings on confidence and giving yourself permission to do well – for example mature students do better because they hire or buy all the things they need to get ahead, whereas younger students tend to make do.

The day shot by and all too soon it was over and time for wrap-up and tidying up the venue. I was a bit doolally by this time and rather rambled through the thank you speech – I should have made some notes – ooops!

After putting the venue back to it’s original configuration, cleaning the coffee percolators and all the tables, etc, we decanted to the pub where the lovely Unity peeps got the beers in. Many more stories were told, I met a lovely chap called Markus Kaiser who had flown in from Frankfurt for the day, shivered a bit in the evening wind on a May day that was more March ;-)

All in all, a fabulous day and well worth all the planning. It was a pleasure to be in the company of such wonderful organizers: Philip Trippenbach, Desigan Chinniah, Rachel Clarke, Steve Green, Katy Lindemann, Mark Simpkins and James Wallis. Huge thanks to PayPal / eBay / Gumtree for letting us have the run of their fabulous offices in Richmond and also generosity by providing free tea and coffee all day, countless free Nespresso shots in many strengths and freeplay of their soft drinks machines.

Finally, the day wouldn’t have been anything without those who attended, gave talks, lead discussions, shared their views and of course those who came to play – heartfelt thanks to all!