Search icon
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletters
Free Learning
Arrow right icon
Arduino Development Cookbook
Arduino Development Cookbook

Arduino Development Cookbook: Over 50 hands-on recipes to quickly build and understand Arduino projects, from the simplest to the most extraordinary

By Cornel M Amariei
€28.99 €19.99
Book Apr 2015 246 pages 1st Edition
eBook
€28.99 €19.99
Print
€37.99
Subscription
€14.99 Monthly
eBook
€28.99 €19.99
Print
€37.99
Subscription
€14.99 Monthly

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Buy Now

Product Details


Publication date : Apr 23, 2015
Length 246 pages
Edition : 1st Edition
Language : English
ISBN-13 : 9781783982943
Vendor :
Arduino
Category :
Concepts :
Table of content icon View table of contents Preview book icon Preview Book

Arduino Development Cookbook

Chapter 1. Power on – Arduino Basics

In this chapter, we will cover the following recipes:

  • Downloading the Arduino software

  • Connecting Arduino

  • Uploading code to Arduino

  • Learning Arduino code basics

  • Code basics: Arduino C

  • Code basics: Arduino Pins

Introduction


When we have an idea, we take a pen and we sketch it down on a piece of paper. Imagine if we could build things that interact with the environment just as easily. This is where the Arduino platform comes into play.

Arduino is an open source family of electronic microprocessor boards that we can easily program to understand and interact with the environment. Over the years, Arduino has become the standard for building electronics projects. Arduino has been sent into space to run micro satellites; it has been sent to the bottom of the ocean to control small robotic submersibles; and now, Arduino has arrived for you. Let's explore the limitless world of Arduino.

If you want to go through the basics of electronics before starting with the book, you can refer to the Appendix, Electronics – the Basics.

Downloading the Arduino software


The first thing we need is the Arduino Integrated Development Environment (IDE). One of the best parts about Arduino is that the software in which we need to program the boards is free and open source. The Arduino IDE is compatible with Windows, Mac OS X, and Linux.

Getting ready

We only need one thing to complete this recipe—a computer connected to the Internet.

How to do it…

Follow these simple steps:

  1. Visit the Arduino website at http://arduino.cc/.

  2. In the main menu, go to the Download section.

  3. Select your operating system and download the latest stable release of the Arduino software. At the time of writing, the latest stable version compatible with all standard boards was version 1.0.5.

  4. After it downloads, install the Arduino software.

There's more

Now that we have the Arduino IDE installed, let's familiarize ourselves with the user interface.

Here is a screenshot of the Arduino software running on Windows. It looks the same on Mac and Linux, since it's all written in Java.

First, we will discuss the Tool Bar. In the Tool Bar, we can find the most used buttons:

Button

Description

The Verify button compiles the code and checks it for errors.

The Upload button compiles the code and, if there is no error in the code, uploads it to the Arduino board.

The New button starts a new program. In the Arduino world, programs are called sketches.

The Open button simply allows us to open a saved sketch.

The Save button saves the current sketch.

This button opens the Serial Monitor window that allows us to communicate with the Arduino board. It is extremely helpful when we debug a program. More information can be found in the Serial output recipe in Chapter 7, Digital Communication with Arduino

In the Sketch tab, we can see all the opened Arduino Sketches. This comes handy when we want to work on multiple programs at the same time.

The Code Space area is where all the magic happens. That's where we write the code that powers satellites and cat food dispensers. It's a code editor with automatic syntax highlighting and autoarranging.

The Status Display area indicates all the bad stuff. Whenever there are errors in the code, they will be displayed there. It also displays errors in the connection with the board. The only good thing it can display is that the code has been successfully uploaded to the Arduino board.

Additional functionality can be found in the main menu bar. Here, we have the classic File menu where we have Save, Open, Close, and also some examples. In the following recipes, more will be discussed about the menu bar components. A nice trick worth sharing is in the Tools menu—the Auto Format tool will format the code to look professional and clean.

See also

Consider the following recipes to better understand how to use the Arduino software environment:

  • The Connecting Arduino recipe

  • The Uploading code to Arduino recipe

Connecting Arduino


Before we can start writing code and making things move, we first need to connect the Arduino board to our computer. The Arduino board is compatible with Mac, Windows, and Linux. Here we will discuss how to connect and install the drivers.

Getting ready

The following are the ingredients required for this recipe:

  • An Arduino board connected to the computer via USB

  • The Arduino IDE downloaded and installed

How to do it…

This recipe is split in two, as the steps for Mac and Windows are slightly different.

Mac OS X

Follow these steps to connect Arduino to Mac OS X:

  1. Connect the Arduino to the computer using a USB cable. If everything is properly connected, the green light will turn and stay on.

  2. If you have an Arduino Uno, Leonardo, Due, or Mega 2560, no drivers are needed and the board is ready to go.

  3. If you're using an older Arduino board such as the Duemilanove, Diecimila, or Pro Mini, you will require FTDI drivers. To obtain them, you can visit http://www.ftdichip.com/Drivers/VCP.htm and download the latest. After downloading them, click on the installer and follow the instructions. Finally, reboot the computer and the Arduino board will be installed.

Windows

The following steps are required for the Uno, Mega 2560, Leonardo, and Due boards when connecting Arduino to Windows:

  1. Connect the Arduino to the computer using a USB cable. If everything is properly connected, the green light will turn on and stay on.

  2. Windows will begin its driver installation process and fail. Click the Start button and open the Control Panel. There, navigate to System and then Device Manager.

  3. In the Device Manager window, search for Ports (COM & LPT) and look for a port with a name similar to your board. For the Arduino Uno, the port should be named Arduino UNO…. If there is no such title under Ports, look in Other Devices for an Unknown Device. That will be your Arduino board.

  4. Right-click on the Arduino Board in Device Manager and choose Update Driver Software. Next, select Browse my computer for driver software.

  5. This will require the path to the Arduino driver. This can be found in the Arduino installation folder in Program Files, in the drivers folder. It is named Arduino.inf. Select the file and Windows will finish installing the driver.

These are the steps for the older FTDI-based Duemilanove, Diecimila, Nano, and Mega boards:

  1. Connect the Arduino to the computer using a USB cable. The green light will turn on if everything is connected properly.

  2. In Windows Vista and higher, the drivers will install automatically and the board will be ready for use.

  3. If the driver installation fails, navigate to Device Manager in a similar fashion as for the newer boards and, under Ports (COM & LPT), search for a USB Serial Converter or similar. Choose Update Driver Software, select Browse my computer for driver software, and then select the FTDI driver folder from the Arduino installation folder, in the drivers folder. After selection, click on Next and Windows will finish installing the Arduino board.

See also

The procedure for an Ubuntu Linux computer is at http://playground.arduino.cc/Linux/Ubuntu.

Uploading code to Arduino


It's time to power on the Arduino board and make it do something. In this recipe, we will connect the Arduino to the computer and upload an example sketch from the Arduino IDE.

Getting ready

To execute this recipe, the following are the components required:

  • A computer with the Arduino IDE installed

  • An Arduino board connected to the computer via USB

How to do it…

Follow these steps:

  1. Connect the Arduino to the computer using a USB cable. If everything is properly connected, the green LED light will turn on.

  2. If this is the first time the Arduino has been connected to the computer, driver installation might be required. Please follow the Connecting Arduino recipe to properly set up the Arduino board.

  3. Start the Arduino IDE and, in the Menu Bar, go to File | Examples | 01. Basics and click on the Blink example. This will load the Blink sketch.

  4. Make sure your Arduino board is selected in the Board menu. The menu can be found in the Menu bar in Tools | Board.

  5. We need to check whether the correct serial port is selected. Under Tools | Serial Port, we can see all available serial port devices connected to the computer. On Windows, each port will be labeled as COM followed by a number. Usually, Arduino installs on COM3, but not always. A fast way to check which serial port the Arduino is connected to is to unplug the cable and see which COM port disappears in the menu. That will be our Arduino board. In the Mac, the port should be called something beginning with /dev/tty.usbmodem or /dev/tty.usbserial.

  6. Click on the Upload button on the Tool Bar. If everything runs properly, the TX RX LEDs on the Arduino board will begin blinking for a short time until the upload is done. After this, one LED light on the Arduino Board should slowly blink.

How it works…

When we upload a sketch to the board, the Arduino software first compiles the code. If there is an error in the code, it will write it in the Status Display area and will stop the upload. If no errors are found, it will begin writing the compiled code to the board. Errors will appear if the board or serial port is not properly selected. When everything is correctly set up, the TX RX LEDs will blink, meaning data is being transferred between the computer and the Arduino board. When the transfer is done, the board will reset and the code will immediately begin executing.

The code is stored in the Arduino board until it is erased or replaced by another code. We can take the board and plug it into a battery or to another computer, and it will still execute this blinking.

Learning Arduino code basics


Here we begin with the basics of coding for Arduino. Writing code for Arduino and other embedded platforms is a little different from writing code for a computer. But don't fear—the differences are small.

Getting ready

To execute this recipe, we need just one ingredient: the Arduino IDE running on a computer.

How to do it…

These are the two mandatory functions in the Arduino coding environment:

void setup() {
  // Only execute once when the Arduino boots
}


void loop(){
  // Code executes top-down and repeats continuously
}

How it works…

Each Arduino sketch has two mandatory functions: the setup() function and the loop() function. The setup() function only executes once: either when we apply power to the Arduino or when it resets. Usually, we use this function to configure the pins of the Arduino, to start communication protocols, such as serial communication, or to perform actions we only want to perform once when the Arduino boots.

The loop() function executes continuously. Code in this function is executed top-down; when it reaches the end of the function, it jumps back to the start and runs again. This happens forever until the Arduino is switched off. In here, we write the code we want to run continuously.

See also

Continue the Arduino code basics with the following recipe, Code basics: Arduino C.

Code basics – Arduino C


The Arduino uses a slightly reduced C/C++ programming language. In this recipe, we will remember a few basics of C/C++.

Getting ready

Ensure that you have the Arduino IDE running on a computer.

How to do it…

Here is a simple example of basic Arduino C/C++ manipulating two variables:

// Global Variables
int var1 = 10;
int var2 = 20;

void setup() {
  // Only execute once when the Arduino boots
  var2 = 5; // var2 becomes 5 once the Arduino boots
}


void loop(){
  // Code executes top-down and repeats continuously
  if (var1 > var2){ // If var1 is greater than var2
    var2++; // Increment var2 by 1
  } else { // If var1 is NOT greater than var2
    var2 = 0; // var2 becomes 0
  }
}

How it works…

The code plays with two integer variables. Here we have a code breakdown to better explain each step.

First, we declared two global variables—var1 and var2—and we set them to the values of 10 and 20 respectively.

// Global Variables
int var1 = 10;
int var2 = 20;

When the Arduino boots, it first allocates the global variables into memory. In the setup() function, we change the value of var2 to 5:

void setup() {
  // Only execute once when the Arduino boots
  var2 = 5; // var2 becomes 5 once the Arduino boots
}

After the Arduino allocates the global variables, it executes the code inside the setup() function once. Following this, the loop() function will execute repeatedly. Inside, we have an if condition that will play with the values of var2. If var1 is greater than var2, we increase var2 by one. Eventually, var1 will not be greater than var2, and then we set var2 to 0. This will result in an infinite adding and equaling of var2.

This is one example on how the Arduino executes the code in its two main functions.

See also

Continue the Arduino code basics with the following recipe, Code basics – Arduino pins.

Code basics – Arduino pins


The most important feature of the Arduino is its control over digital input/output (I/O) pins. On each pin, we can set a voltage value of 5 V, representing logic HIGH, or 0 V, representing logic LOW. Also, we can read whether a value of 5 V or 0 V is applied externally. Here we will learn how.

Getting ready

For this recipe, ensure that you have the Arduino IDE running on a computer.

How to do it…

The following code turns a pin HIGH and LOW repeatedly while reading the external voltage applied to another:

void setup() {
  // Set pin 2 as a digital Output
  pinMode(2, OUTPUT);
  // Set pin 3 as a digital Input
  pinMode(3, INPUT);
}

void loop(){
    // Set pin 2 HIGH
  digitalWrite(2, HIGH);
  // Wait 100 milliseconds
  delay(100);
  // Set pin 2 LOW
  digitalWrite(2, LOW);
  // Wait 100 milliseconds
  delay(100);
    // Read the value of pin 3 and store it in a variable
  int pinValue = digitalRead(3);
}

How it works…

The code sets two pins in output and input mode and then writes and reads from them. Here is the code breakdown:

In setup(), we use the pinMode() function to set pin number 2 as an output. When we set a pin as an output, we can set that pin as either HIGH (5 V) or LOW (0 V). Also, we set pin number 3 as an input. A pin configured as input can read external voltages applied to it. It can read HIGH if the voltage is around 5 V and LOW if the voltage is close or equal to 0 V:

void setup() {
  // Set pin 2 as a digital Output
  pinMode(2, OUTPUT);
  // Set pin 3 as a digital Input
  pinMode(3, INPUT);
}

In the loop() function, we use the digitalWrite() function to set pin number 2 to HIGH. Then, we wait for 100 milliseconds using the delay() function. This function stops the execution of the code for the specified time, in milliseconds. Thereafter, we set the pin to LOW and wait another 100 milliseconds. In the end, we read the value of pin 3 in a variable:

void loop(){
  
  // Set pin 2 HIGH
  digitalWrite(2, HIGH);
  // Wait 100 milliseconds
  delay(100);
  // Set pin 2 LOW
  digitalWrite(2, LOW);
  // Wait 100 milliseconds
  delay(100);
  
  // Read the value of pin 3 and store it in a variable
  int pinValue = digitalRead(3);
}

Tip

Downloading the example code

You can download the example code files from your account at http://www.packtpub.com for all the Packt Publishing books you have purchased. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.

Left arrow icon Right arrow icon

Key benefits

What you will learn

Read data from sensors and take action based on the environment Use the Arduino to turn on lights, write to screens, or play light shows Manipulate motors and other actuators to control the movement of different objects Set up electronic circuits on a breadboard to interact with the Arduino Explore hacks to push your project to the next level Make your projects wireless and make them communicate with the computer

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Buy Now

Product Details


Publication date : Apr 23, 2015
Length 246 pages
Edition : 1st Edition
Language : English
ISBN-13 : 9781783982943
Vendor :
Arduino
Category :
Concepts :

Table of Contents

16 Chapters
Arduino Development Cookbook Chevron down icon Chevron up icon
Credits Chevron down icon Chevron up icon
About the Author Chevron down icon Chevron up icon
About the Reviewers Chevron down icon Chevron up icon
www.PacktPub.com Chevron down icon Chevron up icon
Preface Chevron down icon Chevron up icon
Power on – Arduino Basics Chevron down icon Chevron up icon
Blinking LEDs Chevron down icon Chevron up icon
Working with Buttons Chevron down icon Chevron up icon
Sensors Chevron down icon Chevron up icon
Motor Control Chevron down icon Chevron up icon
More Output Devices Chevron down icon Chevron up icon
Digital Communication with Arduino Chevron down icon Chevron up icon
Hacking Chevron down icon Chevron up icon
Electronics – the Basics Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Filter icon Filter
Top Reviews
Rating distribution
Empty star icon Empty star icon Empty star icon Empty star icon Empty star icon 0
(0 Ratings)
5 star 0%
4 star 0%
3 star 0%
2 star 0%
1 star 0%

Filter reviews by


No reviews found
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.