Arduino Uno
Arduino Uno Features
This board comes with all the features required to run the controller and can be
directly connected to the computer through USB cable that is used to transfer the
code to the controller using IDE (Integrated Development Environment) software,
mainly developed to program Arduino. So, let’s dive into the features of Arduino
Uno.
1. More frequency and number of instructions per cycle: Atmega328
microcontroller is placed on the board that comes with a number of features
like timers, counters, interrupts, PWM, CPU, I/O pins and based on a
16MHz clock that helps in producing more frequency and number of
instructions/cycle.
2. Built-in regulation: This board comes with a built-in regulation feature
which keeps the voltage under control when the device is connected to the
external device.
3. Flexibility & Ease of use: There are 14 I/O digital and 6 analog pins
incorporated in the board that allows the external connection with any
circuit with the board. These pins provide the flexibility and ease of use to
the external devices that can be connected through these pins.
4. Configurable pins: The 6 analog pins are marked as A0 to A5 and come
with a resolution of 10bits. These pins measure from 0 to 5V, however, they
can be configured to the high range using analogReference() function and
AREF pin.
5. Quick Start: Reset pin is available in the board that reset the whole board
and takes the running program in the initial stage. This pin is useful when
board hangs up in the middle of the running program; pushing this pin will
clear everything up in the program and starts the program right from the
beginning.
6. Greater Flash Memory: 13KB of flash memory is used to store the number
of instructions in the form of code.
7. Low Voltage Requirement: Only 5 V is required to turn the board on,
which can be achieved directly using USB port or external adapter, however,
it can support external power source up to 12 V which can be regulated and
limit to 5 V or 3.3 V based on the requirement of the project.
8. Plug & Play: There is no hard and fast interface required to connect the
devices to the board. Simply plug the external device into the pins of the
board that are laid out on the board in the form of the header.
9. USB interface: Arduino Uno comes with USB interface i.e. USB port is
added on the board to develop serial communication with the computer.
10. Power alternatives: Apart from USB, battery or AC to DC adopter
can also be used to power the board.
11. More Storage: There is a provision of Mirco SD card to be used in the
boards to make them store more information.
Arduino Uno Specifications
The specifications of Arduino Uno is as given in the table below.
ATmega38P – 8 bit AVR family
Microcontroller
microcontroller
Operating Voltage 5V
Recommended Input Voltage 7-12V
Input Voltage Limits 6-20V
Analog Input Pins 6 (A0-A5)
Digital I/O Pins 14 (Out of which 6 provide PWM output)
DC Current on I/O Pins 40mA
DC Current on 3.3V Pin 50mA
Flash Memory 32 KB (0.5 KB is used for Bootloader)
SRAM 2kB
EEPROM 1kB
Frequency (Clock Speed) 16MHz
Arduino Uno Specifications Table
Arduino Uno Pin Diagram
Figure shows the arduino uno pins, more specifically, I/O digital and analog pins
placed on the board which operates at 5V. But, these pins come with standard
operating ratings ranging between 20mA to 40mA. Internal pull-up resistors are
used in the board that limits the current exceeding from the given operating
conditions. However, too much increase in current makes these resistors useless
and damages the device.
Arduino Uno comes with an ability of interfacing with other Arduino boards,
microcontrollers and computer. The Atmega328 placed on the board provides
serial communication using pins like Rx and Tx. The Atmega16U2 incorporated
on the board provides a pathway for serial communication using USB com drivers.
Pin's information is as given in the table below.
Pin Category Pin Name Details
Vin: Input voltage to Arduino
when using an external
power source.
5V: Regulated power supply
used to power
microcontroller and other
Power Vin, 3.3V, 5V, GND
components on the board.
3.3V: 3.3V supply generated
by on-board voltage
regulator. Maximum current
draw is 50mA.
GND: ground pins.
Reset Reset Resets the microcontroller.
Used to provide analog input
Analog Pins A0-A5
in the range of 0-5V
Can be used as input or
Input/Output Pins Input/Output Pins
output pins.
Used to receive and transmit
Serial 0(Rx), 1(Tx)
TTL serial data.
External Interrupts 2, 3 To trigger an interrupt.
PWM 3, 5, 6, 9, 11 Provides 8-bit PWM output.
10 (SS), 11 (MOSI), 12 Used for SPI
SPI
(MISO) and 13 (SCK) communication.
Inbuilt LED 13 To turn on the inbuilt LED.
Used for TWI
TWI A4 (SDA), A5 (SCA)
communication.
To provide reference voltage
AREF Analogue REFerence
for input voltage.
Experiment 1:
AIM: Develop a program to blink 5 LEDs back and forth.
Components Required:
Name Quantity Component
U1 1 Arduino Uno R3
D1,D3 2 Red LED
R1,R2,R3,R4,R5 5 1 kΩ Resistor
D2 1 Green LED
D4 1 Blue LED
D5 1 Orange LED
Description:
An LED is used as an actuator with Arduino by converting an electrical signal
from the microcontroller into light energy, allowing the LED to physically indicate
a state or process. We can control the LED by connecting its anode through a
resistor to a digital output pin on the Arduino and its cathode to ground. By
programming the Arduino to send HIGH or LOW digital signals to that pin, we
can turn the LED on or off.
How it Works:
1. Physical Action:
The LED, as an actuator, transforms electrical energy into light, providing a
physical output to the user.
2. Arduino Control:
The Arduino microcontroller sends digital signals to the LED.
3. Circuit Connection:
The anode (positive, longer leg) of the LED is connected to an Arduino digital pin
(e.g., pin 2,3,4,5,6) through a current-limiting resistor.
The cathode (negative, shorter leg) of the LED is connected to a GND pin on the
Arduino.
Circuit Diagram:
Arduino Code:
const int led1 = 6
const int led2 = 5
const int led3 = 4
const int led4 = 3
const int led5 = 2
void setup ( )
{ // initialize the led pin as OUTPUT
pinMode (led1, OUTPUT);
pinMode (led2, OUTPUT);
pinMode (led3, OUTPUT);
pinMode (led4, OUTPUT);
pinMode (led5, OUTPUT);
}
void loop ( )
{
digitalWrite (led1, HIGH); // turn led1 ON
delay (1000);
digitalWrite (led1, LOW); // turn led1 OFF
delay (1000);
digitalWrite (led2, HIGH); // turn led2 ON
delay (1000);
digitalWrite (led2, LOW); // turn led2 OFF
delay (1000);
digitalWrite (led3, HIGH); // turn led3 ON
delay (1000);
digitalWrite (led3, LOW); // turn led3 OFF
delay (1000);
digitalWrite (led4, HIGH); // turn led4 ON
delay (1000);
digitalWrite (led4, LOW); // turn led4 OFF
delay (1000);
digitalWrite (led5, HIGH); // turn led5 ON
delay (1000);
digitalWrite (led5, LOW); // turn led5 OFF
delay (1000);
}
Result: Successfully demonstrated blinking 5 LEDs back and forth.