INTRODUCTION TO ARDUINO
CPE 17 - Microcontroller
Contents
• What is an Arduino
• History of Arduino
• Programming environment
• Advantage of Arduino
• Features of Arduino
• Applications of Arduino
• Arduino vs other environment
What is an Arduino?
The Arduino is an….
• An open-source hardware and software platform project and user community that
designs and manufactures single-board microcontrollers and microcontroller kits
for building device
• Arduino boards are available commercially in preassembled form or as Do-it-
yourself (DIY) kits.
• Arduino board designs use a variety of microprocessors and controllers, intended
to make the application of interactive objects or environments more accessible.
• Design to make the process of using electronics multidisciplinary projects more
accessible
• The boards are equipped with sets of digital and analog input/output (I/O) pins
that may be interfaced to various expansion boards (‘shields) or breadboards (For
prototyping) and other circuits.
• The microcontrollers can be programmed using C and C++ programming
languages.
Arduino can …
• Sense the environment by receiving input from variety of sensors.
• Affects its surroundings by controlling lights, motors, and other actuators.
Programming Environment
• The Arduino Uno can be programmed with the Arduino software IDE (Integrated
development environment).
• The Atmega328 on the Arduino Uno comes preburned with a Bootloader that
allows you to upload new code to it without the user of an external hardware
programmer.
• You can also bypass the Bootloader and program the microcontroller through the
ICSP (In-Circuit Serial Programming) header.
• Arduino IDE works on windows, linux as well as Mac lion X platforms.
Arduino IDE
Advantages of Arduino
• Open source
• Simplified and user-friendly programming language
• No additional programmer/burner hardware required for programming board
• Portable
• Low power consumption
The Basic Arduino board
Features of Arduino UNO
• Microcontroller ATmega328
• Operating Voltage 5V and 3.3V
• Input Voltage (recommended 7-12V)
• Input Voltage (limit 6-20V)
• Digital I/O Pins 14(of which 6 provide PWM output)
• Analog Input Pin 6
• DC Current per I/O Pin 40mA DC Current for 3.3V Pin 50mA
• Flash Memory 32KB (ATmega328) of which 0.5KB used by Bootloader
• SRAM 2KB (ATmega328)
• EEPROM 1KB (ATmega328)
• Clock Speed 16MHz
Most popular Arduino Boards
1. Arduino Uno
2. Arduino Leonardo
3. Arduino Mega
4. Arduino Due
5. Arduino Micro
6. Arduino LilyPad
7. Arduino Yun
Aduino-Branded boards
Shields
• Arduino and Arduino-compatible boards use printed circuit expansion boards
called shields, which plug into the normally supplied Arduino pin headers.
• Shields can provide motor controls for 3D printing and other applications, GNSS
(satellite navigation), Ethernet, liquid crystal display (LCD), or breadboarding
(prototyping).
• Several shields can also be made do it yourself (DIY).
• Some shields offer stacking
headers which allows
multiple shields to be
stacked on top of an Arduino
board.
• Here a prototyping shield is
stacked on two Adafruit
motor shield V2s.
• Dragino Lora Shield allows the user to
send data and reach extremely long
ranges at low data rates.
• Screw-terminal breakout
shield in a wing-type
format, allowing bare-end
wires to be connected to
the board without
requiring any specialized
pins.
• Adafruit motor shield V2, this is
an upgraded version of the
Adafruit’s motor shield which
now works over i2C and hence
saves a lot of digital I/O pins
• A USB host shield which
allows an Arduino board to
communicate with a USB
device such as a keyboard or a
mouse.
• Adafruit Motor Shield with
screw terminals for
connection to motors.
Officially discontinued, this
shield is still manufactured in
China
• Adafruit Datalogging Shield
with a Secure Digital (SD) card
slot and real-time clock (RTC)
chip along with some space
for adding components and
modules for customization.
Applications of Arduino
• Home
• Automations
• Sensor
• Prototyping
• Robotics
• ISP programming
• Easy Wifi, GSM, Ethernet,
Bluetooth, zigbee
Connectivity
Other Prototyping platforms
• Raspberry pi
• Beagle board
• Panda board
• Cotton candy
• CubieBoard
• APC Rock
• Hackberry
• Gooseberry
Arduino vs other environment
• Support for analog input
• Limited Computing power
• Comparatively cheap
• No GPU unit
• Limited memory
• PWM output available
• Open source
• Arduino is cheap and versatile open source prototyping environment
• It is basically designed for novice, non technical people
• Programming language is simple
• Arduino has terrific community support and documentation
• Technical people can use Arduino for testing sensors or other prototyping work