From legal to ISBN
Arduino for Kids Young and Old 2014 Daniel W. Milligan
All content is copyright 2014, Daniel Milligan. All rights reserved. No part of this publication or the files that it is comprised of shall be legally produced, reproduced, or transmitted by any form or any means without the express permission of the publisher.
Published by Daniel Milligan 2014, all photo's and images are copyright Milligan Photography unless otherwise noted.
Limit of Liability and Disclaimer of Warranty: The publisher has made every effort in preparing this book to ensure that the content is accurate however the information provided herein is provided "as is" and without warranty. Daniel Milligan et al makes no representation or warranties with respect to the accuracy or completeness of the contents of this book and specifically disclaims any implied warranties of merchantability or fitness for any particular purpose and shall in no event be liable for any loss of profit or any other commercial damage, including but not limited to special, incidental, consequential, or other damages.
Trademarks: This book identifies product names and services known or suspected to be trademarks, registered trademarks, or service marks of their respective holders. They are used throughout this book in an editorial fashion only. While great care has been taken to appropriately identify these items, there is potential that some may have not been identified as such and Daniel Milligan cannot vouch for the accuracy of this information. Use of a term in this book should not be regarded as affecting the validity of any trademark, registered trademark, or service mark. Daniel Milligan is not associated with any product or vendor mentioned in this book other then being the primary of Milligan Photography.
First edition 2014 ISBN-10: 0985855630 ISBN-13: 978-0-9858556-3-5
Thanks go out to all of my friends and family, and especially my wife Sylvine for all of the support and love through the years.
The resources linked to at the end of this eBook were valid as of the time of the writing of this eBook and include links to various tools helpful to those getting started with open source hardware and hobby programming / engineering.
Introduction
Getting started with Ardunio
F irst I am going to make some assumptions both knowingly and unknowingly. I work with a lot of this technology on a regular basisand may inadvertently leave something out. It's not that I don't feel it's important or needed but more that I might not think it needs explaining or requires additional detail.With that, if you should have any questions please do not hesitate to email me at .
This book is intended for those wanting to start working with open source hardware and software in order to build their own creations using tools and components readily available.While I will point you to specific links to learn more about various software and/or hardware modules, I am not going to get into too much of programming skills 101 or hardware design 101.My assumption is that you either have some knowledge in this area or are willing to go and learn it as you go. I will try to cover everything in enough detail that you won't have to dig too farto get additional information however it will vary depending on the individual. As the title of the book states, this book is focused on developing with the Arduino platform. While a number of the examplesand overall concepts will be applicable to a number of micro-controllers, I will be focusing on the Arduino family of modules and specifically those built around the Atmel AVR family of devices.
The following are some basic terms I will be using that you should be aware of.
PrototypeAn experimental design (software/hardware) used to prove a theory or realize an ideaArduinoAn open source hardware/software solution used for prototypingShieldAn add on card i.e. expander board to be used in conjunction with an Arduino. This may also be called a daughter board.DCDirect Current which is what most prototyping boards utilizeACAlternating Current which is the standard current coming into a house and delivered to each outlet within the house *JavaA high level programming language and environment originally designed by Sun Computer and now owned by OracleCA high level programming language designed at Bell Labs[]SketchAn Arduino term for describing the code to be executed on the ArduinoUSBUniversal Serial Bus - standard connection for peripherals such as mice, keyboards, card readers, etc.LEDLight Emitting DiodeCompilerA software application which generates executable code from a source file such as a sketch.VariableA data type found in a sketch which can be assigned a value. Variables can be of different types to represent different data types such as integers, characters, and floating point numbersSigned valueA value that can represent both positive and negative numbersUnsigned valueA value that can only represent positive numbersParameterA value passed into a method during program executionReturn ValueA value returned by a method once it has finished processingObjectA software construct utilized in high level programming languages such as Java and C++Baud, Baud RateThe speed at which a communication device operates at
* As I am based in the United States, a typical AC current coming into each house would be in the 120V range while in Europe, the typical value would be in the 240V range. []. While most items purchased operate via 120V's AC, in actuality they operate on a DC voltage and have transformers inside or as part of the power cord to convert from AC to DC.
Having the right tool is always beneficial when working on any kind of project. The same is true when working with both software and hardware. Before you get started you will want to make sure you have the following items:
- a functioning computer (Macintosh OSX, Windows based PC, or Linux)
- an available USB host port. The port should be of the type A which will look something like this:
- a clean area to work in and spread out a bit
- internet access to look up information
- the Java Runtime Environment which can be downloaded: here
- the Arduino development environment which can be downloaded: here
- ** an Arduino kit such as this one from MakerSHED
- *** a breadboard for prototyping circuits
- *** jumper wires for connecting the various parts of your circuits together and to the Arduino
- A +5v power supply able to deliver 2 Amps of current such as: 5v 2A Supply.
- and a comfortable chair
** Electronic components are very susceptible to static electricity. This means that any static electricity that builds up on yourself could damage the component, like the micro-controller, when you touch it and transfer that energy from yourself to the component. In some cases, this damage cannot be detected and the component will work most of the time but not always. Consider it like a crack in a bowl. It may be fine most of the time however once in a while, some liquid may spill. And then if it happens to be hot, you will get burned.
*** If you happen to purchase the Arduino kit as specified above then there will be a breadboard and jumpers included with it.
The following list are some additional items which are not required however I regularly use during development.
- a soldering iron for building circuits
- a solder sucker for removing the excess solder applied with the soldering iron