Sie sind auf Seite 1von 39

Arduino es una plataforma electrnica de cdigo abierto basado en el hardware

y el software fcil de usar. Est dirigido a cualquier persona que hace proyectos
interactivos.

Arduino
Arduino

"Arduino Uno" Revisin 3

Tipo

Placa
computadora (microcontroladorde placa si
mple)

Pgina

www.arduino.cc

web

Placa Arduino RS2321

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 consiste en un
entorno de desarrollo que implementa el lenguaje de programacin Processing/Wiring y
el cargador de arranque que es ejecutado en la placa.4
Desde octubre de 2012, Arduino se usa tambin con microcontroladoras CortexM3 de
ARM de 32 bits,5 que coexistirn con las ms limitadas, pero tambin econmicas AVR de
8 bits. ARM y AVR no son plataformas compatibles a nivel binario, pero se pueden
programar con el mismo IDE de Arduino y hacerse programas que compilen sin cambios
en las dos plataformas. Eso s, las microcontroladoras CortexM3 usan 3,3V, a diferencia de
la mayora de las placas con AVR que generalmente usan 5V. Sin embargo ya
anteriormente se lanzaron placas Arduino con Atmel AVR a 3,3V como la Arduino Fio y
existen compatibles de Arduino Nano y Pro como Meduino en que se puede conmutar el
voltaje.
Arduino se puede utilizar para desarrollar objetos interactivos autnomos o puede ser
conectado a software tal como Adobe 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.
Arduino puede tomar informacin del entorno a travs de sus entradas analgicas y
digitales, puede controlar luces, motores y otros actuadores. El microcontrolador en la
placa Arduino se programa mediante el lenguaje de programacin Arduino (basado en
Wiring) y el entorno de desarrollo Arduino (basado en Processing). Los proyectos hechos
con Arduino pueden ejecutarse sin necesidad de conectar a un computador.

Historia[editar]
Arduino se inici en el ao 2005 como un proyecto para estudiantes en el Instituto IVREA,
en Ivrea (Italia). En ese tiempo, los estudiantes usaban el microcontrolador BASIC Stamp,
cuyo coste era de 100 dlares estadounidenses, lo que se consideraba demasiado costoso
para ellos. Por aquella poca, uno de los fundadores de Arduino, Massimo Banzi, daba
clases en Ivrea.9
El nombre del proyecto viene del nombre del Bar di Re Arduino (Bar del Rey Arduino)
donde Massimo Banzi pasaba algunas horas. En su creacin, contribuy el estudiante
colombiano Hernando Barragn, quien desarroll la tarjeta electrnica Wiring, el lenguaje
de programacin y la plataforma de desarrollo.10 Una vez concluida dicha plataforma, los
investigadores trabajaron para hacerlo ms ligero, ms econmico y disponible para la
comunidad de cdigo abierto (hardware y cdigo abierto). El instituto finalmente cerr sus

puertas, as que los investigadores, entre ellos el espaol David Cuartielles, promovieron la
idea.9 Banzi afirmara aos ms tarde, que el proyecto nunca surgi como una idea de
negocio, sino como una necesidad de subsistir ante el inminente cierre del Instituto de
diseo Interactivo IVREA. Es decir, que al crear un producto de hardware abierto, ste no
podra ser embargado.
Posteriormente, Google colabor en el desarrollo del Kit Android ADK (Accesory
Development Kit), una placa Arduino capaz de comunicarse directamente con telfonos
mviles inteligentes bajo el sistema operativoAndroid para que el telfono controle luces,
motores y sensores conectados de Arduino.11 12
Para la produccin en serie de la primera versin se tom en cuenta que el coste no fuera
mayor de 30 euros, que fuera ensamblado en una placa de color azul, deba ser Plug and
Play y que trabajara con todas las plataformas informticas tales
como MacOSX, Windows y GNU/Linux. Las primeras 300 unidades se las dieron a los
alumnos del Instituto IVRAE, con el fin de que las probaran y empezaran a disear sus
primeros prototipos.
En el ao 2005, se incorpor al equipo el profesor Tom Igoe,10 que haba trabajado en
computacin fsica, despus de que se enterara del mismo a travs de Internet. l ofreci
su apoyo para desarrollar el proyecto a gran escala y hacer los contactos para distribuir las
tarjetas en territorio estadounidense. En la feria Maker Fair de 2011 se present la primera
placa Arduino 32 bit para trabajar tareas ms pesadas.13

Aplicaciones[editar]
El mdulo Arduino ha sido usado como base en diversas aplicaciones electrnicas:

Xoscillo: Osciloscopio de cdigo abierto.14

Equipo cientfico para investigaciones.15

Arduinome: Un dispositivo controlador MIDI.16

OBDuino: un econmetro que usa una interfaz de diagnstico a bordo que se halla
en los automviles modernos.

Humane Reader: dispositivo electrnico de bajo coste con salida de seal de TV


que puede manejar una biblioteca de 5000 ttulos en una tarjeta microSD.17

The Humane PC: equipo que usa un mdulo Arduino para emular un computador
personal, con un monitor de televisin y un teclado para computadora. 18

Ardupilot: software y hardware de aeronaves no tripuladas.

ArduinoPhone: un telfono mvil construido sobre un mdulo Arduino. 19 20

Esquema de conexiones[editar]
Entradas y salidas[editar]
Poniendo de ejemplo al mdulo Diecimila, ste consta de 14 entradas digitales
configurables como entradas y/o salidas que operan a 5 voltios. Cada contacto puede
proporcionar o recibir como mximo 40 mA. Los contactos 3, 5, 6, 8, 10 y 11 pueden
proporcionar una salida PWM (Pulse Width Modulation). Si se conecta cualquier cosa a los
contactos 0 y 1, eso interferir con la comunicacin USB. Diecimila tambin tiene 6
entradas analgicas que proporcionan una resolucin de 10 bits. Por defecto, aceptan de 0
hasta 5 voltios, aunque es posible cambiar el nivel ms alto, utilizando el contacto Aref y
algn cdigo de bajo nivel.

Especificaciones[editar]
Las especificaciones de los distintos modelos de placas Arduino se resumen en la
siguiente tabla:
Volt Volt
Modelo

Microcont
rolador

aje

aje

de

del

entr sist
ada ema

Arduino AT91SAM 5Due

3X8E

12V

Arduino ATmega32 7Leonardo U4

12V

Arduino ATmega32 7Uno - R3 8

12V

RedBoar ATmega32 7d

15V

3,3V

5V

5V

5V

Frecu
encia
de
Reloj

84MH
z
16MH
z

16MH
z

16MH
z

Dig
ital
I/O

Entra
das
Anal
gicas

P
W
M

Mem
UA oria Cargad
RT Flas

12 4

20* 12

14

or

54* 12

14

Interfaz

512K
b

32Kb

32Kb

32Kb

(desconti 8
nuado)

12V

5V

16MH
z

14

32Kb

Program
acin

Due

Nativa
USB

Leonard Nativa
o

Optiboo
t

USB
USB via
ATMega
16U2

Optiboo USB
t

Arduino
Uno SMD ATmega32 7-

de

Optiboo
t

via FTDI
USB via
ATMega
8U2

Arduino
Uno

ATmega32 7-

(desconti 8

12V

5V

16MH
z

14

32Kb

Optiboo
t

nuado)

USB via
ATMega
8U2

Arduino
Duemilan
ove
(desconti

ATmega32 78

12V

5V

16MH
z

14

32Kb

14

32Kb

Atmega USB via


BOOT

FTDI

nuado)
Arduino
Bluetoot
h
(desconti

ATmega32 1,28

5,5V

5V

16MH
z

Atmega Serial Bl
BOOT

uetooth

nuado)
Cabecer

Arduino
Pro

ATmega32 3,35

3.3V/8MH 8

-12V

3,3V 8MHz 14

32Kb

Atmega
BOOT

ATmega32 5 12V

5V

16MH
z

14

32Kb

Atmega
BOOT

ATmega32 712V

5V

16MH
z

14

32Kb

Atmega
BOOT

nuado)

2560 R3
Arduino
Mega
2560
(desconti

compatib
le con

Cabecer

(desconti 8

Mega

FTDI

Ethernet

Arduino

le con

Cabecer

5V/16MH 8

Pro

compatib
FTDI

Arduino
Pro

a
compatib
le con
FTDI

ATmega25 760

12V

ATmega25 760

12V

5V

5V

16MH
z

54

16MH 54
z

16

16

14 4

14 4

256K STK500
b

v2

USB via
ATMega
16U2

256K STK500 USB via


b

v2

ATMega
8U2

nuado)
Arduino
Mega

ATmega12 7-

(desconti 80

12V

5V

16MH
z

54

16

14 4

128K STK500 USB via


b

v2

FTDI

nuado)
Cabecer
Mega Pro ATmega25 3,33.3V

60

12V

3,3V 8MHz 54

16

14 4

256K STK500
b

v2

a
compatib
le con
FTDI
Cabecer

Mega Pro ATmega25 55V

60

12V

5V

16MH
z

54

16

14 4

256K STK500
b

v2

a
compatib
le con
FTDI

Arduino
Mini 04

ATmega32

(desconti 8

7-9V 5V

16MH
z

14

32Kb

14

32Kb

Atmega Cabecer
BOOT

a Serial

nuado)
Arduino ATmega32
Mini 05

7-9V 5V

16MH
z

Atmega Cabecer
BOOT

Cabecer

Arduino
Pro Mini ATmega32 3,35
3.3V/8MH 8

-12V

3,3V 8MHz 14

32Kb

Atmega
BOOT

compatib
le con

Cabecer

Pro Mini ATmega32 5 5V/16MH 8

12V

5V

16MH
z

14

32Kb

Atmega
BOOT

Fio

FTDI

Arduino

Arduino

a Serial

a
compatib
le con
FTDI

ATmega32 3,35 3,3V 8MHz 14


8P

-12V

32Kb Atmega Cabecer


BOOT

a
compatib

le con
FTDI o
Inalmbri
ca via
XBee1
Cabecer
Mega Pro ATmega25 3,3Mini 3.3V 60

12V

3,3V 8MHz 54

16

14 4

256K STK500
b

v2

a
compatib
le con
FTDI

Pro
Micro

ATmega32 5-

5V/16MH U4

12V

5V

16MH

12

32Kb

3,3V 8MHz 12

32Kb

DiskLoa Nativa
der

USB

z
Pro
Micro

ATmega32 3,35

3.3V/8MH U4

-12V

DiskLoa Nativa
der

USB

z
Cabecer

LilyPad
Arduino ATmega32 2,7328 Main 8

5,5V

3,3V 8MHz 14

32Kb

Atmega
BOOT

Board

compatib
le con
FTDI
Cabecer

LilyPad
Arduino ATmega32 2,7Simple

5,5V

3,3V 8MHz 9

32Kb

Board

Atmega
BOOT

a
compatib
le con
FTDI

Los modelos Arduino Diecimila, Arduino Duemilanove y Arduino Mega estn basados en
los microcontroladores ATmega168, ATmega328 y ATmega1280
ATmega168

Voltaje operativo 5 V

ATmega328

5V

ATmega1280

5V

Voltaje de
entrada

7-12 V

7-12 V

7-12 V

6-20 V

6-20 V

6-20 V

14 (6

14 (6

54 (14

proporcionan PWM)

proporcionan PWM)

proporcionan PWM)

16

40 mA

40 mA

40 mA

recomendado

Voltaje de
entrada lmite

Contactos de
entrada y salida
digital

Contactos de
entrada
analgica

Intensidad de
corriente

Memoria Flash

16KB (2KB reservados 32KB (2KB reservados

128KB (4KB
reservados para el

para el bootloader)

para el bootloader)

SRAM

1 KB

2 KB

8 KB

EEPROM

512 bytes

1 KB

4 KB

16 MHz

16 MHz

16 MHz

Frecuencia de
reloj

bootloader)

Lenguaje de programacin Arduino[editar]


La plataforma Arduino se programa mediante el uso de un lenguaje propio basado en el
lenguaje de programacin de alto nivel Processing. Sin embargo, es posible utilizar otros
lenguajes de programacin y aplicaciones populares en Arduino, 21 debido a que Arduino

usa la transmisin serial de datos soportada por la mayora de los lenguajes mencionados.
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. Algunos ejemplos son:

3DVIA Virtools: aplicaciones interactivas y de tiempo real.

Adobe Director

BlitzMax (con acceso restringido)

C++ (mediante libSerial o en Windows)

C#

Cocoa/Objective-C (para Mac OS X)

Flash (mediante ActionScript)

Gambas

Isadora (Interactividad audiovisual en tiempo real)

Instant Reality (X3D)

Java

Liberlab (software de medicin y experimentacin)

Mathematica

Matlab

MaxMSP: Entorno grfico de programacin para aplicaciones musicales, de audio


y multimedia

Minibloq: Entorno grfico de programacin, corre tambin en las


computadoras OLPC

Perl

Php

Physical Etoys: Entorno grfico de programacin usado para proyectos de robtica


educativa

Processing

Pure Data

Python

Ruby

Scratch for Arduino (S4A): Entorno grfico de programacin, modificacin del


entorno para nios Scratch, del MIT)

Squeak: Implementacin libre de Smalltalk

SuperCollider: Sntesis de audio en tiempo real

VBScript

Visual Basic .NET

VVVV: Sntesis de vdeo en tiempo real

Funciones bsicas y operadores[editar]


Arduino est basado en C y soporta todas las funciones del estndar C y algunas de C+
+.22 A continuacin se muestra un resumen con la estructura y sintaxis del lenguaje
Arduino:
Sintaxis Bsica[editar]

Delimitadores:;, {}

Comentarios: //, /* */

Cabeceras: #define, #include

Operadores aritmticos: +, -, *, /, %

Asignacin: =

Operadores de comparacin: ==, !=, <, >, <=, >=

Operadores Booleanos: &&, ||, !

Operadores de acceso a punteros: *, &

Operadores de bits: &, |, ^, ~, <<, >>

Operadores compuestos:

Incremento y decremento de variables: ++, --

Asignacin y operacin: +=, -=, *=, /=, &=, |=

Estructuras de control[editar]

Condicionales: if, if...else, switch case

Bucles: for, while, do... while

Bifurcaciones y saltos: break, continue, return, goto

Variables[editar]
En cuanto al tratamiento de las variables tambin comparte un gran parecido con el
lenguaje C.
Constantes[editar]

HIGH/LOW: representan los niveles alto y bajo de las seales de entrada y salida.
Los niveles altos son aquellos de 3 voltios o ms.

INPUT/OUTPUT: entrada o salida.

false (falso): Seal que representa al cero lgico. A diferencia de las seales
HIGH/LOW, su nombre se escribe en letra minscula.

true (verdadero): Seal cuya definicin es ms amplia que la de false. Cualquier


nmero entero diferente de cero es "verdadero", segn el lgebra de Boole, como en
el caso de -200, -1 o 1. Si es cero, es "falso".

Tipos de datos[editar]

void, boolean, char, unsigned char, byte, int, unsigned int, word, long, unsigned
long, float, double, string, array.

Conversin entre tipos[editar]

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[editar]

static, volatile, const

Utilidades[editar]

sizeof()

Funciones Bsicas[editar]
E/S Digital[editar]

pinMode(pin, modo)

digitalWrite(pin, valor)

int digitalRead(pin)

E/S Analgica[editar]

analogReference(tipo)

int analogRead(pin)

analogWrite(pin, valor)

E/S Avanzada[editar]

shiftOut(dataPin, clockPin, bitOrder, valor)

unsigned long pulseIn(pin, valor)

Tiempo[editar]

unsigned long millis()

unsigned long micros()

delay(ms)

delayMicroseconds(microsegundos)

Matemticas[editar]

min(x, y), max(x, y), abs(x), constrain(x, a, b), map(valor, fromLow, fromHigh,
toLow, toHigh), pow(base, exponente), sqrt(x)

Trigonometra[editar]

sin(rad), cos(rad), tan(rad)

Nmeros aleatorios[editar]

randomSeed(semilla), long random(mx), long random(mn, mx)

Bits y Bytes[editar]

lowByte(), highByte(), bitRead(), bitWrite(), bitSet(), bitClear(), bit()

Interrupciones externas[editar]

attachInterrupt(interrupcin, funcin, modo)

detachInterrupt(interrupcin)

Interrupciones[editar]

interrupts(), noInterrupts()

Comunicacin por puerto serie[editar]


Las funciones de manejo del puerto serie deben ir precedidas de la palabra "Serial"
aunque no necesitan ninguna declaracin en la cabecera del programa. Por esto se
consideran funciones base del lenguaje.23 Estas son las funciones para transmisin serial:

begin(), available(), read(), flush(), print(), println(), write()

Manipulacin de puertos[editar]
Los registros de puertos permiten la manipulacin a ms bajo nivel y de forma ms rpida
de los contactos de entrada/salida del microcontrolador de las placas Arduino. 24 Los
contactos elctricos de las placas Arduino estn repartidos entre los registros B(0-7), C
(analgicos) y D(8-13). Mediante estas variables ser observado y modificado su estado:

DDR[B/C/D]: Data Direction Register (o direccin del registro de datos) del puerto
B, C D. Es una variable de Lectura/Escritura que sirve para especificar cuales
contactos sern usados como entrada y salida.

PORT[B/C/D]: Data Register (o registro de datos) del puerto B, C D. Es una


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 los contactos 9 a 13 como salidas y el 8 como entrada
(puesto que el puerto D usa los pines de la placa Arduino 8 al 13 digitales) bastara utilizar
la siguiente asignacin:
DDRD = B11111110;
Como se ha podido comprobar, el conocimiento del lenguaje C, permite la programacin
en Arduino debido a la similitud entre ste y el lenguaje nativo del proyecto, lo que implica
el aprendizaje de algunas funciones especficas de que dispone el lenguaje del proyecto
para manejar los diferentes parmetros. Se pueden construir aplicaciones de cierta
complejidad sin necesidad de muchos conceptos previos.

AVR Libc[editar]
Los programas compilados con Arduino (salvo en las placas con CorteX M3) se enlazan
contra AVR Libc22 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. 25
Interrupciones[editar]
Las seales de interrupcin son las siguientes:

cli(): desactiva las interrupciones globales

sei(): activa las interrupciones

Esto afectar al temporizador y a la comunicacin serial. La funcin delayMicroseconds()


desactiva las interrupciones cuando se ejecuta.
Temporizadores[editar]
La funcin delayMicroseconds() crea el menor retardo posible del lenguaje Arduino que
ronda los 2s. Para retardos ms pequeos se debe utilizar la llamada de ensamblador

'nop' (no operacin). Cada sentencia 'nop' se ejecutar en un ciclo de mquina (16 MHz)
de aproximadamente 62,5ns.
Manipulacin de puertos[editar]
La manipulacin de puertos con cdigo AVR es ms rpida que utilizar la funcin
digitalWrite() de Arduino.
Establecer Bits en variables[editar]
cbi y sbi son mecanismos estndar (AVR) para establecer o limpiar bits en PORT y otras
variables.

Diferencias con Processing[editar]


La sintaxis del lenguaje de programacin Arduino es una versin simplificada de C/C++ y
tiene algunas diferencias respecto de Processing. 26 27 Debido a que Arduino est basado
en C/C++ mientras que Processing se basa en Java, existen varias diferencias en cuanto a
la sintaxis de ambos lenguajes y el modo en que se programa:
Arreglos[editar]
Arduino

Processing

int bar[8];

int[] bar = new int[8];

bar[0] = 1;

bar[0] = 1;

int foo[] = { 0, 1, 2 };
int foo[] = { 0, 1, 2 };

o bien
int[] foo = { 0, 1, 2 };

Impresin de cadenas[editar]
Arduino

Processing

Serial.println("hello world");

println("hello world");

int i = 5;

int i = 5;

Serial.println(i);

println(i);

int i = 5;

int i="5;"

Serial.print("i = ");

Serial.print(i);
Serial.println();

println("i =" + i);

Ejemplo sencillo de programacin en Arduino [editar]


El primer paso antes de comprobar que la instalacin es correcta y empezar a trabajar con
Arduino, es usar ejemplos prcticos que vienen disponibles con el dispositivo. Se
recomienda abrir el ejemplo led_blink el cual crea una intermitencia por segundo en un
led conectado en el pin 13. El cdigo necesario es el siguiente:
# define LED_PIN 13
void setup () {
// Activado del contacto 13 para salida digital
pinMode (LED_PIN, OUTPUT);
}
// Bucle infinito
void loop () {
// Encendido del diodo LED enviando una seal alta
digitalWrite (LED_PIN, HIGH);
// Tiempo de espera de 1 segundo (1000 ms)
delay (1000);
// Apagado del diodo LED enviando una seal baja.
digitalWrite (LED_PIN, LOW);
// Tiempo de espera de 1 segundo
delay (1000);
}

Bibliotecas en Arduino[editar]
Las bibliotecas estndar que ofrece Arduino son las siguientes:28

Serial[editar]
Lectura y escritura por el puerto serie.

EEPROM[editar]
Lectura y escritura en el almacenamiento permanente. 29

read(), write()

Ethernet[editar]
Conexin a Internet mediante Arduino Ethernet Shield. Puede funcionar como servidor
que acepta peticiones remotas o como cliente. Se permiten hasta cuatro conexiones
simultneas.30 Los comandos usados son los siguientes:

Servidor: Server(), begin(), available(), write(), print(), println()

Cliente: Client(), connected(), connect(), write(), print(), println(), available(), read(),


flush(), stop()

Firmata[editar]
Es una biblioteca de comunicacin con aplicaciones informticas utilizando el protocolo
estndar del puerto serie.31

LiquidCrystal[editar]
Control de LCDs con chipset Hitachi HD44780 o compatibles.32 La biblioteca soporta los
modos de 4 y 8 bits.

Servo[editar]
Biblioteca para el control de servo motores.33 A partir de la versin 0017 de Arduino la
biblioteca soporta hasta 12 motores en la mayora de las placas Arduino y 48 en la Arduino
Mega. Estos son los comandos usados:

attach(), write(), writeMicroseconds(), read(), attached(), detach()

SoftwareSerial[editar]
Comunicacin serie en contactos digitales.34 Por defecto Arduino incluye comunicacin
slo en los contactos 0 y 1 pero gracias a esta biblioteca puede realizarse esta
comunicacin con los restantes.

Stepper[editar]
Control de motores paso a paso unipolares o bipolares.35

Stepper(steps, pin1, pin2), Stepper(steps, pin1, pin2, pin3, pin4), setSpeed(rpm),


step(steps)

Wire[editar]
Envo y recepcin de datos sobre una red de dispositivos o sensores mediante Two Wire
Interface (TWI/I2C).36
Las bibliotecas Matrix y Sprite de Wiring son totalmente compatibles con Arduino y sirven
para manejo de matrices de diodos LED. Tambin se ofrece informacin sobre diversas
bibliotecas desarrolladas por diversos colaboradores que permiten realizar muchas tareas.

Creacin de bibliotecas[editar]
Los usuarios de Arduino tienen la posibilidad de escribir sus propias bibliotecas. 37 Ello
permite disponer de cdigo que puede reutilizarse en otros proyectos, mantener el cdigo
fuente principal separado de las bibliotecas y la organizacin de los programas construidos
es ms clara.
Ejemplo de biblioteca[editar]
El siguiente ejemplo permite el envo de caracteres mediante el cdigo Morse:

Se crea el archivo 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 contacto a usar.
/*
Morse.h - Biblioteca para el envo de Cdigo Morse.
Creado por David A. Mellis, el 2 de noviembre de 2007.
Liberado al dominio pblico.
*/
# ifndef Morse_h
# define Morse_h
# include "WProgram.h"
class Morse
{
public:
Morse(int pin);
void dot();
void dash();
private:
int _pin;
};
# endif
Debe ser creado el archivo Morse.cpp con el cdigo, es decir con la implementacin de los
mtodos declarados:
/*
Morse.cpp - Biblioteca para el envo de Cdigo Morse.
Creado por David A. Mellis, el 2 de noviembre de 2007.
Liberado al dominio pblico.
*/
# 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);
delay(250);
}
La biblioteca creada as puede ser usada mediante el comando #include. Si se desea
enviar una peticin de auxilio SOS por el contacto 13 bastara con llamar a Morse(13) y
ejecutar la siguiente secuencia:
morse.dot(); morse.dot(); morse.dot();
morse.dash(); morse.dash(); morse.dash();
morse.dot(); morse.dot(); morse.dot();

Instalacin en diferentes entornos[editar]


Windows[editar]
Los pasos a seguir son los siguientes:

Interfaz del entorno de desarrollo Arduino en el Sistema Operativo Windows.

Descargar las versiones ms reciente de Java Runtime Enviroment (J2RE) y del


IDE Arduino.

Instalar los controladores FTDI USB, con la placa Arduino conectada.

Ejecutar el IDE Arduino para abrir la interfaz y configurar el puerto USB donde est
conectada la placa.

GNU/Linux[editar]

Interfaz del entorno de desarrollo Arduino S.O. 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.

En algunas distribuciones conviene desinstalar, si no es necesario, el programa "brltty" que


permite el acceso al terminal a personas invidentes. Para concluir, se descarga
el framework de Arduino, se descomprime y ejecuta.

Equipo de desarrollo[editar]
El ncleo del equipo de desarrollo de Arduino est formado por Massimo Banzi, David
Cuartielles, Tom Igoe, Gianluca Martino, David Mellis y Nicholas Zambetti.

Pduino[editar]

Patch Pduino.

Pduino nace de la fusin de los proyectos Pure Data y Arduino. Ambos proyectos de fuente
abierta permiten trabajar con interfaz grfica. Cargando el firmware de Pure Data (PD) a la
placa Arduino se puede acceder a ella mediante el lenguaje de programacin grfico.

Minibloq[editar]

Pantalla de Minibloq.

Combinacin de una computadora de bajo costo OLPC, el software Minibloq y una placa Arduino.

Minibloq es un entorno grfico de programacin que puede generar cdigo nativo de


Arduino y escribirlo directamente en la memoria flash de la placa. Tiene un modo que
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 computadora porttil OLPC, mediante el software Wine.

Physical Etoys[editar]

Proyecto de un semforo realizado con Arduino y Physical Etoys.

Physical Etoys es una extensin libre y gratuita que permite que diversos dispositivos
electrnicos como Lego NXT, las placas Arduino, Sphero, Kinect, Joystick Wiimote, entre
otros, puedan ser programados fcilmente y que interacten entre s gracias a su sistema
de bloques.
En el caso de Arduino, Physical Etoys ofrece dos modos de programacin:
1. El modo "directo", en el cual los programas se ejecutan en la computadora del
usuario y las rdenes se transmiten inmediatamente a travs del puerto serie.

2. El modo "compilado", en el cual los programas se traducen a C++ y se bajan a la


placa, para luego ejecutarse de manera independiente de la computadora.
El modo "directo" permite modificar los programas y ver los cambios producidos de manera
inmediata en el comportamiento del robot, lo cual facilita la programacin, sobre todo al
usuario inexperto. Asimismo, permite ver constantemente los valores de los sensores y
utilizar el robot, por ejemplo, como para adquirir datos.
El modo "compilado", por su parte, elimina el retardo que introduce la comunicacin con la
computadora, lo cual lo hace preferible para el desarrollo de tareas autnomas, en las
cuales la velocidad de respuesta del robot debe ser ptima.

Vase tambin[editar]

BASIC Stamp

OOPIC

PICAXE

Gumstix

Minibloq

MiniPC

Raspberry Pi

Physical Etoys

Robot

X10

Referencias[editar]
1.

Volver arriba Placa Arduino Serial

2.

Volver arriba Interview with Casey Reas and Ben Fry.

3.

Volver arriba [1]

4.

Saltar a:a b Project homepage.

5.

Volver arriba Arduino Due is finally here.

6.

Volver arriba http://www.aec.at/en/prix/honorary2006.asp

7.

Volver arriba Ars Electrnica Archiv (en alemn). Consultado el 18 de


febrero de 2009.

8.

Volver arriba Ars Electronica Archiv / ANERKENNUNG (en alemn).


Consultado el 18 de febrero de 2009.

9.

Saltar a:a b David Kushner (26 Oct 2011). The Making of Arduino.

10.

Saltar a:a b Algo de Historia para comenzar. Consultado el 22 de diciembre


de 2013.

11.

Volver arriba Google presenta ADK, interfaz basada en Arduino para


Android. BricoGeek.com. 12 de mayo de 2011. Consultado el 22 de diciembre de
2013.

12.

Volver arriba Accessory Development Kit 2012 Guide (en ingls).


Consultado el 22 de diciembre de 2013.

13.

Volver arriba Terrence O'Brien (19 de septiembre de 2011). Arduino brings


the (new) goods to Maker Faire New York, welcomes ARM into the fold (en ingls).
Consultado el 22 de diciembre de 2013.

14.

Volver arriba Xoscillo: A software oscilloscope that acquires data using an


Arduino or a parallax. (en ingls). Consultado el 22 de diciembre de 2013.

15.

Volver arriba Joshua M. Pearce (14 de septiembre de 2012). Building


Research Equipment with Free, Open-Source Hardware (en ingls) pgs. 3.
Washington, EE.UU.: American Association for the Advancement of
Scienc. doi:10.1126/science.1228183. Consultado el 22 de diciembre de 2013.

16.

Volver arriba Peter Kirn (20 de agosto de 2008). Aug 20 2008 Arduinome: An
Arduino-Based Monome Clone, Behind the Scenes (en ingls). Consultado el 22 de
diciembre de 2013.

17.

Volver arriba Humane Reader (en ingls). Consultado el 22 de diciembre de


2013.

18.

Volver arriba The Humane PC (en ingls). Consultado el 22 de diciembre


de 2013.

19.

Volver arriba ArduinoPhone (en ingls). Consultado el 22 de diciembre de


2013.

20.

Volver arriba Esteban Zamorano (28 de noviembre de 2013). Construye tu


propio celular por USD$200 gracias a Arduino. Consultado el 22 de diciembre de
2013.

21.

Volver arriba Interfacing with Other Software (en ingls). http://arduino.cc.


Consultado el 22 de diciembre de 2013.

22.

Saltar a:a b Language Reference (en ingls). http://arduino.cc. Consultado


el 22 de diciembre de 2013.

23.

Volver arriba Serial (en ingls). http://www.arduino.cc. Consultado el 22 de


diciembre de 2013.

24.

Volver arriba Port Registers (en ingls). http://www.arduino.cc. Consultado


el 22 de diciembre de 2013.

25.

Volver arriba AVR Code (en ingls). http://www.arduino.cc. Consultado el 22


de diciembre de 2013.

26.

Volver arriba Arduino/Processing Language Comparison (en


ingls). http://www.arduino.cc. Consultado el 22 de diciembre de 2013.

27.

Volver arriba Language Reference(API)/Processing 2+ (en


ingls). http://processing.org/. Consultado el 22 de diciembre de 2013."

28.

Volver arriba Arduino - Libraries (en ingls). http://arduino.cc/. Consultado el


22 de diciembre de 2013.

29.

Volver arriba EEPROM Library (en ingls). http://www.arduino.cc.


Consultado el 22 de diciembre de 2013.

30.

Volver arriba Ethernet Library (en ingls). http://www.arduino.cc. Consultado


el 22 de diciembre de 2013.

31.

Volver arriba Firmata Library (en ingls). http://www.arduino.cc. Consultado


el 22 de diciembre de 2013.

32.

Volver arriba LiquidCrystal Library (en ingls). http://www.arduino.cc.


Consultado el 22 de diciembre de 2013.

33.

Volver arriba Servo Library (en ingls). http://www.arduino.cc. Consultado el


22 de diciembre de 2013.

34.

Volver arriba SoftwareSerial Library (en ingls). http://www.arduino.cc.


Consultado el 22 de diciembre de 2013.

35.

Volver arriba Stepper Library (en ingls). http://www.arduino.cc. Consultado


el 22 de diciembre de 2013.

36.

Volver arriba Wire Library (en ingls). http://www.arduino.cc. Consultado el


22 de diciembre de 2013.

37.

Volver arriba Writing a Library for Arduino (en ingls). http://www.arduino.cc.


Consultado el 22 de diciembre de 2013.

Arduino Uno

Arduino Uno R3 frontal

Arduino Uno R3 Volver

Arduino Uno
R2 frontal

Arduino Uno
SMD

Arduino Uno
frontal

Arduino Uno
Volver

Informacin general
El Arduino Uno es una placa electronica basada en
el ATmega328 ( ficha tcnica ). Cuenta con 14 pines digitales
de entrada / salida (de los cuales 6 pueden utilizarse para
salidas PWM), 6 entradas analgicas, un 16 MHz resonador
cermico, una conexin USB, un conector de alimentacin, un
header ICSP, y un botn de reinicio. Contiene todo lo
necesario para apoyar el microcontrolador; basta con
conectarlo a un ordenador con un cable USB o el poder con
un adaptador o la batera AC-to-DC para empezar.
El Uno se diferencia de todas las placas anteriores en que no
utiliza el chip controlador de USB a serial FTDI. En lugar de
ello, cuenta con la Atmega16U2 ( Atmega8U2 hasta la versin
R2) programado como un convertidor de USB a serie.
Revisin 2de la junta Uno tiene una resistencia tirando de la

lnea 8U2 HWB a tierra, por lo que es ms fcil de poner


enmodo DFU .
Revisin 3 de la Junta tiene las siguientes caractersticas
nuevas:

1.0 pinout: SDA aadido y pines SCL que estn cerca al


pin AREF y otros dos nuevos pernos colocados cerca del pin
de RESET, la instruccin IOREF que permiten a los escudos
para adaptarse al voltaje suministrado desde la pizarra. En el
futuro, los escudos sern compatibles tanto con el tablero que
utiliza el AVR, que funciona con 5V y con el Arduino Debido
que funciona con 3.3V. El segundo es un pin no est
conectado, que se reserva para usos futuros.

Circuito de rearme fuerte.

Atmega 16U2 sustituir el 8U2.


"Uno" significa uno en italiano y se nombra para conmemorar
el prximo lanzamiento de Arduino 1.0. El Uno y la versin
1.0 sern las versiones de referencia de Arduino, movindose
hacia adelante. El Uno es el ltimo de una serie de placas
Arduino USB y el modelo de referencia para la plataforma
Arduino; para una comparacin con las versiones anteriores,
consulte el ndice de la placa Arduino .
Resumen
Microcontroladores
Tensin de
funcionamiento
Voltaje de entrada
(recomendado)
Voltaje de entrada
(lmites)
Digital pines I / O
Pines de entrada
analgica
Corriente DC por Pin I /

ATmega328
5V
7-12V
6-20V
14 (de los cuales 6 proporcionan PWM)
6
40 mA

O
Corriente DC de 3.3V Pin
Memoria Flash
SRAM
EEPROM
Velocidad de reloj

50 mA
32 KB ( ATmega328 ) de los cuales 0,5
KB utilizado por gestor de arranque
2 KB ( ATmega328 )
1 KB ( ATmega328 )
16 MHz

Esquema y referencia Diseo


Archivos EAGLE: arduino-uno-Rev3-referencia-design.zip (NOTA:
trabaja con Eagle 6.0 y posteriores)
Esquema: arduino-uno-Rev3-schematic.pdf
Nota: El diseo de referencia Arduino puede utilizar un
Atmega8, 168, o 328, los modelos actuales utilizan
un ATmega328, pero un Atmega8 se muestra en el esquema
de referencia. La configuracin de pines es idntico en los tres
procesadores.
Potencia
El Arduino Uno puede ser alimentado a travs de la conexin
USB o con una fuente de alimentacin externa. La fuente de
alimentacin se selecciona automticamente.
Potencia (no USB) externo puede venir con un adaptador de
CA a CC (pared-verruga) o la batera. El adaptador se puede
conectar enchufando un conector de 2,1 mm de centro
positivo en el conector de alimentacin de la placa. Los cables
desde una batera se pueden insertar en los encabezados de
pin GND y Vin del conector de alimentacin.
La tarjeta puede funcionar con un suministro externo de 6 a
20 voltios. Si se suministra con menos de 7 V, sin embargo, el
pin de 5V puede suministrar menos de cinco voltios y el
tablero puede ser inestable. Si se utiliza ms de 12V, el

regulador de voltaje se puede sobrecalentar y daar la


placa. El rango recomendado es de 7 a 12 voltios.
Los pines de alimentacin son como sigue:

VIN. El voltaje de entrada a la placa Arduino cuando se


trata de utilizar una fuente de alimentacin externa (en
contraposicin a 5 voltios de la conexin USB o de otra fuente
de alimentacin regulada). Usted puede suministrar tensin a
travs de este pin, o, si el suministro de tensin a travs de la
toma de poder, acceder a l a travs de este pin.

5V. Este pin como salida una 5V regulada desde el


regulador en el tablero. El tablero puede ser alimentado ya
sea desde la toma de alimentacin de CC (7 - 12), el conector
USB (5V), o el pin VIN del tablero (7-12V). El suministro de
tensin a travs de los pines de 5V o 3.3V no pasa por el
regulador, y puede daar su tablero. No aconsejamos ella.

3V3. Un suministro de 3,3 voltios generada por el


regulador de a bordo. El drenaje actual mximo es de 50 mA.

GND. patillas de tierra.


Instruccin IOREF. Este pin de la placa Arduino
proporciona la referencia de tensin con la que opera el
microcontrolador. Un escudo configurado puede leer el voltaje
pin instruccin IOREF y seleccione la fuente de alimentacin
adecuada o habilitar traductores de voltaje en las salidas para
trabajar con el 5V o 3.3V.
Memoria
El ATmega328 tiene 32 KB (con 0,5 KB utilizados para el
gestor de arranque). Tambin tiene 2 KB de SRAM y 1 KB de
EEPROM (que puede ser ledo y escrito con la librera
EEPROM ).

Entrada y salida

Cada uno de los 14 pines digitales en el Uno se puede utilizar


como una entrada o salida, utilizando pinMode () ,digitalWrite
() , y digitalRead () funciones. Operan a 5 voltios. Cada pin

puede proporcionar o recibir un mximo de 40 mA y tiene una


resistencia de pull-up (desconectada por defecto) de 20-50
kOhms. Adems, algunos pines tienen funciones
especializadas:

De Serie: 0 (RX) y 1 (TX). utiliza para recibir (RX) y


transmitir datos en serie (TX) TTL. Estos pines estn
conectados a los pines correspondientes del ATmega8U2 USBto-TTL chips Serial.

Interrupciones externas:. 2 y 3 Estos pines pueden ser


configurados para activar una interrupcin en un valor bajo,
un flanco ascendente o descendente, o un cambio en el
valor. Ver el attachInterrupt () funcin para ms detalles.

PWM:. 3, 5, 6, 9, 10, y 11 para salidas PWM de 8 bits con


el analogWrite () funcin.

SPI:. 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Estos pines


soportan la comunicacin SPI utilizando la librera SPI .

LED:. 13 Hay un built-in LED conectado al pin digital 13


Cuando el pin es de alto valor, el LED est encendido, cuando
el pasador es bajo, es apagado.
El Uno tiene 6 entradas analgicas, etiquetados A0 a A5, cada
uno de los cuales proporcionan 10 bits de resolucin (es decir,
1024 valores diferentes). Por defecto se miden desde el suelo
a 5 voltios, aunque es posible cambiar el extremo superior de
su rango usando el pin AREF y la analogReference funcin
(). Adems, algunos pines tienen funciones especializadas:

TWI:. Pin A4 o A5 y SDA o pin SCL comunicacin Apoyo


TWI usando la librera Wire .

Hay un par de otras clavijas de la placa:

AREF. Voltaje de referencia para las entradas


analgicas. Se utiliza con analogReference ().

Restablecer. Traiga esta lnea LOW para reiniciar el


microcontrolador. Normalmente se utiliza para aadir un
botn de reinicio a los escudos que bloquean el uno en el
tablero.
Ver tambin el mapeo entre los pines de Arduino y puertos
ATmega328 . La asignacin para el Atmega8, 168, y 328 es

idntico.
Comunicacin
El Arduino Uno tiene una serie de instalaciones para la
comunicacin con un ordenador, otro Arduino, u otros
microcontroladores. El ATmega328 ofrece UART TTL (5V) de
comunicacin en serie, que est disponible en los pines
digitales 0 (RX) y 1 (TX). Un ATmega16U2 en los canales de
mesa esta comunicacin serie a travs de USB y aparece
como un puerto com virtual para el software en el
ordenador. El "firmware 16U2 utiliza los controladores USB
COM estndar, y no se necesita ningn controlador
externo. Sin embargo, en Windows, es necesario un archivo
inf . El software de Arduino incluye un monitor de serie que

permite a los datos textuales sencillos para ser enviados hacia


y desde la placa Arduino. Las RX y TX LED en el tablero
parpadean cuando se estn transmitiendo datos a travs del
chip y USB de conexin de USB a serie al ordenador (pero no
para la comunicacin en serie en los pines 0 y 1).

Una biblioteca SoftwareSerial permite la comunicacin en serie


en cualquiera de los pines digitales de la ONU.
El ATmega328 tambin soporta I2C (TWI) y la comunicacin
SPI. El software de Arduino incluye una librera Wire para
simplificar el uso del I2C bus; consulte la documentacin para
obtener ms informacin. Para la comunicacin SPI, utilice
la librera SPI .
Programacin
El Arduino Uno se puede programar con el software Arduino
( descarga ). Seleccione "Arduino Uno de los Herramientas>
Junta de men (de acuerdo con el microcontrolador en la
placa). Para ms detalles, consulte la referencia y tutoriales .
Los ATmega328 en la Arduino Uno viene precargado con
un gestor de arranque que le permite cargar nuevo cdigo a la
misma sin el uso de un programador de hardware externo. Se
comunica utilizando el original STK500 protocolo
(referencia , archivos de cabecera C ).
Tambin puede pasar por alto el gestor de arranque y
programar el microcontrolador a travs del ICSP (In-Circuit
Serial Programming) cabecea utilizando Arduino ISP o
similar; consulte estas instrucciones para obtener ms detalles.
El ATmega16U2 (o 8U2 en el rev1 y tableros REV2) cdigo
fuente del firmware disponible. El ATmega16U2 / 8U2 se
carga con un cargador de arranque DFU, que puede ser
activado por:

En las placas Rev1: conectan el puente de soldadura en


la parte posterior de la placa (cerca del mapa de Italia) y
luego reiniciar el 8U2.

En las placas Rev2 o posteriores: hay una resistencia


que tirando de la lnea 8U2 / 16U2 HWB a tierra, por lo que es
ms fcil poner en modo DFU.
A continuacin, puede utilizar el software de Atmel
FLIP (Windows) o el programador DFU (Mac OS X y Linux) para

cargar un nuevo firmware. O puede utilizar el encabezado ISP


con un programador externo (sobrescribir el gestor de
arranque DFU). Ver este tutorial aportado por los usuarios para
obtener ms informacin.
Automtica (Software) Restablecer
En lugar de requerir una prensa fsica del botn de reinicio
antes de un proceso de carga, el Arduino Uno est diseado
de una manera que permite que pueda ser restablecido por el
software que se ejecuta en un ordenador conectado. Una de
las lneas de control de flujo de hardware (DTR) de
la ATmega8U2 / 16U2 est conectado a la lnea de reposicin
de los ATmega328 mediante un condensador de 100
nanofaradios. Cuando esta lnea se afirma (tomado bajo), la
lnea de restablecimiento pasa el tiempo suficiente para
restablecer el chip. El software de Arduino utiliza esta
capacidad que le permite cargar cdigo con slo pulsar el
botn de subida en el entorno Arduino. Esto significa que el
gestor de arranque puede tener un tiempo de espera ms
corto, ya que la disminucin de DTR puede ser bien
coordinada con el inicio de la subida.
Esta configuracin tiene otras implicaciones. Cuando el Uno se
conecta ya sea a un equipo con Mac OS X o Linux, se
restablece cada vez que se realiza una conexin a la misma
desde el software (a travs de USB). Para el siguiente medio

segundo o menos, el gestor de arranque se ejecuta en el


Uno. Mientras que est programado para ignorar los datos
con formato incorrecto (es decir nada, adems de un proceso
de carga de nuevo cdigo), que interceptar los primeros
bytes de datos enviados a la junta despus de abrir una
conexin. Si un funcionamiento boceto en el tablero recibe la
configuracin de una sola vez o de otros datos cuando se
inicia por primera vez, asegrese de que el software con el
que se comunica espera un segundo despus de abrir la
conexin y antes de enviar estos datos.
El Uno contiene una traza que se puede cortar para desactivar
el reinicio automtico. Las almohadillas a ambos lados de la
traza se pueden soldar juntos para volver a habilitarla. Ha
marcado "RESET-ES". Tambin puede ser capaz de desactivar
el reinicio automtico mediante la conexin de una resistencia
de 110 ohm de 5V a la lnea de reset; ver este hilo del foro para
ms detalles.
Proteccin de sobrecorriente USB
El Arduino Uno tiene un polifusible reseteable que protege los
puertos USB de tu ordenador de cortocircuitos y
sobrecorriente. Aunque la mayora de los ordenadores
proporcionan su propia proteccin interna, el fusible
proporciona una capa adicional de proteccin. Si hay ms de
500 mA se aplica al puerto USB, el fusible se romper
automticamente la conexin hasta que la corta o se elimina
la sobrecarga.
Caractersticas fsicas

La longitud mxima y la anchura del PCB Uno son 2,7 y 2,1


pulgadas, respectivamente, con la toma de conector USB y el
poder que se extiende ms all de la dimensin
anterior. Cuatro orificios de los tornillos permiten la junta que
se une a una superficie o caja. Tenga en cuenta que la
distancia entre los pines digitales 7 y 8 es de 160 milsimas
de pulgada (0,16 "), no un mltiplo par de la separacin de
100 milsimas de pulgada de los otros pasadores.

Arduino Uno

Arduino
Leonardo

Arduino Due

Arduino Yun

Escudo GSM
Arduino

Arduino
Ethernet
Shield

El Kit de
Inicio
Arduino

Arduino
Materia 101

ACCESORIO
S

Arduino Tre

Arduino Zero

Arduino WiFi Es
cudo

Arduino
Micro

Arduino Esplora

Arduino
Wireless SD
Shield

Pantalla LCD
TFT

Arduino
Mega ADK

Arduino
Ethernet

Arduino USB
Host Escudo

USB /
Adaptador
Serial Luz

Arduino
Mega 2560

Arduino Robot

Arduino Motor
Escudo

Arduino ISP

Arduino Mini

Arduino Nano

Arduino
Wireless Proto
Escudo

Mini USB /
Serial
Adapter

LilyPad Ardui
no simple

LilyPad Arduino
SimpleSnap

LilyPad Ardui
no

LilyPad Arduino
USB

Arduino Proto
Escudo

Arduino Pro
Mini

Arduino Pro

Arduino Fio

Das könnte Ihnen auch gefallen