User:Disseminet/Wiring (programming language)

Source: Wikipedia, the free encyclopedia.
Wiring
File:Wiring-logo.png
ParadigmObject-oriented
Designed byHernando Barragán
First appeared2003
Stable release
0027 / September 21, 2010; 13 years ago (2010-09-21)
Processing

Wiring is an electronics prototyping platform composed of a

Benjamin Fry, both formerly of the Aesthetics and Computation Group at the MIT Media Lab
.

Software

The Wiring IDE is a

brace matching
, and automatic indenting that can compile and upload programs to the board with one click.

The Wiring IDE comes with a C/C++ library called Wiring, which makes common input/output operations much easier. Wiring programs are written in C/C++, although users need to define only two functions to make a runnable program:

  • setup() – a function run once at the start of a program which can be used to define initial enviroment settings, and
  • loop() – a function called repeatedly until the board is powered off.

A typical first program for a microcontroller is to simply blink a light-emitting diode (LED) on and off. In the Wiring environment, the user might write a program like this:

int ledPin = 48;

void setup () {
    pinMode (ledPin, OUTPUT);     // set pin 48 for digital output
}

void loop () {
    digitalWrite (ledPin, HIGH);  // turn on the LED
    delay (1000);                 // wait one second (1000 milliseconds)
    digitalWrite (ledPin, LOW);   // turn off the LED
    delay (1000);                 // wait one second
}

When the user clicks the "Upload to Wiring hardware" button in the IDE, a copy of the code is written to a temporary file with an extra include header at the top and a very simple main() function at the bottom, to make it a valid C++ program.

The Wiring IDE uses the GNU toolchain and AVR Libc to compile programs, and uses avrdude to upload programs to the board.

Open hardware and open source

The Wiring hardware reference designs are distributed under a Creative Commons Attribution Share-Alike 2.5 license and are available on the Wiring Web site. Layout and production files for the Wiring hardware are also available. The source code for the IDE and the hardware library are available and released under the GNU General Public License version 2 (GPLv2).[1]

Related projects

Processing

Wiring was based on the original work done on the Processing project at MIT.

Arduino and Fritzing

Wiring and Processing have spawned another project, Arduino, which uses the Processing IDE together with a simplified version of the programming language C++ as a way to teach artists and designers how to program microcontrollers. There are now two separate hardware projects, Wiring and Arduino, using the Wiring environment and language. Fritzing is another software environment within this family, which supports designers and artists to document their interactive prototypes and to take the step from physical prototyping to actual product.

See also

Sources

  • Reas, Casey; Fry, Ben; Maeda, John (September 30, 2007), Processing: A Programming Handbook for Visual Designers and Artists (1st ed.), The MIT Press, p. 736,
  • Igoe, Tom (September 28, 2007). Making Things Talk: Practical Methods for Connecting Physical Objects (1st ed.). .
  • Noble, Joshua (July 15, 2009). Programming Interactivity: A Designer's Guide to Processing, Arduino, and openFramework (1st ed.). .
  1. ^ source and page for the claims in this paragraph

External links