Arduino

The Arduino platform is one consisting of software and hardware, physical computing platform. Both components are open source in the sense of open source. The hardware consists of a simple I / O board with a microcontroller and analog and digital inputs and outputs. The development environment uses the programming language Processing, designed to facilitate less technically savvy, access to programming and microcontrollers. Arduino can be used to control stand-alone interactive objects or to interact with software applications on computers (such as Adobe Flash, Processing, Max / MSP, Pure Data, SuperCollider, various scripting languages ​​, terminal, vvvv, etc.). Arduino is for example used in art schools to build interactive installations.

The Arduino project received the 2006 Prix Ars Electronica in the Digital Communities category.

Development

The first Arduino board was developed in 2005 by Massimo Banzi and David Cuartielles and named after a pub. David Mellis wrote the programming language to do so. The scheme was published on the net and placed under a Creative Commons license. The first edition was 200 pieces, of which 50 went to a school. By 2008, about 50,000 boards were sold.

Hardware

The hardware is based on an Atmel AVR microcontroller from the megaAVR series or the Arduino Due to an Atmel ARM Cortex- M3 processor. Originally, the ATmega8, ATmega168 and later the date of the ATmega328, ATmega1280 and ATmega2560 of was installed. All boards are supplied either via USB ( 5V) or an external voltage source ( 7-12 V) and come with a 16 MHz quartz crystal (there are versions with 3.3 V supply voltage and those with a different clock ).

Conceptually, all boards are programmed via a serial interface, if reset is enabled. The microcontroller is pre-programmed with a boot loader, so that the programming can be done directly via the serial port without external programming device. For older boards for the RS- 232 interface was used. In the current board, the implementation of USB is done by serially via a proprietary USB -to-serial converter, based on the ATmega8U2. Before that, with the popular FT232RL chip from FTDI was realized. The version of Arduino Leonardo used as the processor ATmega32U4, which natively provides USB support and can therefore spend as keyboard or mouse compared to a PC.

The Arduino boards are the most I / O pins of the microcontroller to use for electronic circuits available. The currently popular boards offer 14 digital I / O pins of which may spend six PWM signals, and six can be used as analog inputs. For the extension to be preassembled or partially bare boards - so-called " Shields " - offered that are attachable to the Arduino board. But it can also be used, for example, plug-in boards for the design of circuits.

The latest version of Arduino Due features an ARM Cortex- M3 32 -bit processor from Atmel type SAM3X8E and, with 84MHz clock frequency, the most powerful version dar.

* Some of these 14 pins are reserved.

Software

Arduino comes with its own integrated development environment (IDE). It is a platform-independent Java application. It is based on the Processing IDE, a company specializing in the areas of application graphics, simulation and animation development environment. The Arduino IDE includes a code editor and binds gcc as a compiler. In addition, the avr- gcc library and other Arduino libraries are involved, which greatly simplify programming in C and C .

For a fully functional program, it suffices to define two methods:

  • Setup () - is called when the program is started (either by transferring it to the board or by pressing the reset button ) once, for example, to define pins as input or output.
  • Loop () - is continuously run through again and again, as long as the Arduino board is powered on.

Here is an example of a program ( in the Arduino diction: Sketch ), which allows a device connected to the Arduino board LED blink:

Int ledPin = 13; / / LED is connected to pin 13, which is stored in the variable ledPin                   / / ( This LED is on most boards integrated)   void setup () {      pinMode ( ledPin, OUTPUT ); / / Sets the LED pin as an output fixed }   void loop () {      digitalWrite ( ledPin, HIGH); / Turn / LED      delay ( 1000); / / 1 second ( 1000ms ) wait ( delay () needs the parameter in ms)      digitalWrite ( ledPin, LOW); On / off / LED      delay ( 1000); / / Wait 1 seconds } With S4A ( Scratch for Arduino ) there is a Scratch modification that provides a free visual programming environment for programming with the Arduino microcontroller.

75794
de