Arduino is a software company, project, and user
community that designs and manufactures computer hardware, open, and microcontroller-based kits for building
digital devices and interactive objects that can sense and control physical
devices.
The
project is based on microcontroller board designs, produced by several vendors,
using various microcontrollers. These systems provide sets of digital and
analog I/O pins that can interface to various
expansion boards (termed shields) and
other circuits. The boards feature serial communication interfaces, including
Universal Serial Bus (USB) on some models, for loading programs from personal
computers. For programming the microcontrollers, the Arduino project provides
an integrated
development environment (IDE) based on a programming language named Processing, which
also supports the languages, C and C++.
The
first Arduino was introduced in 2005, aiming to provide a low cost, easy way
for novices and professionals to create devices that interact with their
environment using sensors and actuators. Common examples of such devices
intended for beginner hobbyists include simple robots, thermostats, and motion detectors.
Arduino
boards are available commercially in preassembled form, or as do-it-yourself kits. The hardware design specifications
are openly available, allowing the Arduino boards to be produced by anyone. Adafruit Industries estimated in mid-2011 that over 300,000
official Arduinos had been commercially produced, and in 2013 that 700,000 official boards
were in users' hands.
History
Colombian student Hernando
Barragán created the development platform Wiring as his Master's thesis project in 2004
at the Interaction Design
Institute Ivrea in Ivrea, Italy. Massimo Banzi and Casey
Reas (known for his work on Processing)
were supervisors for his thesis. The goal was to create low cost, simple tools
for non-engineers to create digital projects. The Wiring platform consisted of
a hardware PCB with an ATmega128 microcontroller, an integrated development
environment (IDE) based on Processing and library functions to easily program
the microcontroller.
In
2005, Massimo Banzi, with David Mellis (then an IDII student) and David
Cuartielles, added support for the cheaper ATmega8 microcontroller to Wiring.
But instead of continuing the work on Wiring, they forked (or copied) the
Wiring source code and started running it as a separate project, called Arduino.
The
Arduino's initial core team consisted of Massimo Banzi, David Cuartielles, Tom
Igoe, Gianluca Martino, and David Mellis.
The
name Arduino comes from a bar in Ivrea, where some
of the founders of the project used to meet. The bar was named after Arduin of Ivrea, who was the margrave
of the March and King of Italy from 1002 to 1014.
Following
the completion of the Wiring platform, its lighter, lower cost versions were
created and made available to the open-source community. Associated
researchers, including David Cuartielles, promoted the idea. Arduino's initial
core team consisted of Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca
Martino, and David Mellis.
Hardware
An Arduino board historically consists of an Atmel 8-, 16- or 32-bit AVR microcontroller (although since 2015 other makers'
microcontrollers have been used) with complementary components that facilitate
programming and incorporation into other circuits. An important aspect of the
Arduino is its standard connectors, which let users connect the CPU board to a
variety of interchangeable add-on modules termed shields. Some shields
communicate with the Arduino board directly over various pins, but many shields
are individually addressable via an I²C serial bus—so many shields can be stacked
and used in parallel. Before 2015, Official Arduinos had used the Atmel megaAVR series of chips, specifically the ATmega8, ATmega168, ATmega328, ATmega1280,
and ATmega2560.
In 2015, units by other producers were added. A handful of other processors
have also been used by Arduino compatible devices. Most boards include a 5 V linear regulator and a 16 MHz crystal oscillator (or ceramic resonator in some variants), although some designs
such as the LilyPad run at 8 MHz and dispense with the onboard voltage
regulator due to specific form-factor restrictions. An Arduino's
microcontroller is also pre-programmed with a boot loader that simplifies uploading of programs to
the on-chip flash
memory, compared with other devices that typically need an external programmer. This makes using an Arduino
more straightforward by allowing the use of an ordinary computer as the
programmer. Currently, optiboot bootloader is the default bootloader installed
on Arduino UNO.
At a
conceptual level, when using the Arduino integrated development environment,
all boards are programmed over a serial connection. Its implementation varies
with the hardware version. Some serial Arduino boards contain a level shifter
circuit to convert between RS-232logic
levels and transistor–transistor
logic (TTL)
level signals. Current Arduino boards are programmed via Universal Serial Bus (USB), implemented using USB-to-serial
adapter chips such as the FTDI FT232. Some boards, such as later-model Uno
boards, substitute the FTDI chip with a separate AVR chip containing
USB-to-serial firmware, which is reprogrammable via its own ICSP header. Other
variants, such as the Arduino Mini and the unofficial Boarduino, use a
detachable USB-to-serial adapter board or cable, Bluetooth or other methods, when used with
traditional microcontroller tools instead of the Arduino IDE, standard AVR in-system programming (ISP) programming is used.
The Arduino board exposes most
of the microcontroller's I/O pins for use by other circuits. The Diecimila,
Duemilanove, and current Uno provide
14 digital I/O pins, six of which can produce pulse-width
modulated signals,
and six analog inputs, which can also be used as six digital I/O pins. These
pins are on the top of the board, via female 0.1-inch (2.54 mm) headers.
Several plug-in application shields are also commercially available. The
Arduino Nano, and Arduino-compatible Bare Bones Board and Boarduino boards may provide male header pins on
the underside of the board that can plug into solderless
breadboards.
Many
Arduino-compatible and Arduino-derived boards exist. Some are functionally
equivalent to an Arduino and can be used interchangeably. Many enhance the
basic Arduino by adding output drivers, often for use in school-level
education, to simplify making buggies and small robots. Others are electrically
equivalent but change the form factor, sometimes retaining compatibility with
shields, sometimes not. Some variants use different processors, of varying
compatibility.
Official
boards
The original Arduino hardware
was produced by the Italian company Smart Projects. Some Arduino-branded boards
have been designed by the American companies SparkFun Electronics and Adafruit
Industries. As of 2016, 17 versions of the Arduino hardware had been
commercially produced.
·
Example Arduino boards
- Arduino Diecimila in Stoicheia
- Arduino Duemilanove (rev 2009b)
- Arduino UNO
- Arduino Leonardo
- Arduino Mega
- Arduino MEGA 2560 R3 (front side)
- Arduino MEGA 2560 R3 (back side)
- Arduino Nano
- Arduino Due
- LilyPad Arduino (rev 2007)
- Arduino Yun
Software
Arduino programs may be written
in any programming language with a compiler that produces binary
machine code. Atmel provides a development environment for their
microcontrollers, AVR Studio and the newer Atmel Studio.
The
Arduino project provides the Arduino integrated
development environment (IDE),
which is a cross-platform application written in the programming
language Java.
It originated from the IDE for the languages Processing and Wiring. It is
designed to introduce programming to artists and other newcomers unfamiliar
with software development. It includes a code editor with features such assyntax highlighting, brace matching, and automatic indentation, and
provides simple one-click mechanism to compile and load programs to an Arduino
board. A program written with the IDE for Arduino is called a
"sketch".
The
Arduino IDE supports the languages C and C++ using
special rules to organize code. The Arduino IDE supplies a software library called Wiring from the Wiring project,
which provides many common input and output procedures. A typical Arduino C/C++
sketch consist of two functions that are compiled and linked with a program
stub main() into an executable cyclic executive program:
·
setup(): a function that runs
once at the start of a program and that can initialize settings.
·
loop(): a function called
repeatedly until the board powers off.
After
compiling and linking with the GNU toolchain, also included with the IDE
distribution, the Arduino IDE employs the programavrdude to convert the executable code into a text
file in hexadecimal coding that is loaded into the Arduino board by a loader
program in the board's firmware.
Sample program
A
typical program for a beginning Arduino programmer blinks a light-emitting diode (LED) on and off. This program is usually
loaded in the Arduino board by the manufacturer. In the Arduino environment, a
user might write such a program as shown.
#define LED_PIN 13
void setup() {
pinMode(LED_PIN, OUTPUT); // Enable pin 13 for digital output
}
void loop() {
digitalWrite(LED_PIN, HIGH); // Turn on the LED
delay(1000); // Wait one second (1000 milliseconds)
digitalWrite(LED_PIN, LOW); // Turn off the LED
delay(1000); // Wait one second
}
Power
LED (red) and integrated LED on Line 13 (green) on Arduino compatible board,
made in China
Most
Arduino boards contain an LED and a load resistor connected between pin 13 and
ground which is a convenient feature for many tests.
arduino multiple servos
controlling multiple servos with arduino
mit app inventor bluetooth
arduino bluetooth mit app inventor
arduino speech to text
servo motor control using arduino uno
android stepper
dc motor inventor
mit arduino course
arduino mega 2560 servo motor
arduino bluetooth servo motor
control 4 servo motors with arduino
arduino code for voice recognition
bluetooth controlled servo motor using arduino
how to control multiple servos with arduino
how to make a voice controlled robot
stepper app for android
how to make an app for arduino
mit app inventor 2 arduino
home automation using mit app inventor
servo app
arduino bluetooth servo motor control
arduino control 4 dc motors via bluetooth
labview servo motor control arduino
app inventor bluetooth receive text
app inventor speech recognizer
make android app to control arduino
app inventor bluetooth error 507
voice control arduino bluetooth
how to use slider in mit app inventor
mit app inventor 2 bluetooth arduino
mıt app inventor
app inventor serial communication
mit app inventor speech to text
how to control multiple motors with arduino
app inventor delay procedure
mit app inventor bluetooth example
arduino voice recognition robot
how to control electrical appliances by mobile
android app inventor bluetooth
No comments:
Post a Comment