Professional Documents
Culture Documents
Arduino
Arduino es una plataforma de hardware
libre, basada en una placa con un
microcontrolador y un entorno de desarrollo,
diseada para facilitar el uso de la
electrnica
en
proyectos
multidisciplinares.[2][3]
El hardware consiste en una placa con un
microcontrolador Atmel AVR y puertos de
entrada/salida.[4] Los microcontroladores
ms usados son el Atmega168, Atmega328,
Atmega1280, ATmega8 por su sencillez y
bajo coste que permiten el desarrollo de
mltiples diseos. Por otro lado el software
[1]
Placa Arduino RS232
consiste en un entorno de desarrollo que
implementa el lenguaje de programacin
Processing/Wiring y el cargador de arranque (boot loader) que corre en la placa.[4]
Arduino se puede utilizar para desarrollar objetos interactivos autnomos o puede ser conectado a software del
ordenador (por ejemplo: Macromedia Flash, Processing, Max/MSP, Pure Data). Las placas se pueden montar a mano
o adquirirse. El entorno de desarrollo integrado libre se puede descargar gratuitamente.
Al ser open-hardware, tanto su diseo como su distribucin es libre. Es decir, puede utilizarse libremente para el
desarrollo de cualquier tipo de proyecto sin haber adquirido ninguna licencia.
El proyecto Arduino recibi una mencin honorfica en la categora de Comunidades Digital en el Prix Ars
Electronica de 2006.[5][6][7]
Arduino
[9]
Arduino
Microcontrolador
[10] ATmega168
Interfaz
USB
Dimensiones
pulgadas
Dimensiones
mm
16
0.5
14
FTDI
2.7" x 2.1"
68.6mm x
53.3mm
16/32
0.5/1
1/2
14
FTDI
2.7" x 2.1"
68.6mm x
53.3mm
ATmega328P
32
14
6 ATmega8U2
2.7" x 2.1"
68.6mm x
53.3mm
[13]
ATmega1280
128
54
14
16
FTDI
4" x 2.1"
101.6mm x
53.3mm
Mega2560
[14]
ATmega2560
256
54
14
16 ATmega8U2
4" x 2.1"
101.6mm x
53.3mm
[15]
ATmega328P
32
14
None
1.6" x 1.1"
40.6mm x
27.9mm
16/32
0.5/1
1/2
14
16
0.5
14
None
Diecimila
Duemilanove
[11]
Uno
[12]
Mega
Fio
Nano
[16]
LilyPad
[17]
ATmega168/328P
ATmega168 or
ATmega328
ATmega168V or
ATmega328V
2"
50mm
Placa serie
Es la placa bsica, y se utiliza una interfaz RS-232. sta puede ser utilizada tanto para programar la placa como para
comunicarse con otros elementos externos que utilicen el puerto serie, como por ejemplo un PC.
La versin Diecimila de Arduino tiene conexin USB y hace innecesario pulsar el botn Reset de la placa cada vez
que se carga un nuevo programa, por lo que es mucho ms cmoda de utilizar que su antecesora (puerto serie).
Placa USB
Es igual a la placa serie pero en vez de un puerto serie como tal, tenemos un conector USB (para poder conectar
ordenadores sin puerto serie, como los porttiles de ahora) ms un conversor a serie. Si conectamos un aparato que
siga la interfaz USB no funcionar pues en realidad es un puerto serie, no USB.
Placa de prototipado
Esta placa est pensada para poder incorporar hardware adicional al diseo base de Arduino. Incorpora una matriz de
agujeros en la que se puede aadir nuestro hardware adicional. No dispone de puerto serie ni USB, por ese motivo es
necesario disponer de otro programador que utilice ICSP.
Bluetooth
Es la ltima versin en la que se est trabajando. Elimina la necesidad de cables para comunicarse con el PC, vuelve
a ser otra manera de disfrazar un puerto serie.
Arduino
XBee
Esta placa Arduino incorpora el estndar XBee para comunicarse con otras Arduino XBee
ArCan
Este shield dota a Arduino con la capacidad de intercomunicarse via Bus CAN.
Esquema de pines
Entradas y salidas
Consta de 14 entradas digitales configurables entrada i/o salidas que operan a 5 voltios. Cada pin puede proporcionar
o recibir como mximo 40 mA. Los pines 3, 5, 6, 8, 10 y 11 pueden proporcionar una salida PWM (Pulse Width
Modulation). Si se conecta cualquier cosa a los pines 0 y 1, eso interferir con la comunicacin USB. Diecimila
tambin tiene 6 entradas analgicas que proporcionan una resolucin de 10 bits. Por defecto miden de 0 voltios
(masa) hasta 5 voltios, aunque es posible cambiar el nivel ms alto, utilizando el pin Aref y algn cdigo de bajo
nivel.
Esquema y pines
Elementos con los que podemos interactuar: (tomando como ejemplo la placa USB). Empezando en el sentido de las
agujas del reloj desde el centro de la parte superior:
Esquema de pines.
Conmutacin entre fuente de alimentacin externa o alimentacin a travs del puerto USB SV1
Puerto USB (rojo).
Arduino
Especificaciones
Los microcontroladores Arduino Diecimila, Arduino Duemilanove y Arduino Mega estn basados en Atmega168,
Atmega 328 y Atmega1280
Atmega168
Atmega328
Atmega1280
Voltaje operativo
5V
5V
5V
Voltaje de entrada
recomendado
7-12 V
7-12 V
7-12 V
6-20 V
6-20 V
6-20 V
14 (6 proporcionan PWM)
14 (6 proporcionan PWM)
16
Intensidad de corriente
40 mA
40 mA
40 mA
Memoria Flash
SRAM
1 KB
2 KB
8 KB
EEPROM
512 bytes
1 KB
4 KB
Frecuencia de reloj
16 MHz
16 MHz
16 MHz
Java
Flash (mediante ActionScript)
Processing
Pure Data
MaxMSP (entorno grfico de programacin para aplicaciones musicales, de audio y multimedia)
VVVV (sntesis de vdeo en tiempo real)
Adobe Director
Python
Ruby
C
C++ (mediante libSerial o en Windows)
C#
Cocoa/Objective-C (para Mac OS X)
Linux TTY (terminales de Linux)
3DVIA Virtools (aplicaciones interactivas y de tiempo real)
SuperCollider (sntesis de audio en tiempo real)
Instant Reality (X3D)
Liberlab (software de medicin y experimentacin)
BlitzMax (con acceso restringido)
Squeak (implementacin libre de Smalltalk)
Mathematica
Matlab
Arduino
Esto es posible debido a que Arduino se comunica mediante la transmisin de datos en formato serie que es algo que
la mayora de los lenguajes anteriormente citados soportan. Para los que no soportan el formato serie de forma
nativa, es posible utilizar software intermediario que traduzca los mensajes enviados por ambas partes para permitir
una comunicacin fluida. Es bastante interesante tener la posibilidad de interactuar Arduino mediante esta gran
variedad de sistemas y lenguajes puesto que dependiendo de cuales sean las necesidades del problema que vamos a
resolver podremos aprovecharnos de la gran compatibilidad de comunicacin que ofrece.
Delimitadores: ;, {}
Comentarios: //, /* */
Cabeceras: #define, #include
Operadores aritmticos: +, -, *, /, %
Asignacin: =
Operadores de comparacin: ==, !=, <, >, <=, >=
Operadores Booleanos: &&, ||, !
Operadores de acceso a punteros: *, &
Operadores de bits: &, |, ^, ~, <<, >>
Operadores compuestos:
Incremento/decremento de variables: ++, - Asignacin y operacin: +=, -=, *=, /=, &=, |=
Estructuras de control
Condicionales: if, if...else, switch case
Bucles: for, while, do... while
Bifurcaciones y saltos: break, continue, return, goto
Variables
En cuanto al tratamiento de las variables tambin comparte un gran parecido con el lenguaje C.
Constantes
HIGH / LOW: niveles alto y bajo en pines. Los niveles altos son aquellos de 3 voltios o ms.
INPUT / OUTPUT: entrada o salida
true / false
Arduino
Tipos de datos
void, boolean, char, unsigned char, byte, int, unsigned int, word, long, unsigned long, float, double, string, array
Conversin entre tipos
Estas funciones reciben como argumento una variable de cualquier tipo y devuelven una variable convertida en el
tipo deseado.
char(), byte(), int(), word(), long(), float()
Cualificadores y mbito de las variables
static, volatile, const
Utilidades
sizeof()
Funciones Bsicas
En cuanto a las funciones bsicas del lenguaje nos encontramos con las siguientes:
E/S Digital
pinMode(pin, modo)
digitalWrite(pin, valor)
int digitalRead(pin)
E/S Analgica
analogReference(tipo)
int analogRead(pin)
analogWrite(pin, valor)
E/S Avanzada
shiftOut(dataPin, clockPin, bitOrder, valor)
unsigned long pulseIn(pin, valor)
Tiempo
Matemticas
min(x, y), max(x, y), abs(x), constrain(x, a, b), map(valor, fromLow, fromHigh, toLow, toHigh), pow(base,
exponente), sqrt(x)
Arduino
Trigonometra
sin(rad), cos(rad), tan(rad)
Nmeros aleatorios
randomSeed(semilla), long random(mx), long random(mn, mx)
Bits y Bytes
lowByte(), highByte(), bitRead(), bitWrite(), bitSet(), bitClear(), bit()
Interrupciones externas
attachInterrupt(interrupcin, funcin, modo)
detachInterrupt(interrupcin)
Interrupciones
interrupts(), noInterrupts()
Comunicacin por puerto serie
Las funciones de manejo del puerto serie deben ir precedidas de "Serial." aunque no necesitan ninguna declaracin
en la cabecera del programa. Por esto se consideran funciones base del lenguaje.[20]
begin(), available(), read(), flush(), print(), println(), write()
Manipulacin de puertos
Los registros de puertos permiten la manipulacin a mas bajo nivel y de forma mas rpida de los pines de E/S del
microcontrolador de las placas Arduino.[21] Los pines de las placas Arduino estn repartidos entre los registros
B(0-7), C (analgicos) y D(8-13). Mediante las siguientes variables podemos ver y modificar su estado:
DDR[B/C/D]: Data Direction Register (o direccin del registro de datos) del puerto B, C D. Sirve para
especificar que pines queremos usar como de entrada y cuales de salida. Variable de Lectura/Escritura.
PORT[B/C/D]: Data Register (o registro de datos) del puerto B, C D. Variable de Lectura/Escritura.
PIN[B/C/D]: Input Pins Register (o registro de pines de entrada) del puerto B, C D. Variable de slo lectura.
Por ejemplo, para especificar que queremos utilizar los pines 1 a 7 como salidas y el 0 como entrada, bastara utilizar
la siguiente asignacin:
DDRD = B11111110;
Como se ha podido comprobar, si conocemos el lenguaje C, no tendremos dificultades para programar en Arduino
puesto que se parecen enormemente. Tan slo debemos aprender algunas funciones especficas de que dispone el
lenguaje para manejar los diferentes parmetros de Arduino. Se pueden construir aplicaciones de cierta complejidad
sin necesidad de muchos conceptos previos.
Arduino
A.V.R. Libc
Los programas compilados con Arduino se enlazan contra AVR Libc[19] por lo que tienen acceso a algunas de sus
funciones. AVR Libc es un proyecto de software libre con el objetivo de proporcionar una biblioteca C de alta
calidad para utilizarse con el compilador GCC sobre microcontroladores Atmel AVR. Se compone de 3 partes:
avr-binutils
avr-gcc
avr-libc
La mayora del lenguaje de programacin Arduino est escrita con constantes y funciones de AVR y ciertas
funcionalidades slo se pueden obtener haciendo uso de AVR.[22]
Interrupciones
Para desactivar las interrupciones:
cli(); // desactiva las interrupciones globales
Para activarlas:
sei(); // activa las interrupciones
Esto afectar al temporizador y a la comunicacin serie. La funcin delayMicroseconds() desactiva las
interrupciones cuando se ejecuta.
Temporizadores
La funcin delayMicroseconds() crea el menor retardo posible del lenguaje Arduino que ronda los 2s.
Para retardos mas pequeos se debe utilizar la llamada de ensamblador 'nop' (no operacin). Cada sentencia 'nop' se
ejecutar en un ciclo de mquina (16 Mhz): unos 62.5ns. Se hara de la siguiente manera:
__asm__("nop\n\t");
Manipulacin de puertos
La manipulacin de puertos con cdigo AVR es mas rpida que utilizar la funcin digitalWrite() de Arduino.
Establecer Bits en variables
cbi y sbi son mecanismos estndar (AVR) para establecer o limpiar bits en PORT y otras variables.
Ser necesario utilizar las siguientes cabeceras para poder utilizarlos:
#
#
#
#
#
#
ifndef
define
endif
ifndef
define
endif
cbi
cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
sbi
sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
Para utilizarlas hay que pasarles como argumento la variable PORT y un pin para establecerlo o limpiarlo.
Gracias a estos pequeos hacks tendremos la posibilidad de mejorar los tiempos de ejecucin de ciertas tareas
crticas o de aquellas que se repitan muchas veces obteniendo mejores resultados. No obstante el cdigo fuente que
escribamos resultar probablemente menos legible si los utilizamos por lo que habr que sopesarlo en funcin de
nuestras necesidades.
Arduino
Processing
int[] bar = new
int[8];
bar[0] = 1;
Bucles
Arduino
Processing
int i;
for (int i = 0; i < 5; i++) {... }
for (i = 0; i < 5; i++) {... }
Impresin de cadenas
Arduino
Processing
int i = 5;
println(i);
int i = 5;
Serial.print("i = ");
Serial.print(i);
Serial.println();
int i = 5;
println("i = " + i);
Las diferencias son escasas por lo que alguien que conozca bien Processing tendr muy pocos problemas a la hora de
programar en Arduino.
Arduino
// Bucle infinito
void loop () {
// Encendemos el led enviando una seal alta
digitalWrite (LED_PIN, HIGH);
// Esperamos un segundo (1000 ms)
delay (1000);
// Apagamos el led enviando una seal baja
digitalWrite (LED_PIN, LOW);
// Esperamos un segundo (1000 ms)
delay (1000);
}
El orden de ejecucin ser: Primero se hace una llamada a la funcin init() que inicializa el programa, despus se
ejecuta la funcin setup() que configura diversos parmetros, y por ltimo se ejecuta un bucle while(1) que llama
repetidamente a la funcin loop. Todo ello se ejecuta dentro de main() y podra haberse indicado explcitamente (en
el caso anterior se encarga el IDE de aadir el cdigo que se ha omitido).
Bibliotecas en Arduino
Para hacer uso de una biblioteca en Sketch (el IDE de Arduino), basta con hacer clic sobre Import Library en el
men, escoger una biblioteca y se aadir el #include correspondiente. Las bibliotecas estndar que ofrece Arduino
son las siguientes:[25]
Serial
Lectura y escritura por el puerto serie.
EEPROM
Lectura y escritura en el almacenamiento permanente.[26]
read(), write()
Ethernet
Conexin a Internet mediante Arduino Ethernet Shield. Puede funcionar como servidor que acepta peticiones
remotas o como cliente. Se permiten hasta cuatro conexiones simultaneas.[27]
Servidor: Server(), begin(), available(), write(), print(), println()
Cliente: Client(), connected(), connect(), write(), print(), println(), available(), read(), flush(), stop()
Firmata
Comunicacin con aplicaciones de ordenador utilizando el protocolo estndar del puerto serie.[28]
10
Arduino
LiquidCrystal
Control de LCDs con chipset Hitachi HD44780 o compatibles.[29] La biblioteca soporta los modos de 4 y 8 bits.
Servo
Control de servo motores.[30] A partir de la versin 0017 de Arduino la biblioteca soporta hasta 12 motores en la
mayora de placas Arduino y 48 en la Arduino Mega.
attach(), write(), writeMicroseconds(), read(), attached(), detach()
El manejo de la biblioteca es bastante sencillo. Mediante attach(nmero de pin) aadimos un servo y mediante write
podemos indicar los grados que queremos que tenga el motor (habitualmente de 0 a 180).
SoftwareSerial
Comunicacin serie en pines digitales.[31] Por defecto Arduino incluye comunicacin slo en los pines 0 y 1 pero
gracias a esta biblioteca podemos realizar esta comunicacin con el resto de pines.
Stepper
Control de motores paso a paso unipolares o bipolares.[32]
Stepper(steps, pin1, pin2), Stepper(steps, pin1, pin2, pin3, pin4), setSpeed(rpm), step(steps)
El manejo es sencillo. Basta con iniciar el motor mediante Stepper indicando los pasos que tiene y los pines a los que
esta asociado. Se indica la velocidad a la que queramos que gire en revoluciones por minuto con setSpeed(rpm) y se
indican los pasos que queremos que avance con step(pasos).
Wire
Envi y recepcin de datos sobre una red de dispositivos o sensores mediante Two Wire Interface (TWI/I2C).[33]
Adems las bibliotecas Matrix y Sprite de Wiring son totalmente compatibles con Arduino y sirven para manejo de
matrices de leds.
Tambin se ofrece informacin sobre diversas bibliotecas desarrolladas por contribuidores diversos que permiten
realizar muchas tareas.
Creacin de bibliotecas
Adems de las bibliotecas base, las que son compatibles y las que han aportado otras personas tenemos la posibilidad
de escribir nuestra propia biblioteca.[34] Esto es muy interesante por varias razones: permite disponer de cdigo que
puede reutilizarse en otros proyectos de forma cmoda; nos permite mantener el cdigo fuente principal separado de
las bibliotecas de forma que sean mantenibles de forma separada; y la organizacin de los programas construidos es
ms clara y elegante.
Veamos un ejemplo de la creacin de una biblioteca que enva cdigo Morse:
Creamos el fichero Morse.h que incluye la definicin de la clase Morse que tiene 3 funciones: un constructor
(Morse()), una funcin para enviar 1 punto (dot()) y una funcin para enviar una raya (dash()). La variable _pin
permite indicar el pin que vamos a utilizar.
/*
Morse.h - Library for flashing Morse code.
Created by David A. Mellis, November 2, 2007.
Released into the public domain.
*/
11
Arduino
# ifndef Morse_h
# define Morse_h
# include "WProgram.h"
class Morse
{
public:
Morse(int pin);
void dot();
void dash();
private:
int _pin;
};
# endif
Adems necesitaremos un fichero Morse.cpp con el cdigo de las funciones declaradas. A continuacin se muestra el
cdigo:
/*
Morse.cpp - Library for flashing Morse code.
Created by David A. Mellis, November 2, 2007.
Released into the public domain.
*/
# include "WProgram.h"
# include "Morse.h"
Morse::Morse(int pin)
{
pinMode(pin, OUTPUT);
_pin = pin;
}
void Morse::dot()
{
digitalWrite(_pin, HIGH);
delay(250);
digitalWrite(_pin, LOW);
delay(250);
}
void Morse::dash()
{
digitalWrite(_pin, HIGH);
delay(1000);
digitalWrite(_pin, LOW);
12
Arduino
13
delay(250);
}
Y con esto ya podramos utilizar la biblioteca mediante el correspondietne #include. Si quisieramos enviar un SOS
por el pin 13 bastara con llamar a Morse(13) y ejecutar
morse.dot(); morse.dot(); morse.dot();
morse.dash(); morse.dash(); morse.dash();
morse.dot(); morse.dot(); morse.dot();
Instalacin
Windows
Para la instalacin de la placa Arduino en el sistema operativo Windows conviene seguir los siguientes pasos: Con la
placa desconectada:
Descargar e instalar el Java Runtime
Enviroment (J2RE).
Descargar la ltima versin del IDE
Arduino.
Nota: Es recomendable descomprimir el
fichero en el directorio raz (c:\)
manteniendo la estructura original.
Entre todas las carpetas creadas en el
directorio Arduino conviene destacar
las siguientes:
c:\arduino-0012\hardware\bootloader:
sta contiene el software necesario para cargar el firmware en el chip Atmega168, para trabajar con Arduino. Slo se
utiliza si os habis montado vosotros mismos la placa, o en el caso que se haya estropeado el chip y hayis comprado
uno nuevo.
c:\arduino-0012\drivers:
Arduino
14
Contiene los drivers necesarios para el funcionamiento de la placa Arduino con el PC con S.O. Windows: FTDI USB
Drivers.
Instalar FTDI USB Drivers
Ahora s, conectar la placa USB. Se abrir automticamente el asistente de Windows para nuevo hardware
encontrado:
1. Seleccionar "No por el momento" y presionar "Siguiente".
2. Seleccionar "Instalar desde una lista o ubicacin especfica (avanzado)" y presionar "Siguiente".
3. "Buscar el controlador ms adecuado en estas ubicaciones" presiona "Examinar".Seleccionar la carpeta donde
hayas descomprimido el driver y presiona Siguiente.
Si no habido ningn problema el driver de la placa estar instalado.
Abrir el IDE Arduino
Ejecutamos el fichero Arduino.exe para abrir la interficie. Aqu configuramos el puerto USB donde tenemos
conectada la placa para empezar a trabajar.
GNU/Linux
Para instalar Arduino en un sistema
GNU/Linux necesitamos los siguientes
programas para resolver las dependencias:
Sun java runtime, jre.
avr-gcc, compilador para la familia de
microcontroladores avr de atmel.
avr-libc, libc del compilador avr-gcc.
Para instalarlos, podemos utilizar el gestor
de paquetes o el terminal de comandos:
Arduino
15
killall brltty
apt-get remove brltty
Los dos sntomas de este problema son:
No aparece la opcin /dev/tty/USB0 en el men Tools, Serial Port.
Si se observa el LED Rx de la placa Arduino, ste se ilumina de 3 a 5 veces cada 5 6 segundos.
Por ltimo, descargamos el framework de arduino. Lo descomprimimos en la carpeta deseada y lo ejecutamos:
./arduino
Si todo ha ido bien ya lo tendremos en funcionamiento.
Aplicaciones
Las aplicaciones que nos ofrece Arduino son mltiples, y depender de nuestra imaginacin. Mediante sensores
podemos crear aplicaciones sencillas enfocadas a la docencia para estudiantes de electrnica, proyectos ms
elaborados para la industria o incluso sistemas dirigidos simplemente al ocio. Es muy utilizado tambin en los
entornos artsticos para crear obras ms elaboradas, dada su facilidad de programacin.
Equipo de desarrollo
El ncleo del equipo de desarrollo de Arduino esta formado por Massimo Banzi, David Cuartielles, Tom Igoe,
Gianluca Martino, David Mellis y Nicholas Zambetti.
Pduino
Pduino nace de la fusin de Pure Data
y Arduino. Ambos de Open Source
permiten trabajar el uno del otro de una
manera grfica e intuitiva. Cargando el
firmware de Pure Data (PD) a la placa
Arduino podemos acceder a ella
mediante el lenguaje de programacin
grfico. Se puede observar que
tenemos todo el esquema fsico de la
placa, con los puertos, pines digitales y
analgicos, entradas y salidas... en una
interfaz grfica, gracias a PD.
Patch Pduino.
Arduino
16
Minibloq
Minibloq es un entorno grfico de
programacin que puede generar
cdigo nativo de Arduino y escribirlo
directamente en la memoria flash de la
placa. No necesita por lo tanto, ni de
un firmware especfico en la placa
Arduino ni de conexin en tiempo de
ejecucin. Tiene un modo donde
permite visualizar el cdigo generado,
el cual tambin puede ser copiado y
pegado en el Arduino-IDE, para los
usuarios que intentan hacer el pasaje
de una herramienta grfica a la
programacin en sintaxis C/C++.
Minibloq es de uso libre y sus fuentes
tambin
estn
disponibles
gratuitamente.
Una
caracterstica
importante, es que puede correr
tambin en la XO (OLPC), mediante
Wine.
Minibloq screenshoot.
Referencias
[1] Placa Arduino Serial (http:/ / arduino. cc/
en/ Main/ ArduinoBoardSerial)
[2] Interview with Casey Reas and Ben Fry
(http:/ / rhizome. org/ editorial/ 2009/ sep/
23/ interview-with-casey-reas-and-ben-fry/
).
[3] (http:/ / wiring. org. co/ )
[4] Project homepage (http:/ / arduino. cc).
[5] http:/ / www. aec. at/ en/ prix/
honorary2006. asp
[6] Ars Electronica Archiv (http:/ / 90. 146. 8. 18/ de/ archives/ prix_archive/ prix_year_cat. asp?iProjectID=13638& iCategoryID=12420) (en
alemn). Consultado el 18-02-2009.
[7] Ars Electronica Archiv / ANERKENNUNG (http:/ / 90. 146. 8. 18/ de/ archives/ prix_archive/ prix_projekt. asp?iProjectID=13789#) (en
alemn). Consultado el 18-02-2009.
[8] http:/ / www. smartprojects. it/
[9] http:/ / arduino. cc/ en/ Main/ Hardware
[10] http:/ / arduino. cc/ en/ Main/ ArduinoBoardDiecimila
[11] http:/ / arduino. cc/ en/ Main/ ArduinoBoardDuemilanove
[12] http:/ / arduino. cc/ en/ Main/ ArduinoBoardUno
[13] http:/ / arduino. cc/ en/ Main/ ArduinoBoardMega
[14] http:/ / arduino. cc/ en/ Main/ ArduinoBoardMega2560
[15] http:/ / arduino. cc/ en/ Main/ ArduinoBoardFio
[16] http:/ / arduino. cc/ en/ Main/ ArduinoBoardNano
[17] http:/ / arduino. cc/ en/ Main/ ArduinoBoardLilyPad
[18] "Interfacing Arduino to other languages", Proyecto Arduino. http:/ / www. arduino. cc/ playground/ Main/ InterfacingWithSoftware
[19] "Language Reference (extended)", Proyecto Arduino. http:/ / arduino. cc/ en/ Reference/ Extended
[20] "Serial", Proyecto Arduino. http:/ / arduino. cc/ en/ Reference/ Serial
[21] "Manipulacin de puertos", Proyecto Arduino. http:/ / arduino. cc/ en/ Reference/ PortManipulation
Arduino
[22] "AVR Code", Proyecto Arduino. http:/ / www. arduino. cc/ playground/ Main/ AVR
[23] "Arduino/Processing Language Comparison", Proyecto Arduino. http:/ / arduino. cc/ en/ Reference/ Comparison?from=Main.
ComparisonProcessing
[24] "Processing Reference", Proyecto Processing. http:/ / processing. org/ reference/
[25] http:/ / arduino. cc/ en/ Reference/ Libraries
[26] "EEPROM Library", Proyecto Arduino. http:/ / arduino. cc/ en/ Reference/ EEPROM
[27] "Ethernet Library", Proyecto Arduino. http:/ / arduino. cc/ en/ Reference/ Ethernet
[28] "Firmata Library", Proyecto Arduino. http:/ / arduino. cc/ en/ Reference/ Firmata
[29] "LiquidCrystal Library", Proyecto Arduino. http:/ / arduino. cc/ en/ Reference/ LiquidCrystal
[30] "Servo Library", Proyecto Arduino. http:/ / arduino. cc/ en/ Reference/ Servo
[31] "SoftwareSerial Library", Proyecto Arduino. http:/ / arduino. cc/ en/ Reference/ SoftwareSerial
[32] "Stepper Library", Proyecto Arduino. http:/ / arduino. cc/ en/ Reference/ Stepper
[33] "Wire Library", Proyecto Arduino. http:/ / arduino. cc/ en/ Reference/ Wire
[34] "Writing a Library for Arduino", Proyecto Arduino. http:/ / arduino. cc/ en/ Hacking/ LibraryTutorial
Bibliografa
Oxer, Jonathan; Blemings, Hugh (28 de diciembre de 2009). Practical Arduino: Cool Projects for Open Source
Hardware (http://www.apress.com/book/view/9781430224778) (1 edicin). Apress. pp.500. ISBN 1430224770.
Noble, Joshua (15 de julio de 2009). Programming Interactivity: A Designer's Guide to Processing, Arduino, and
openFramework (http://oreilly.com/catalog/9780596800581/) (1 edicin). O'Reilly Media. pp.768. ISBN
0596154143.
Banzi, Massimo (24 de marzo de 2009). Getting Started with Arduino (http://www.makershed.com/
ProductDetails.asp?ProductCode=9780596155513) (1 edicin). Make Books. pp.128. ISBN 0596155514.
Enlaces de externos
17
Licencia
Creative Commons Attribution-Share Alike 3.0 Unported
//creativecommons.org/licenses/by-sa/3.0/
18