Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
16 views

Arduino Material

Arduino is an open-source hardware and software platform for building electronics projects. It consists of a programmable circuit board and IDE software to write code. The board can read inputs from sensors and activate outputs like motors or LEDs. It is programmed by uploading code through the IDE to the microcontroller on the board using a USB cable. There are different Arduino boards available based on various microcontrollers that differ in specs like I/O pins, speed, and voltage.

Uploaded by

elangoprt1
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views

Arduino Material

Arduino is an open-source hardware and software platform for building electronics projects. It consists of a programmable circuit board and IDE software to write code. The board can read inputs from sensors and activate outputs like motors or LEDs. It is programmed by uploading code through the IDE to the microcontroller on the board using a USB cable. There are different Arduino boards available based on various microcontrollers that differ in specs like I/O pins, speed, and voltage.

Uploaded by

elangoprt1
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 19

Arduino - Overview

Arduino is a prototype platform (open-source) based on an easy-to-use hardware and


software. It consists of a circuit board, which can be programmed (referred to as a
microcontroller) and a ready-made software called Arduino IDE (Integrated Development
Environment), which is used to write and upload the computer code to the physical board.

The key features are −

 Arduino boards are able to read analog or digital input signals from different sensors
and turn it into an output such as activating a motor, turning LED on/off, connect to
the cloud and many other actions.
 You can control your board functions by sending a set of instructions to the
microcontroller on the board via Arduino IDE (referred to as uploading software).
 Unlike most previous programmable circuit boards, Arduino does not need an extra
piece of hardware (called a programmer) in order to load a new code onto the board.
You can simply use a USB cable.
 Additionally, the Arduino IDE uses a simplified version of C++, making it easier to
learn to program.
 Finally, Arduino provides a standard form factor that breaks the functions of the
micro-controller into a more accessible package.

Board Types

Various kinds of Arduino boards are available depending on different microcontrollers used.
However, all Arduino boards have one thing in common: they are programed through the
Arduino IDE.
The differences are based on the number of inputs and outputs (the number of sensors, LEDs,
and buttons you can use on a single board), speed, operating voltage, form factor etc. Some
boards are designed to be embedded and have no programming interface (hardware), which
you would need to buy separately. Some can run directly from a 3.7V battery, others need at
least 5V.

Here is a list of different Arduino boards available.

Arduino boards based on ATMEGA328 microcontroller

Operating Clock Digital Analog Programming


Board Name PWM UART
Volt Speed i/o Inputs Interface
USB via
Arduino Uno R3 5V 16MHz 14 6 6 1
ATMega16U2
USB via
Arduino Uno R3 SMD 5V 16MHz 14 6 6 1
ATMega16U2
Red Board 5V 16MHz 14 6 6 1 USB via FTDI
Arduino Pro 3.3v/8 FTDI-Compatible
3.3V 8MHz 14 6 6 1
MHz Header
FTDI-Compatible
Arduino Pro 5V/16MHz 5V 16MHz 14 6 6 1
Header
FTDI-Compatible
Arduino mini 05 5V 16MHz 14 8 6 1
Header
Arduino Pro mini FTDI-Compatible
3.3V 8MHz 14 8 6 1
3.3v/8mhz Header
Arduino Pro mini FTDI-Compatible
5V 16MHz 14 8 6 1
5v/16mhz Header
FTDI-Compatible
Arduino Ethernet 5V 16MHz 14 6 6 1
Header
FTDI-Compatible
Arduino Fio 3.3V 8MHz 14 8 6 1
Header
LilyPad Arduino 328 FTDI-Compatible
3.3V 8MHz 14 6 6 1
main board Header
LilyPad Arduino simple FTDI-Compatible
3.3V 8MHz 9 4 5 0
board Header

Arduino boards based on ATMEGA32u4 microcontroller

Operating Clock Digital Analog Programming


Board Name PWM UART
Volt Speed i/o Inputs Interface
Arduino Leonardo 5V 16MHz 20 12 7 1 Native USB
Pro micro
5V 16MHz 14 6 6 1 Native USB
5V/16MHz
Pro micro
5V 16MHz 14 6 6 1 Native USB
3.3V/8MHz
LilyPad Arduino
3.3V 8MHz 14 6 6 1 Native USB
USB

Arduino boards based on ATMEGA2560 microcontroller

Operating Clock Digital Analog Programming


Board Name PWM UART
Volt Speed i/o Inputs Interface
Arduino Mega 5V 16MHz 54 16 14 4 USB via
2560 R3 ATMega16U2B
FTDI-Compatible
Mega Pro 3.3V 3.3V 8MHz 54 16 14 4
Header
FTDI-Compatible
Mega Pro 5V 5V 16MHz 54 16 14 4
Header
Mega Pro Mini FTDI-Compatible
3.3V 8MHz 54 16 14 4
3.3V Header

Arduino boards based on AT91SAM3X8E microcontroller

Operating Clock Digital Analog Programming


Board Name PWM UART
Volt Speed i/o Inputs Interface
Arduino Mega
3.3V 84MHz 54 12 12 4 USB native
2560 R3

Arduino - Board Description


In this chapter, we will learn about the different components on the Arduino board. We will
study the Arduino UNO board because it is the most popular board in the Arduino board
family. In addition, it is the best board to get started with electronics and coding. Some
boards look a bit different from the one given below, but most Arduinos have majority of
these components in common.

Power USB

Arduino board can be powered by using the USB cable from your computer. All
you need to do is connect the USB cable to the USB connection (1).
Power (Barrel Jack)

Arduino boards can be powered directly from the AC mains power supply by
connecting it to the Barrel Jack (2).
Voltage Regulator

The function of the voltage regulator is to control the voltage given to the Arduino
board and stabilize the DC voltages used by the processor and other elements.
Crystal Oscillator

The crystal oscillator helps Arduino in dealing with time issues. How does Arduino
calculate time? The answer is, by using the crystal oscillator. The number printed
on top of the Arduino crystal is 16.000H9H. It tells us that the frequency is
16,000,000 Hertz or 16 MHz.
Arduino Reset

You can reset your Arduino board, i.e., start your program from the beginning. You
can reset the UNO board in two ways. First, by using the reset button (17) on the
board. Second, you can connect an external reset button to the Arduino pin labelled
RESET (5).
Pins (3.3, 5, GND, Vin)

 3.3V (6) − Supply 3.3 output volt


 5V (7) − Supply 5 output volt
 Most of the components used with Arduino board works fine with 3.3 volt
and 5 volt.
 GND (8)(Ground) − There are several GND pins on the Arduino, any of
which can be used to ground your circuit.
 Vin (9) − This pin also can be used to power the Arduino board from an
external power source, like AC mains power supply.

Analog pins

The Arduino UNO board has six analog input pins A0 through A5. These pins can
read the signal from an analog sensor like the humidity sensor or temperature
sensor and convert it into a digital value that can be read by the microprocessor.
Main microcontroller

Each Arduino board has its own microcontroller (11). You can assume it as the
brain of your board. The main IC (integrated circuit) on the Arduino is slightly
different from board to board. The microcontrollers are usually of the ATMEL
Company. You must know what IC your board has before loading up a new
program from the Arduino IDE. This information is available on the top of the IC.
For more details about the IC construction and functions, you can refer to the data
sheet.
ICSP pin

Mostly, ICSP (12) is an AVR, a tiny programming header for the Arduino
consisting of MOSI, MISO, SCK, RESET, VCC, and GND. It is often referred to as
an SPI (Serial Peripheral Interface), which could be considered as an "expansion"
of the output. Actually, you are slaving the output device to the master of the SPI
bus.
Power LED indicator

This LED should light up when you plug your Arduino into a power source to
indicate that your board is powered up correctly. If this light does not turn on, then
there is something wrong with the connection.
TX and RX LEDs

On your board, you will find two labels: TX (transmit) and RX (receive). They
appear in two places on the Arduino UNO board. First, at the digital pins 0 and 1, to
indicate the pins responsible for serial communication. Second, the TX and RX led
(13). The TX led flashes with different speed while sending the serial data. The
speed of flashing depends on the baud rate used by the board. RX flashes during the
receiving process.
Digital I/O

The Arduino UNO board has 14 digital I/O pins (15) (of which 6 provide PWM
(Pulse Width Modulation) output. These pins can be configured to work as input
digital pins to read logic values (0 or 1) or as digital output pins to drive different
modules like LEDs, relays, etc. The pins labeled “~” can be used to generate PWM.
AREF

AREF stands for Analog Reference. It is sometimes, used to set an external


reference voltage (between 0 and 5 Volts) as the upper limit for the analog input
pins.

Arduino - Installation
After learning about the main parts of the Arduino UNO board, we are ready to learn how to
set up the Arduino IDE. Once we learn this, we will be ready to upload our program on the
Arduino board.

In this section, we will learn in easy steps, how to set up the Arduino IDE on our computer
and prepare the board to receive the program via USB cable.

Step 1 − First you must have your Arduino board (you can choose your favorite board) and a
USB cable. In case you use Arduino UNO, Arduino Duemilanove, Nano, Arduino Mega
2560, or Diecimila, you will need a standard USB cable (A plug to B plug), the kind you
would connect to a USB printer as shown in the following image.
In case you use Arduino Nano, you will need an A to Mini-B cable instead as shown in the
following image.

Step 2 − Download Arduino IDE Software.

You can get different versions of Arduino IDE from the Download page on the Arduino
Official website. You must select your software, which is compatible with your operating
system (Windows, IOS, or Linux). After your file download is complete, unzip the file.
Step 3 − Power up your board.

The Arduino Uno, Mega, Duemilanove and Arduino Nano automatically draw power from
either, the USB connection to the computer or an external power supply. If you are using an
Arduino Diecimila, you have to make sure that the board is configured to draw power from
the USB connection. The power source is selected with a jumper, a small piece of plastic that
fits onto two of the three pins between the USB and power jacks. Check that it is on the two
pins closest to the USB port.

Connect the Arduino board to your computer using the USB cable. The green power LED
(labeled PWR) should glow.

Step 4 − Launch Arduino IDE.

After your Arduino IDE software is downloaded, you need to unzip the folder. Inside the
folder, you can find the application icon with an infinity label (application.exe). Double-click
the icon to start the IDE.

Step 5 − Open your first project.

Once the software starts, you have two options −

 Create a new project.


 Open an existing project example.

To create a new project, select File → New.


To open an existing project example, select File → Example → Basics → Blink.

Here, we are selecting just one of the examples with the name Blink. It turns the LED on and
off with some time delay. You can select any other example from the list.

Step 6 − Select your Arduino board.

To avoid any error while uploading your program to the board, you must select the correct
Arduino board name, which matches with the board connected to your computer.

Go to Tools → Board and select your board.


Here, we have selected Arduino Uno board according to our tutorial, but you must select the
name matching the board that you are using.

Step 7 − Select your serial port.

Select the serial device of the Arduino board. Go to Tools → Serial Port menu. This is likely
to be COM3 or higher (COM1 and COM2 are usually reserved for hardware serial ports). To
find out, you can disconnect your Arduino board and re-open the menu, the entry that
disappears should be of the Arduino board. Reconnect the board and select that serial port.

Step 8 − Upload the program to your board.


Before explaining how we can upload our program to the board, we must demonstrate the
function of each symbol appearing in the Arduino IDE toolbar.

A − Used to check if there is any compilation error.

B − Used to upload a program to the Arduino board.

C − Shortcut used to create a new sketch.

D − Used to directly open one of the example sketch.

E − Used to save your sketch.

F − Serial monitor used to receive serial data from the board and send the serial data to the
board.

Now, simply click the "Upload" button in the environment. Wait a few seconds; you will see
the RX and TX LEDs on the board, flashing. If the upload is successful, the message "Done
uploading" will appear in the status bar.

Note − If you have an Arduino Mini, NG, or other board, you need to press the reset button
physically on the board, immediately before clicking the upload button on the Arduino
Software.

Arduino - Program Structure


In this chapter, we will study in depth, the Arduino program structure and we will learn more
new terminologies used in the Arduino world. The Arduino software is open-source. The
source code for the Java environment is released under the GPL and the C/C++
microcontroller libraries are under the LGPL.

Sketch − The first new terminology is the Arduino program called “sketch”.
Structure

Arduino programs can be divided in three main parts: Structure, Values (variables and
constants), and Functions. In this tutorial, we will learn about the Arduino software program,
step by step, and how we can write the program without any syntax or compilation error.

Let us start with the Structure. Software structure consist of two main functions −

 Setup( ) function
 Loop( ) function

Void setup ( ) {

 PURPOSE − The setup() function is called when a sketch starts. Use it to initialize
the variables, pin modes, start using libraries, etc. The setup function will only run
once, after each power up or reset of the Arduino board.
 INPUT − -
 OUTPUT − -
 RETURN − -

Void Loop ( ) {

 PURPOSE − After creating a setup() function, which initializes and sets the initial
values, the loop() function does precisely what its name suggests, and loops
consecutively, allowing your program to change and respond. Use it to actively
control the Arduino board.
 INPUT − -
 OUTPUT − -
 RETURN − -

Arduino - Data Types


Data types in C refers to an extensive system used for declaring variables or functions of
different types. The type of a variable determines how much space it occupies in the storage
and how the bit pattern stored is interpreted.

The following table provides all the data types that you will use during Arduino
programming.

void Boolean char Unsigned char byte int Unsigned int word

long Unsigned long short float double array String-char array String-object

void

The void keyword is used only in function declarations. It indicates that the function is
expected to return no information to the function from which it was called.

Example
Void Loop ( ) {
// rest of the code
}
Boolean

A Boolean holds one of two values, true or false. Each Boolean variable occupies one byte of
memory.

Example
boolean val = false ; // declaration of variable with type boolean and
initialize it with false
boolean state = true ; // declaration of variable with type boolean and
initialize it with true
Char

A data type that takes up one byte of memory that stores a character value. Character literals
are written in single quotes like this: 'A' and for multiple characters, strings use double
quotes: "ABC".

However, characters are stored as numbers. You can see the specific encoding in the ASCII
chart. This means that it is possible to do arithmetic operations on characters, in which the
ASCII value of the character is used. For example, 'A' + 1 has the value 66, since the ASCII
value of the capital letter A is 65.

Example
Char chr_a = ‘a’ ;//declaration of variable with type char and initialize
it with character a
Char chr_c = 97 ;//declaration of variable with type char and initialize it
with character 97
unsigned char

Unsigned char is an unsigned data type that occupies one byte of memory. The unsigned
char data type encodes numbers from 0 to 255.

Example
Unsigned Char chr_y = 121 ; // declaration of variable with type Unsigned
char and initialize it with character y
byte

A byte stores an 8-bit unsigned number, from 0 to 255.


Example
byte m = 25 ;//declaration of variable with type byte and initialize it
with 25
int

Integers are the primary data-type for number storage. int stores a 16-bit (2-byte) value. This
yields a range of -32,768 to 32,767 (minimum value of -2^15 and a maximum value of (2^15)
- 1).

The int size varies from board to board. On the Arduino Due, for example, an int stores a 32-
bit (4-byte) value. This yields a range of -2,147,483,648 to 2,147,483,647 (minimum value of
-2^31 and a maximum value of (2^31) - 1).

Example
int counter = 32 ;// declaration of variable with type int and initialize
it with 32
Unsigned int

Unsigned ints (unsigned integers) are the same as int in the way that they store a 2 byte value.
Instead of storing negative numbers, however, they only store positive values, yielding a
useful range of 0 to 65,535 (2^16) - 1). The Due stores a 4 byte (32-bit) value, ranging from 0
to 4,294,967,295 (2^32 - 1).

Example
Unsigned int counter = 60 ; // declaration of variable with
type unsigned int and initialize it with 60
Word

On the Uno and other ATMEGA based boards, a word stores a 16-bit unsigned number. On
the Due and Zero, it stores a 32-bit unsigned number.

Example
word w = 1000 ;//declaration of variable with type word and initialize it
with 1000
Long

Long variables are extended size variables for number storage, and store 32 bits (4 bytes),
from -2,147,483,648 to 2,147,483,647.

Example
Long velocity = 102346 ;//declaration of variable with type Long and
initialize it with 102346
unsigned long

Unsigned long variables are extended size variables for number storage and store 32 bits (4
bytes). Unlike standard longs, unsigned longs will not store negative numbers, making their
range from 0 to 4,294,967,295 (2^32 - 1).

Example
Unsigned Long velocity = 101006 ;// declaration of variable with
type Unsigned Long and initialize it with 101006
short

A short is a 16-bit data-type. On all Arduinos (ATMega and ARM based), a short stores a 16-
bit (2-byte) value. This yields a range of -32,768 to 32,767 (minimum value of -2^15 and a
maximum value of (2^15) - 1).

Example
short val = 13 ;//declaration of variable with type short and initialize it
with 13
float

Data type for floating-point number is a number that has a decimal point. Floating-point
numbers are often used to approximate the analog and continuous values because they have
greater resolution than integers.

Floating-point numbers can be as large as 3.4028235E+38 and as low as -3.4028235E+38.


They are stored as 32 bits (4 bytes) of information.

Example
float num = 1.352;//declaration of variable with type float and initialize
it with 1.352
double

On the Uno and other ATMEGA based boards, Double precision floating-point number
occupies four bytes. That is, the double implementation is exactly the same as the float, with
no gain in precision. On the Arduino Due, doubles have 8-byte (64 bit) precision.

Example
double num = 45.352 ;// declaration of variable with type double and
initialize it with 45.352

Arduino - Variables & Constants


Before we start explaining the variable types, a very important subject we need to make sure,
you fully understand is called the variable scope.

What is Variable Scope?

Variables in C programming language, which Arduino uses, have a property called scope. A
scope is a region of the program and there are three places where variables can be declared.
They are −

 Inside a function or a block, which is called local variables.


 In the definition of function parameters, which is called formal parameters.
 Outside of all functions, which is called global variables.
Local Variables

Variables that are declared inside a function or block are local variables. They can be used
only by the statements that are inside that function or block of code. Local variables are not
known to function outside their own. Following is the example using local variables −

Void setup () {

Void loop () {
int x , y ;
int z ; Local variable declaration
x = 0;
y = 0; actual initialization
z = 10;
}
Global Variables

Global variables are defined outside of all the functions, usually at the top of the program.
The global variables will hold their value throughout the life-time of your program.

A global variable can be accessed by any function. That is, a global variable is available for
use throughout your entire program after its declaration.

The following example uses global and local variables −

Int T , S ;
float c = 0 ; Global variable declaration

Void setup () {

Void loop () {
int x , y ;
int z ; Local variable declaration
x = 0;
y = 0; actual initialization
z = 10;
}

Arduino - Operators
An operator is a symbol that tells the compiler to perform specific mathematical or logical
functions. C language is rich in built-in operators and provides the following types of
operators −

 Arithmetic Operators
 Comparison Operators
 Boolean Operators
 Bitwise Operators
 Compound Operators
Arithmetic Operators

Assume variable A holds 10 and variable B holds 20 then −

Show Example

Operator
Operator name Description Example
simple

assignment Stores the value to the right of the equal sign in the
= A=B
operator variable to the left of the equal sign.

A + B will give
addition + Adds two operands
30

A - B will give
subtraction - Subtracts second operand from the first
-10

A * B will give
multiplication * Multiply both operands
200

B / A will give
division / Divide numerator by denominator
2

Modulus Operator and remainder of after an integer B % A will give


modulo %
division 0

Comparison Operators

Assume variable A holds 10 and variable B holds 20 then −

Show Example

Operator
Operator name Description Example
simple

Checks if the value of two operands is equal or not, if yes (A == B) is


equal to ==
then condition becomes true. not true

Checks if the value of two operands is equal or not, if (A != B) is


not equal to !=
values are not equal then condition becomes true. true

Checks if the value of left operand is less than the value (A < B) is
less than <
of right operand, if yes then condition becomes true. true

Checks if the value of left operand is greater than the


(A > B) is not
greater than > value of right operand, if yes then condition becomes
true
true.

less than or <= Checks if the value of left operand is less than or equal to (A <= B) is
equal to the value of right operand, if yes then condition becomes true
true.

Checks if the value of left operand is greater than or


greater than or (A >= B) is
>= equal to the value of right operand, if yes then condition
equal to not true
becomes true.

Boolean Operators

Assume variable A holds 10 and variable B holds 20 then −

Show Example

Operator Operator
Description Example
name simple

Called Logical AND operator. If both the operands are non- (A && B) is
and &&
zero then then condition becomes true. true

Called Logical OR Operator. If any of the two operands is non- (A || B) is


or ||
zero then then condition becomes true. true

Called Logical NOT Operator. Use to reverses the logical state


!(A && B) is
not ! of its operand. If a condition is true then Logical NOT
false
operator will make false.

Bitwise Operators

Assume variable A holds 60 and variable B holds 13 then −

Show Example

Operator Operator
Description Example
name simple

Binary AND Operator copies a bit to the result if it (A & B) will give 12
and &
exists in both operands. which is 0000 1100

Binary OR Operator copies a bit if it exists in either (A | B) will give 61


or |
operand which is 0011 1101

Binary XOR Operator copies the bit if it is set in one (A ^ B) will give 49
xor ^
operand but not both. which is 0011 0001

Binary Ones Complement Operator is unary and has (~A ) will give -60
not ~
the effect of 'flipping' bits. which is 1100 0011

Binary Left Shift Operator. The left operands value is


A << 2 will give 240
shift left << moved left by the number of bits specified by the
which is 1111 0000
right operand.

shift right >> Binary Right Shift Operator. The left operands value is A >> 2 will give 15
moved right by the number of bits specified by the
which is 0000 1111
right operand.

Compound Operators

Assume variable A holds 10 and variable B holds 20 then −

Show Example

Operator
Operator name Description Example
simple

Increment operator, increases integer value by


increment ++ A++ will give 11
one

Decrement operator, decreases integer value by


decrement -- A-- will give 9
one

Add AND assignment operator. It adds right B += A is


compound
+= operand to the left operand and assign the result equivalent to B =
addition
to left operand B+ A

Subtract AND assignment operator. It subtracts B -= A is


compound
-= right operand from the left operand and assign equivalent to B = B
subtraction
the result to left operand -A

Multiply AND assignment operator. It multiplies B*= A is


compound
*= right operand with the left operand and assign equivalent to B =
multiplication
the result to left operand B* A

Divide AND assignment operator. It divides left B /= A is


compound
/= operand with the right operand and assign the equivalent to B = B
division
result to left operand /A

Modulus AND assignment operator. It takes B %= A is


compound
%= modulus using two operands and assign the equivalent to B = B
modulo
result to left operand %A

compound A |= 2 is same as A
|= bitwise inclusive OR and assignment operator
bitwise or =A|2

compound A &= 2 is same as


&= Bitwise AND assignment operator
bitwise and A=A&2

Arduino - Control Statements

You might also like