Arduino

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 8

2.

3 Arduino
Arduino is open source physical processing which is base on a microcontroller board and an
incorporated development environment for the board to be programmed. Arduino gains a few
inputs, for example, switches or sensors and control a few multiple outputs, for example, lights,
engine and others. Arduino program can run on Windows, Macintosh and Linux operating
systems (OS) opposite to most microcontrollers’ frameworks which run only on Windows.
Arduino programming is easy to learn and apply to beginners and amateurs. Arduino is an
instrument used to build a better version of a computer which can control, interact and sense
more than a normal desktop computer. It's an open-source physical processing stage focused
around a straightforward microcontroller board, and an environment for composing programs for
the board. Arduino can be utilized to create interactive items, taking inputs from a diverse
collection of switches or sensors, and controlling an assortment of lights, engines, and other
physical outputs. Arduino activities can be remaining solitary, or they can be associated with
programs running on your machine (e.g. Flash, Processing and Maxmsp.) The board can be
amassed by hand or bought preassembled; the open-source IDE can be downloaded free of
charge. Focused around the Processing media programming environment, the Arduino
programming language is an execution of Wiring, a comparative physical computing platform.
Figure 7- Arduino’s

2.3.1 Why choosing Arduino


There are numerous different microcontrollers and microcontroller platforms accessible for
physical computing. Parallax Basic Stamp, Netmedia's BX-24, Phidgets, MIT's Handyboard, and
numerous others offer comparative usefulness. These apparatuses take the chaotic subtle
elements of microcontroller programming and wrap it up in a simple to-utilize bundle. Arduino
additionally rearranges the methodology of working with microcontrollers; moreover it offers
some advantages for instructors, students, and intrigued individuals:
• Inexpensive - Arduino boards are moderately cheap compared with other microcontroller
boards. The cheapest version of the Arduino module can be amassed by hand, and even the
preassembled Arduino modules cost short of what $50.
• Cross-platform - The Arduino programming runs multiple operating systems Windows,
Macintosh OSX, and Linux working frameworks. So we conclude that Arduino has an advantage
as most microcontroller frameworks are constrained to Windows.
• Straightforward, clear programming method - The Arduino programming environment is easy
to use for novices, yet sufficiently versatile for cutting edge customers to adventure as well. For
educators, its favorably engaged around the Processing programming environment, so
understudies finding ways to understand how to program in that environment will be familiar
with the nature of arduino.

• Open source and extensible programming. The Arduino program language is available as open
source, available for development by experienced engineers. The lingo can be reached out
through C++ libraries, and people expecting to understand the specific purposes of different
interests can make the leap from Arduino to the AVR C programming language on which it is
based. Basically, you can incorporate AVR-C code clearly into your Arduino programs if you
have to.
• Open source and extensible hardware - The Arduino is concentrated around Atmel's Atmega8
and Atmega168 microcontrollers. The plans for the modules are circulated under a Creative
Commons license, so experienced circuit designers can make their own particular interpretation
of the module, extending it and improving it. slightly inexperienced customers can build the
breadboard variation of the module remembering the finished objective to perceive how it
capacities and save money.

ARDUINO UNO:
The Arduino Uno is a microcontroller board based on the ATmega328 (datasheet). It has
14 digital input/output pins (of which 6 can be used as PWM outputs), 6 analog inputs, a 16
MHz crystal oscillator, a USB connection, a power jack, an ICSP header, and a reset button. It
contains everything needed to support the microcontroller; simply connect it to a computer with
a USB cable or power it with a AC-to-DC adapter or battery to get started. The Uno differs from
all preceding boards in that it does not use the FTDI USB-to-serial driver chip. Instead, it
features the Atmega8U2 programmed as a USB-to-serial converter. "Uno" means one in Italian
and is named to mark the upcoming release of Arduino 1.0. The Uno and version 1.0 will be the
reference versions of Arduno, moving forward. The Uno is the latest in a series of USB Arduino
boards, and the reference model for the Arduino platform;

Technical specifications of arduino:

Microcontroller: ATmega328
Operating Voltage: 5V
Input Voltage (recommended): 7-12V
Input Voltage (limits): 6-20V
Digital I/O Pins 14 (of which 6 provide PWM output)
Analog Input Pins 6
DC Current per I/O Pin 40 mA
DC Current for 3.3V Pin 50 mA
Flash Memory
32 KB of which 0.5 KB used by
bootloader
SRAM 2 KB
EEPROM 1 KB
Clock Speed 16 MHz

POWER

The Arduino Uno can be powered via the USB connection or with an external power supply. The power
source is selected automatically.

External (non-USB) power can come either from an AC-to-DC adapter (wall-wart) or battery. The adapter
can be connected by plugging a 2.1mm center-positive plug into the board's power jack. Leads from a
battery can be inserted in the Gnd and Vin pin headers of the POWER connector.
The board can operate on an external supply of 6 to 20 volts. If supplied with less than 7V, however, the
5V pin may supply less than five volts and the board may be unstable. If using more than 12V, the
voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts.

The power pins are as follows:

• VIN. The input voltage to the Arduino board when it's using an external power source (as opposed to 5
volts from the USB connection or other regulated power source). You can supply voltage through this
pin, or, if supplying voltage via the power jack, access it through this pin.

• 5V. The regulated power supply used to power the microcontroller and other components on the
board. This can come either from VIN via an on-board regulator, or be supplied by USB or another
regulated 5V supply.

• 3V3. A 3.3 volt supply generated by the on-board regulator. Maximum current draw is 50 mA.

• GND. Ground pins.

MEMORY:

The Atmega328 has 32 KB of flash memory for storing code (of which 0,5 KB is used for the bootloader);
It has also 2 KB of SRAM and 1 KB of EEPROM (which can be read and written with the EEPROM library).

INPUT/OUTPUT

Each of the 14 digital pins on the Uno can be used as an input or output, using pinMode(), digitalWrite(),
and digitalRead() functions. They operate at 5 volts. Each pin can provide or receive a maximum of 40
mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms. In addition, some pins
have specialized functions:

• Serial: 0 (RX) and 1 (TX). Used to receive (RX) and transmit (TX) TTL serial data. TThese pins are
connected to the corresponding pins of the ATmega8U2 USB-to-TTL Serial chip .

• External Interrupts: 2 and 3. These pins can be configured to trigger an interrupt on a low value, a
rising or falling edge, or a change in value. See the attachInterrupt() function for details.
• PWM: 3, 5, 6, 9, 10, and 11. Provide 8-bit PWM output with the analogWrite() function.

• SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). These pins support SPI communication, which, although
provided by the underlying hardware, is not currently included in the Arduino language.

• LED: 13. There is a built-in LED connected to digital pin 13. When the pin is HIGH value, the LED is on,
when the pin is LOW, it's off. The Uno has 6 analog inputs, each of which provide 10 bits of resolution
(i.e. 1024 different values). By default they measure from ground to 5 volts, though is it possible to
change the upper end of their range using the AREF pin and the analogReference() function.
Additionally, some pins have specialized functionality:

• I 2C: 4 (SDA) and 5 (SCL). Support I2C (TWI) communication using the Wire library. There are a couple
of other pins on the board:

• AREF. Reference voltage for the analog inputs. Used with analogReference().

• Reset. Bring this line LOW to reset the microcontroller. Typically used to add a reset button to shields
which block the one on the board.

COMMUNICATION:

The Arduino Uno has a number of facilities for communicating with a computer, another
Arduino, or other microcontrollers. The ATmega328 provides UART TTL (5V) serial
communication, which is available on digital pins 0 (RX) and 1 (TX). An ATmega8U2 on the
board channels this serial communication over USB and appears as a virtual com port to
software on the computer. The '8U2 firmware uses the standard USB COM drivers, and no
external driver is needed. However, on Windows, an *.inf file is required..

The Arduino software includes a serial monitor which allows simple textual data to be sent to
and from the Arduino board. The RX and TX LEDs on the board will flash when data is being
transmitted via the USB-toserial chip and USB connection to the computer (but not for serial
communication on pins 0 and 1).
A SoftwareSerial library allows for serial communication on any of the Uno's digital pins.

The ATmega328 also support I2C (TWI) and SPI communication. The Arduino software
includes a Wire library to simplify use of the I2C bus; see the documentation for details. To use
the SPI communication, please see the ATmega328 datasheet.

2.8 Programming

The Arduino Uno can be programmed with the Arduino software. The ATmega328 on the Arduino Uno
comes preburned with a bootloader that allows you to upload new code to it without the use of an
external hardware programmer. It communicates using the original STK500 protocol (reference, C
headerfiles). You can also bypass the bootloader and program the microcontroller through the ICSP
(InCircuit Serial Programming) header; see these instructions for details. The ATmega16U2 (or 8U2 in the
rev1 and rev2 boards) firmware source code is available . The ATmega16U2/8U2 is loaded with a DFU
bootloader, which can be activated by: On Rev1 boards: connecting the solder jumper on the back of
the board (near the map of Italy) and then resetting the 8U2. 10 On Rev2 or later boards: there is a
resistor that pulling the 8U2/16U2 HWB line to ground, making it easier to put into DFU mode. You can
then use Atmel's FLIP software (Windows) or the DFU programmer (Mac OS X and Linux) to load a new
firmware. Or you can use the ISP header with an external programmer (overwriting the DFU
bootloader). See this user-contributed tutorial for more information.

2.9 Automatic (Software) Reset

Rather than requiring a physical press of the reset button before an upload, the Arduino Uno is designed
in a way that allows it to be reset by software running on a connected computer. One of the hardware
flow control lines (DTR) of theATmega8U2/16U2 is connected to the reset line of the ATmega328 via a
100 nanofarad capacitor. When this line is asserted (taken low), the reset line drops long enough to
reset the chip. The Arduino software uses this capability to allow you to upload code by simply pressing
the upload button in the Arduino environment. This means that the bootloader can have a shorter
timeout, as the lowering of DTR can be well-coordinated with the start of the upload. This setup has
other implications. When the Uno is connected to either a computer running Mac OS X or Linux, it resets
each time a connection is made to it from software (via USB). For the following half-second or so, the
bootloader is running on the Uno. While it is programmed to ignore malformed data (i.e. anything
besides an upload of new code), it will intercept the first few bytes of data sent to the board after a
connection is opened. If a sketch running on the board receives one-time configuration or other data
when it first starts, make sure that the software with which it communicates waits a second after
opening the connection and before sending this data. The Uno contains a trace that can be cut to
disable the auto-reset. The pads on either side of the trace can be soldered together to re-enable it. It's
labeled "RESET-EN". You may also be able to disable the auto-reset by connecting a 110 ohm resistor
from 5V to the reset line. 11

2.10 USB Overcurrent Protection

The Arduino Uno has a resettable polyfuse that protects your computer's USB ports from shorts and
overcurrent. Although most computers provide their own internal protection, the fuse provides an extra
layer of protection. If more than 500 mA is applied to the USB port, the fuse will automatically break the
connection until the short or overload is removed.

2.11 Physical Characteristics

The maximum length and width of the Uno PCB are 2.7 and 2.1 inches respectively, with the USB
connector and power jack extending beyond the former dimension. Four screw holes allow the board to
be attached to a surface or case. Note that the distance between digital pins 7 and 8 is 160 mil (0.16"),
not an even multiple of the 100 mil spacing of the other pins.

You might also like