This post contains links and information for ‘Exploring the Internet of Things: Creativity and Learning‘, a workshop that I am facilitating at the University of Bristol, with Sarah Eagle, Peter Bennett, and Roseanne Wakely.
Your task is to make something that does something. We’re providing some structure and suggestions below, but feel free to go completely off-track if the feeling takes you. We’ll be here to support – just ask!
We’re providing some electronics and materials for you to use. Here’s some guidelines to help you get started.
If you’re not attending the workshop, you can still follow these instructions. Great Arduino starter kits are available from Proto-Pic (who are providing kits for the workshop) and Oomlout (who make the great instructions I’ve linked to below).
The Arduino is “an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software…intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments”. Basically, it is a piece of electronics, and an associated programming environment, that helps you to make things do things. Anything from a pretty blinky light (or a hundred of them), to an automated chicken coop door, to a bot that blows bubbles when it hears its name on Twitter.
There have been ways to make things do complex things for a long time, but recent developments, such as Arduino, have lowered the barrier to entry – no longer do you need custom electronics and programming devices, or detailed knowledge of tricky circuit concepts.
Part of this workshop will introduce you to the Arduino and how to make it do stuff. The tasks below will help you program your Arduino – we have printed breadboard layout sheets for you to use, ask if you can’t find them!
Task 1: Blinky
Blink an LED – an easy starter to show you how things work and make sure you’re set up ok. The LED is an example of an output - your Arduino can influence its surroundings in a variety of ways.
- Task 1 instructions
- Extension – can you make it blink a different pattern?
Task 2: Button
You can use inputs as well – your Arduino can react to its surroundings. A button is a digital input – it’s either on or off.
- Task 2 instructions
- Extension – use some of the code from task 1 to make the LED blink when the button is pressed.
Task 3: Servo
You can use physical outputs as well – a servo is an example of an actuator – it makes something happen.
- Task 3 instructions
- Extension – make it go faster/slower/further/less far?
Task 4: Photoresistor
Some inputs are a little more complicated than a digital button. A photoresistor allows electricity to pass more easily when light shines on it. It’s an analog sensor, with a continuous range of resistance – sensing this with the Arduino is a little more involved.
- Task 4 instructions
- Extension – make the LED do the opposite – get brighter when the photoresistor gets darker.
Task 5: Your turn
So you’ve had a go at following instructions – you can go a long way with that, but real creativity comes when you begin to remix ideas. You can use code and circuits from the above examples to do a great number of things – try pasting different parts from different tasks and seeing what you can come up with.
- Task 5 – there are no instructions!
- Ok, here’s an idea if you want a push along the way… how about making a servo move when a shadow passes across a photoresistor? What’s the purpose? You tell us… maybe you could attach something to the servo, make it hide or peek out.
- Short cut: here’s some example code to do just that.
Some other links – Arduino ideas!
- Arduino Learning – these are all included with the Arduino software – click on File…Examples…
- Sylvia’s Simple Arduino Projects
- Oomlouts full list of tutorials