Arduino es una plataforma de prototipos electrónica de código abierto (open-source) basada en hardware y software flexibles y fáciles de usar. Está pensado para artistas, diseñadores, como hobby y para cualquiera interesado en crear objetos o entornos interactivos.
Arduino puede sentir el entorno mediante la recepción de entradas desde una variedad de sensores y puede afectar a su alrededor mediante el control de luces, motores y otros artefactos. El microcontrolador de la placa se programa usando el Arduino Programming Language (basado en Wiring) y el Arduino Development Environment (basado en Processing). Los proyectos de Arduino pueden ser autonomos o se pueden comunicar con software en ejecución en un ordenador (por ejemplo con Flash, Processing, MaxMSP, etc.).
Fuente:http://arduino.cl/que-es-arduino/
Para que sirve?
Existen multitud de modelos Arduino disponibles, lo que puede ser un poco confuso para los nuevos usuarios. A la hora de elegir lo normal es que nos fijemos en la cantidad de entradas y salidas que tiene, especialmente las analógicas dado que son las que habitualmente restringen nuestro proyecto. En la siguiente tabla podéis ver los modelos de Arduino más habituales, con sus características más importantes y un precio de referencia comprándolas en Ebay desde proveedores chinos internacionales. Disponéis de un listado completo de los distintos modelos.
Tipos de entrada y salida
9.1. Función pinMode(pin, mode)
Función usada en la function setup() para configurar un pin dado para
comportarse como INPUT o OUTPUT. Ej. pinMode(pin, OUTPUT); configura el
pin número 'pin' como de salida. Los pines de Arduino funcionan por
defecto como entradas, de forma que no necesitan declararse
explícitamente como entradas empleando pinMode().
9.2. Función digitalRead(pin)
Lee el valor desde un pin digital específico. Devuelve un valor HIGH o
LOW. El pin puede ser especificado con una variable o una constante
(0-13). Ej. v = digitalRead(Pin);
9.3. Funcion digitalWrite(pin, value)
Introduce un nivel alto (HIGH) o bajo (LOW) en el pin digital
especificado. De nuevo, el pin puede ser especificado con una variable o
una constante 0-13. Ej. digitalWrite(pin, HIGH);