You are on page 1of 25

ESCUELA MILITAR DE CHORRILLOS

LICENCIATURA EN CIENCIAS MILITARES

CURSO

TEMA

ALUMNO

PROFESOR

ARDUINO

LIMA PERU
2014

INDICE
INTRODUCCION
1. HISTORIA
2. APLICACIONES
3. ESQUEMA DE CONEXIONES
3.1 Entradas y salidas
4. ESPECIFICACIONES
5. LENGUAJE DE PROGRAMACIN ARDUINO
5.1 Funciones bsicas y operadores
5.2 AVR Libc
5.3 Diferencias con Processing
5.4 Ejemplo sencillo de programacin en Arduino
6. BIBLIOTECAS EN ARDUINO
6.1 Serial
6.2 EEPROM
6.3 Ethernet
6.4 Firmata
6.5 LiquidCrystal
6.6 Servo
6.7 SoftwareSerial
6.8 Stepper
6.9 Wire
6.10 Creacin de bibliotecas
7. INSTALACIONES EN DIFERENTES ENTORNOS
BIBLIOGRAFIA

INTRODUCCION

Arduino es una herramienta para hacer que los ordenadores puedan sentir y
controlar el mundo fsico a travs de tu ordenador personal. Es una plataforma de
desarrollo de computacin fsica (physical computing) de cdigo abierto, basada
en una placa con un sencillo microcontrolador y un entorno de desarrollo para
crear software (programas) para la placa.

Puedes usar Arduino para crear objetos interactivos, leyendo datos de una gran
variedad de interruptores y sensores y controlar multitud de tipos de luces,
motores y otros actuadores fsicos. Los proyecto de Arduino pueden ser
autnomos o comunicarse con un programa (software) que se ejecute en tu
ordenador. La placa puedes montarla tu mismo o comprarla ya lista para usar, y
el software de desarrollo es abierto y lo puedes descargar gratis. El lenguaje de
programacin de Arduino es una implementacin de Wiring, una plataforma de
computacin fsica parecida, que a su vez se basa en Processing, un entorno de
programacin multimedia.

Hay muchos otros microcontroladores y plataformas con microcontroladores


disponibles para la computacin fsica. Parallax Basic Stamp, BX-24 de Netmedia,
Phidgets, Handyboard del MIT, y muchos otros ofrecen funcionalidades similares.
Todas estas herramientas organizan el complicado trabajo de programar un
microcontrolador en paquetes fciles de usar. Arduino, adems de simplificar el
proceso de trabajar con microcontroladores, ofrece algunas ventajas respecto a
otros sistemas a profesores, estudiantes y amateurs:
Asequible - Las placas Arduino son ms asequibles comparadas con otras
plataformas de microcontroladores. La versin ms cara de un modulo de Arduino
puede ser montada a mano, e incluso ya montada cuesta bastante menos de 60

Multi-Plataforma - El software de Arduino funciona en los sistemas operativos


Windows, Macintosh OSX y Linux. La mayora de los entornos para
microcontroladores estn limitados a Windows.

ARDUINO

1. DEFINICION
Arduino es una plataforma de hardware libre, basada en una placa con un
micro controlador y un entorno de desarrollo, diseada para facilitar el uso de
la electrnica en proyectos multidisciplinares.

El hardware consiste en una placa con un microcontrolador Atmel AVR y


puertos de entrada/salida. Los microcontroladores ms usados son el Atmega
168, Atmega 328, 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.

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

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, y controlar luces, motores y otros actuadores. El micro
controlador 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.

2. HISTORIA
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
micro

controlador 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.

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. 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. 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

operativo Android para que el telfono controle luces, motores y sensores


conectados de Arduino.

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, 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

3. APLICACIONES
El mdulo Arduino ha sido usado como base en diversas aplicaciones
electrnicas:

Xoscillo: Osciloscopio de cdigo abierto.

Equipo cientfico para investigaciones.

Arduinome: Un dispositivo controlador MIDI.

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.

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

Ardupilot: software y hardware de aeronaves no tripuladas.

ArduinoPhone: un telfono mvil construido sobre un mdulo


Arduino

4. ESQUEMA DE CONEXIONES
4.1.

Entradas y salidas
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.

Los modelos Arduino Diecimila, Arduino Duemilanove y Arduino Mega


estn basados en los microcontroladores ATmega168, ATmega328 y
ATmega1280

Voltaje operativo
Voltaje de entrada
recomendado
Voltaje de entrada lmite
Contactos de entrada y
salida digital
Contactos de entrada
analgica
Intensidad de corriente
Memoria Flash

ATmega168
5V
7-12 V

ATmega328
5V
7-12 V

ATmega1280
5V
7-12 V

6-20 V
14

6-20 V
14

6-20 V
54

(6 proporcionan

(6 proporcionan

(14 proporcionan

PWM)
6

PWM)
6

PWM)
16

40 mA
16KB (2KB

40 mA
32KB (2KB

40 mA
128KB (4KB

SRAM
EEPROM
Frecuencia de reloj

reservados para el

reservados para el

reservados para

bootloader)
1 KB
512 bytes
16 MHz

bootloader)
2 KB
1 KB
16 MHz

el bootloader)
8 KB
4 KB
16 MHz

5. LENGUAJE DE PROGRAMACION ARDUINO


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, 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
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

5.1 Funciones bsicas y operadores


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:

5.1.1 Sintaxis Bsica

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: +=, -=, *=, /=, &=, |=

5.1.2 Estructuras de control

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

Bucles: for, while, do... while

Bifurcaciones y saltos: break, continue, return, goto

5.1.3 Variables
En cuanto al tratamiento de las variables tambin comparte un gran
parecido con el lenguaje C.

Constantes

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

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()

5.1.4 Funciones Bsicas


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

unsigned long millis()

unsigned long micros()

delay(ms)

delayMicroseconds(microsegundos)

Matemticas

min(x, y), max(x, y), abs(x), constrain(x, a, b), map(valor,


fromLow, fromHigh, toLow, toHigh), pow(base, exponente),
sqrt(x)

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 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()

5.1.5 Manipulacin de puertos


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.

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.

5.2

AVR Libc
Los programas compilados con Arduino (salvo en las placas con
CorteX M3) se enlazan contra AVR Libc por lo que tienen acceso a
algunas de sus funciones. AVR Libc es un proyecto de software libre
con el objetivo de proporcionar unabiblioteca 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.

5.2.1 Interrupciones
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.

5.2.2 Temporizadores
La funcin delay Microseconds() 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.

5.2.3 Manipulacin de puertos


La manipulacin de puertos con cdigo AVR es ms rpida que
utilizar la funcin digitalWrite() de Arduino.

5.2.4 Establecer Bits en variables


cbi y sbi son mecanismos estndar (AVR) para establecer o limpiar
bits en PORT y otras variables.

5.3

Diferencias con Processing


La sintaxis del lenguaje de programacin Arduino es una versin
simplificada de C/C++ y tiene algunas diferencias respecto de
Processing. 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:

5.3.1 Arreglos
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 };

5.3.2 Impresin de cadenas


Arduino

Processing

Serial.println("hello world");

println("hello world");

int i = 5;

int i = 5;

Serial.println(i);

println(i);

int i = 5;
Serial.print("i = ");

int i="5;"

Serial.print(i);

println("i =" + i);

Serial.println();

5.4

Ejemplo sencillo de programacin en Arduino


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);
}

6. BIBLIOTEA DE ARDUINO
Las bibliotecas estndar que ofrece Arduino son las siguientes:

1.1 Serial
Lectura y escritura por el puerto serie.

6.2 EEPROM
Lectura y escritura en el almacenamiento permanente. 29

read(), write()

6.3 Ethernet
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()

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

6.5 LiquidCrystal
Control

de LCDs con chipset Hitachi

HD44780 o

compatibles.32 La

biblioteca soporta los modos de 4 y 8 bits.

6.6 Servo
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()

6.7 SoftwareSerial

Comunicacin serie en contactos digitales. Por defecto Arduino incluye


comunicacin slo en los contactos 0 y 1 pero gracias a esta biblioteca
puede realizarse esta comunicacin con los restantes.

6.8 Stepper
Control de motores paso a paso unipolares o bipolares.

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


setSpeed(rpm), step(steps)

6.9 Wire
Envo y recepcin de datos sobre una red de dispositivos o sensores
mediante Two Wire Interface (TWI/I2C).

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.
6.10 Creacin de bibliotecas
Los usuarios de Arduino tienen la posibilidad de escribir sus propias
bibliotecas. 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.

6.10.1 Ejemplo de biblioteca


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();

2. INSTALACION EN DIFERENTES ENTORNOS

Windows
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
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 elframework de Arduino, se descomprime y ejecuta

EQUIPO DE DESARROLLO
El ncleo del equipo de desarrollo de Arduino est formado porMassimo
Banzi, David Cuartielles, Tom Igoe, Gianluca Martino,David Mellis y Nicholas
Zambetti.
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
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
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.
BIBLIOGRAFIA

1. http://es.wikipedia.org/wiki/Arduino#Ejemplo_de_biblioteca

2. http://www.arduino.cc/es/