Arduino is an open source electronics prototyping platform used by an eclectic mix of people from all walks of life ranging from cake makers to artists and hobbyists. We spent some time with Brock Craft, author of Arduino Projects For Dummies, to explore why it is becoming increasingly popular.
We've heard recently from John Nussey, author of Arduino For Dummies, about getting started with Arduino and why it's causing such excitement. Can you tell us a bit more about who's using Arduino and for what?
Arduino is being used very widely in the education community. Science and computing teachers in secondary schools are using it to teach kids the principles of programming and computational thinking. Arduino is also used in colleges and universities. They are often found in design programs, particularly in product design, because Arduinos can quickly be used to prototype products that do physical things – like toasters or dispensers or remote controls, for example.
It's also widely used in digital arts programmes for making interactive artwork, music, and performances. There have been similar products on the market for many years and education curricula have used other alternatives. But what makes Arduino different – and is driving teachers to use them – is that Arduinos are easy to use. And if they need help, it's easy for teachers and students to get it in the extensive online communities.
In the corporate world, Arduinos are used by designers, architects and engineers for design prototyping. It's very easy to try out design by building a prototype so that they can see what solutions work and toss out those that don't. This is much easier to do early in the design process before more money has been spent on bringing an idea to fruition; Arduino can play a key role here. Just a simple example – I know a lighting company that recently used Arduino to control dimmable lighting effects for architectural lighting products they were developing. Using an Arduino helped them try out their ideas in an afternoon, rather than waiting weeks.
What are the basics I need to consider before I start to build my first Arduino project?
It's pretty easy to get going with Arduino. All you need is a computer and a basic Arduino kit containing the board and any extra parts you want to play with, like LEDs, sensors and motors. You can get kits from the Arduino website and from all of the big electronics suppliers. Maybe one day they'll even show up at the supermarket! Most simple projects you can build at home and with few or no tools. You can build simple projects on a kitchen table or small desk. Because you work with low power, it's also safe for kids to try out building simple projects like a digital stoplight or a remote-controlled car. Many projects can be completed in an afternoon or over a weekend, but you can scale up from there. Building an Arduino-automated garden could be a project you can keep working on on over a whole summer.
For people who think that Arduino projects are for hobbyists, can you provide some examples of business-related projects relevant for an IT professional.
Arduinos are really good for sensing the environment and controlling things. You can also hook them up to the internet, to share data. Let's say you needed to monitor temperatures on sensitive hardware and post an alert message or email when critical temperatures are reached. Arduino would be a perfect solution. You could even use it to activate a visual alarm like a light or a sign. You could connect one to a router or server to create a visible indication of usage load that could be read at a glance. I've seen examples of this in server rooms! Another example would be using it as an RFID tag reader to quickly scan RFID asset tags or access key fobs. It would be easy to keep an eye on who's got access to a particular room with an RFID enabled door latch. There's an Arduino controlled door latch in my book. Another idea would be to track your inventory or vehicles using a GPS logger and display the data on a map. I show how to do that in Chapter 13.
Are there any troubleshooting tips you can offer for when projects aren't quite working as planned?
The most important thing – and the first thing to do – is to check your connections. Just because you think components are connected doesn't mean that they actually are. You also need to check that your power is also connected. A multimeter can come in handy for both of these. Once you're satisfied your project is physically good to go, make sure to check the code. It's easy to get tripped up by a simple error in your code. Usually the software tells you if there's an obvious problem, but you may have a problem with the logic of how your program works. Go through each line, step by step, and make sure you are providing your Arduino the right instructions at the right time. If all else fails, definitely search the online forums. Your exact problem has probably already been solved!
If you had one piece of advice for new users to help them get the most from their Arduino, what would it be?
The best advice is to check out the official Arduino.cc website where you can find the answer to many questions you might have about using your Arduino and building projects with it. There are plenty of examples of how to get the most out of your Arduino there. You should also take some time to peruse and join an online forum, such as the Arduino Playground. Lots of people are inspired to build interesting projects by reading what other people have done. Also the forums are the first place to go if you get stuck on a technical issue. And the Arduino forums are really friendly to people who are complete beginners. You don't find the kind of techie snobbery that can sometimes scare off newcomers.
What have you used Arduino for? What projects have you built with it?
I've used Arduino to create lots of fun and practical projects. I built an electronic LCD display for my office door that says when I'm in or out. It also shows my office hours and where to reach me. Best of all, I can update it remotely if I'm not nearby to change the message on the display. At home, I've been monitoring the temperature inside and outside our house to see how it changes over time and with the seasons. This means we can see how our utility bills change over time and compare it to the temperature levels in the house. But my favourite project is for our cat.
He comes and goes as he pleases, and we wanted to keep tabs on him to see how much he gets out and about. I used and Arduino and a couple of sensors to detect when he goes through his cat flap. Then I hooked it up to twitter so that he sends me a message whenever he goes through it. Yes, my cat has a twitter account! Check out @muonthecat to find out what he's up to. My next project is to add an Arduino cat cam to his collar so he can upload pictures. I'll make sure he sends a tweet, when it's up and running!