User:Disseminet/Wiring (programming language)
![]() | This user page or section is in a state of significant expansion or restructuring. You are welcome to assist in its construction by editing it as well. If this user page has not been edited in several days, please remove this template. If you are the editor who added this template and you are actively editing, please be sure to replace this template with {{in use}} during the active editing session. Click on the link for template parameters to use.
This page was last edited by 186.28.77.153 (talk | contribs) 14 years ago. (Update timer) |
![]() | The topic of this article may not meet Wikipedia's general notability guideline. |
File:Wiring-logo.png | |
Paradigm | object-oriented |
---|---|
Designed by | Hernando Barragán |
First appeared | 2003 |
Stable release | 0027
/ September 21, 2010 |
Typing discipline | strong |
OS | Cross-platform |
License | GPL and LGPL |
Filename extensions | .pde |
Website | http://wiring.org.co/ |
Influenced by | |
Processing | |
|
Wiring is an open source programming language an integrated development environment (IDE) and a single-board microcontroller for exploring the electronic arts, tangible media, teaching and learning computer programming and prototyping with electronics with the purpose of teaching the basics of prototyping and sketching with electronics, and to serve as a foundation for electronic sketchbooks. The project was initiated in 2003 by Hernando Barragán, formerly from the Interaction Design Institute Ivrea and currently developed at the School of Architecture and Design at the Universidad de Los Andes in Bogotá, Colombia. Wiring builds on Processing, an open project initiated by Casey Reas and Ben Fry, both formerly of the Aesthetics and Computation Group at the MIT Media Lab.
Software
The Wiring IDE is a cross-platform application written in Java which is derived from the IDE made for the Processing programming language. It is designed to introduce programming and sketching with electronics to artists and designers. It includes a code editor with features such as syntax highlighting, brace matching, and automatic indentation capable of compiling and uploading programs to the board with a single 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 only need to define two functions in order 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 LED (light-emitting diode) 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 GPLv2 license.[1]
Related projects
Processing
Wiring was based on the original work done on Processing project in MIT.
Arduino and Fritzing
Wiring and Processing have spawned another project, Arduino, which uses the Processing IDE together with a simplified version of the C++ programming language 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
- Arduino
- BASIC Stamp
- Fritzing
- Rabbit Semiconductor
- Make Controller Kit
- OOPic
- Parallax Propeller
- PICAXE
- Gumstix
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, ISBN 0262182629
- Igoe, Tom (September 28, 2007). Making Things Talk: Practical Methods for Connecting Physical Objects (1st ed.). O'Reilly Media. p. 432. ISBN 0596510519.
- Noble, Joshua (July 15, 2009). Programming Interactivity: A Designer's Guide to Processing, Arduino, and openFramework (1st ed.). O'Reilly Media. p. 768. ISBN 0596154143.
- ^ source and page for the claims in this paragraph