0% found this document useful (0 votes)
17 views19 pages

Arduino 2

The document provides an introduction to Arduino, including: - The microcontroller at the heart of Arduino and its specifications - How Arduino is an open source hardware and software platform for building electronic prototypes - An overview of the popular Arduino Uno R3 board, its components, and pin layout - How shields can add extra functionality to Arduino boards - An explanation of the different types of pins on the Arduino board and their functions

Uploaded by

Shahariar Jubair
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
0% found this document useful (0 votes)
17 views19 pages

Arduino 2

The document provides an introduction to Arduino, including: - The microcontroller at the heart of Arduino and its specifications - How Arduino is an open source hardware and software platform for building electronic prototypes - An overview of the popular Arduino Uno R3 board, its components, and pin layout - How shields can add extra functionality to Arduino boards - An explanation of the different types of pins on the Arduino board and their functions

Uploaded by

Shahariar Jubair
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 19

Introduction to Arduino

Note:
Most Arduino boards use
What is Arduino? the Atmel 8-bit AVR
microcontroller.

u At the heart of the Arduino is the microcontroller. A microcontroller is a


standalone, singlechip integrated circuit that contains a CPU, read-only
memory, random access memory and various I/O busses. The Arduino
UNO R3 which we will be using uses the ATmega328 chip.
u Specs are:

32 KB (ATmega328P) of which
Flash Memory
0.5 KB used by bootloader

SRAM 2 KB (ATmega328P)
EEPROM 1 KB (ATmega328P)
EEPROM: Electrically
Clock Speed 16 MHz
Erasable Programmable
u However do not be too concerned if you do not understand all those Read-Only Memory. Non-
specifications because we will be interacting with the microcontroller volatile memory.
using the interface that the Arduino board provides us. Can be erased and
u It is good to know these specifications as you begin to develop more reprogrammed using a
complex applications because they do put limits on what we can do. pulsed voltage
What is Arduino?
u The Arduino is an open source hardware and software platform that is
incredibly powerful yet easy to use.
u You can look at and download the code from any of the Arduino
repositories on GitHub here:
u https://github.com/arduino
u This platform has captured the imagination of electronic enthusiasts
and the maker community everywhere. It enables people to
inexpensively experiment with electronic prototypes and see their
projects come to life.
u Projects can range from simply making an LED blink or recording the
temperature to controlling 3D printers or making robots.
u While there are numerous models of the Arduino, in this course we
will primarily be using the very popular Arduino UNO R3 board.
Arduino Uno's R3 board layout
DC supply Input: The DC supply input can
be used with an AC-to-DC power
adapter or a battery. The power source
can be connected using a 2.1 mm
centerpositive plug. The Arduino Uno
operates at 5 volts but can have a
maximum input of 20 volts; however, it is
recommended to not use more than 12V.

Voltage Regulator: The Arduino uses a


linear regulator to control the voltage
going into the board.

USB Port: The USB port can be used to


power and program the board.

RESET button: This button, when


pressed, will reset the board.
ICSP for USB: The in-circuit serial
programming pins are used to flash the
firmware on the USB interface chip.

ICSP for ATmega328: The in-circuit serial


programming pins are used to flash the
firmware on the ATmega microcontroller.

ATmega328: The microcontroller for the


Arduino Uno board.
Digital and PWM connectors: These pins, labeled 0 to 13, can be used as
either a digital input or output pins. The pins labeled with the tilde (~) can
also be used for Pulse-Width Modulation (PWM) output.

Power and External Reset: These pins in this header, Analog In Connectors: The pins, labeled A0 to A5, can be
provide ground and power for external devices and used for analog input. These pins can be used to read the
sensors from the Arduino. The Arduino can also be output from analog sensors.
powered through these pins. There is also a reset pin
that can be used to reset the Arduino.
Arduino shields
u An Arduino shield is a modular circuit
board that plugs directly into the pin
headers of the Arduino board.
u These shields will add extra
functionality to the Arduino board.
u If we are looking to connect to the
internet, do speech recognition,
control DC motors or add other
functionality to the Arduino, there is
probably a shield that can help us.
u While you don’t have to use shields,
they do make adding extra
functionality to our Arduino boards
very easy.
Arduino looks with two shields attached:
u A shield fits on top of the
Arduino by plugging directly
into the pin headers.
u We can also stack one shield
on top of another if they do
not use the same resources.
Here is how an
Arduino pin

u There is a total of
31 pins in the
Arduino Uno pin
headers.
u Most of these pins
can be configured to
perform different
functions.
Digital pins
u Used the most when
connecting external sensors.
u These pins can be configured
for either input or output.
u These pins default to an
input state
u The digital pins will have one
of two values: HIGH (1),
which is 5V, or LOW (0),
which is 0V.
Analog input pins
u The Arduino Uno contains a
built-in Analog-To-Digital
(ADC) converter with six
channels, which gives us six
analog input pins. The ADC
converts an analog signal into
a digital value.
u While the digital pins have two
values, either high or low, the
analog input pins have values
from 0 to 1023 relative to the
reference value of the
Arduino.
u The Arduino Uno has a
reference value of 5V.
u Used to read analog sensors
such as rangefinders and
temperature sensors.
u The six analog pins can also be
configured as digital pins if we
run out of digital pins in our
project.
PWM pins
u Where the analog input pins
are designed to read analog
sensors (input), the PWM pins
are designed for output.
PWM is a technique for
obtaining analog results
with digital output.
u Since a digital output can be
either on or off, to obtain
the analog output the digital
output is switch between
HIGH and LOW rapidly.
u The percentage of the time
that the signal is high is
called the duty cycle.
Duty cycle

u We have the ability to set the


frequency of how fast the signal can
switch between HIGH and LOW.
u This frequency is measured in Hertz
and sets how many times the signal
can switch per second.
u For example, if we set the frequency
to 500 Hz, that would mean that
the signal could switch 500 times a
second.

u This will be come clearer as we use


the pins.
Power pins
u VIN: This pin is used when
we power the Arduino board
using an external power
supply.
u GND: These are the ground
pins.
u 5V: This is 5V out and is used
to power most sensors.
u 3.3V: This is 3.3V out and
can be used to power sensors
that are compatible with
3.3V.
u Reset: This pin can be used
to reset the Arduino board by
an external source.
u ioref: This is the reference
voltage for the board. For
the Arduino, this will be 5V.
Serial pins
u Used for serial
communication.
u The RX (digital pin 0) is used
to receive.
u TX (digital pin 1) is used to
transmit.
u Serial communications work
on binary (1’s and 0’s).
u Provided for legacy reasons
primarily.
SPI pins
u The Serial Peripheral Interface
(SPI) pins are used for a
synchronous serial data protocol
that is used by microcontrollers for
communicating with peripheral
devices.
u This protocol always has one
master with one or more slave
devices.
u MISO: The Master in Slave out pin
is used to send data from the slave
to the master device.
u MOSI: The Master out Slave in the
pin is used to send data from the
master to the slave device.
u SCK: The serial clock synchronizes
the data transmission and is
generated by the master.
u SS: The slave select pin tells the
slave to go active or to go to sleep.
This is used to select which slave
device should receive the
transmission from the master.
Installing the IDE

u The first step in programming an Arduino board install the


Arduino IDE (integrated development environment).
u Linux/Raspberry PI
u This program checks code and loads it onto the Arduino.
Install the latest version of Arduino IDE using apt:
u sudo apt-get update && sudo apt-get upgrade
u sudo apt-get install Arduino
u Windows
u Download from:
https://www.arduino.cc/en/Main/Software
Programming in for Arduino The setup function is the first to
execute when the program is
executed, and this function is
called only once.

u The Arduino programming language is Basic code Used to initialize the pin modes
based on a very simple hardware structure and start serial communication.
programming language called processing, This function has to be included
which is similar to the C language. void setup( ) even if there are no statements
{ to execute.
u You create sketches which contain your
statements;
code
}
u After the sketch is written in the Arduino The execution block runs after
IDE, it should be uploaded on the Arduino void loop( ) setup and hosts statements like
board for execution. { reading inputs, triggering outputs,
statement; checking conditions etc..
}
As the name suggests, the loop( )
function executes the set of
statements (enclosed in curly
braces) repeatedly.
Example int led = 9; // The digital pin to which the LED is connected
int brightness = 0; // Brightness of LED is initially set to 0

program int fade = 5; // By how many points the LED should fade

void setup()
{
LED fade-in and pinMode(led, OUTPUT); //pin 10 is set as output pin
fade-out }

void loop() // The loop function runs again and again


{
analogWrite(led, brightness); // set the brightness of LED

brightness = brightness + fade; //Increase the brightness of LED by 5 points

if (brightness <= 0 || brightness >= 255) // check the level of brightness

fade = -fade;

}
delay(30); // Wait for 30 milliseconds
}

You might also like