Various Applications Using Arduino Microcontroller….
Third Year, 1st Semester
Lecture No.4
Ass. Lecturer: Yousif Allbadi
M.Sc. of Communications Engineering
[email protected] University of Diyala
College of Engineering
Department of Communications Engineering
2020-2021
Microcontroller and DSP System
Arduino
A Brief History
In 2005, building upon the work of Hernando Barragan (creator of Wiring), Massimo Banzi
and David Cuartielles created Arduino, an easy-to-use programmable device for interactive art
design projects, at the Interaction Design Institute Ivrea in Ivrea, Italy. David Mellis developed
the Arduino software, which was based on Wiring. Before long, Gianluca Martino and Tom
Igoe joined the project, and the five are known as the original founders of Arduino. They
wanted a device that was simple, easy to connect to various things (such as relays, motors, and
sensors), and easy to program. It also needed to be inexpensive, as students and artists aren’t
known for having lots of spare cash. They selected the AVR family of 8-bit microcontroller
(MCU or µC) devices from Atmel and designed a self-contained circuit board with easy-to-use
connections, wrote bootloader firmware for the microcontroller, and packaged it all into a
simple integrated development environment (IDE) that used programs called “sketches.” The
result was the Arduino.
Arduino Team 2005
1
Department of Communication Engineering
Microcontroller and DSP System
Since then the Arduino has grown in several different directions, with some versions getting
smaller than the original, and some getting larger. Each has a specific intended niche to fill. The
common element among all of them is the Arduino runtime AVR-GCC library that is supplied
with the Arduino development environment, and the on-board bootloader firmware that comes
preloaded on the microcontroller of every Arduino board.
Arduino Uno Board
The Arduino family of boards use processors developed by the Atmel Corporation of San Jose,
California. Most of the Arduino designs utilize the 8-bit AVR series of microcontrollers, with the
Due being the primary exception with its ARM Cortex-M3 32-bit processor. We don’t cover the
Due in this book, since it is radically different from the AVR devices in many fundamental ways
2
Department of Communication Engineering
Microcontroller and DSP System
and really deserves a separate discussion devoted to it and similar microcontrollers based on the
ARM Cortex-M3 design.
Although an Arduino board is, as the Arduino team states, just a basic Atmel AVR
development board, it is the Arduino software environment that sets it apart. This is the common
experience for all Arduino users, and the cornerstone of the Arduino concept.
Introduction to Arduino:
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 programed (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.
3
Department of Communication Engineering
Microcontroller and DSP System
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 ATMEGA2560 microcontroller
4
Department of Communication Engineering
Microcontroller and DSP System
Arduino Uno
Arduino Maga
Arduino Micro Arduino Nano
5
Department of Communication Engineering
Microcontroller and DSP System
Arduino boards based on ATMEGA328 microcontroller
6
Department of Communication Engineering
Microcontroller and DSP System
Arduino boards based on ATMEGA32u4 microcontroller
Arduino Lilypad
Arduino Due
7
Department of Communication Engineering
Microcontroller and DSP System
Arduino boards based on AT91SAM3X8E microcontroller
ARDUINO – BOARD DESCRIPTION
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.
8
Department of Communication Engineering
Microcontroller and DSP System
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 volts.
9
Department of Communication Engineering
Microcontroller and DSP System
▪ 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 five 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.
10
Department of Communication Engineering
Microcontroller and DSP System
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.
11
Department of Communication Engineering