Professional Documents
Culture Documents
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.
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.
un
entorno
de
desarrollo
que
implementa
el lenguaje
de
ser
conectado
software
tal
como Adobe
Flash,
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
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.
con
telfonos
mviles
inteligentes
bajo
el
sistema
3. APLICACIONES
El mdulo Arduino ha sido usado como base en diversas aplicaciones
electrnicas:
The Humane PC: equipo que usa un mdulo Arduino para emular
un computador personal, con un monitor de televisin y un teclado para
computadora.
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.
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
robtica educativa
Processing
Pure Data
Python
Ruby
Scratch for Arduino (S4A): Entorno grfico de programacin, modificacin
Delimitadores:;, {}
Comentarios: //, /* */
Operadores aritmticos: +, -, *, /, %
Asignacin: =
Operadores compuestos:
5.1.3 Variables
En cuanto al tratamiento de las variables tambin comparte un gran
parecido con el lenguaje C.
Constantes
Cualquier
nmero
entero
diferente
de
cero
es
void, boolean, char, unsigned char, byte, int, unsigned int, word,
long, unsigned long, float, double, string, array.
Utilidades
sizeof()
pinMode(pin, modo)
digitalWrite(pin, valor)
int digitalRead(pin)
E/S Analgica
analogReference(tipo)
int analogRead(pin)
analogWrite(pin, valor)
E/S Avanzada
Tiempo
delay(ms)
delayMicroseconds(microsegundos)
Matemticas
Trigonometra
Nmeros aleatorios
Bits y Bytes
Interrupciones externas
detachInterrupt (interrupcin)
Interrupciones
interrupts(), noInterrupts()
DDRD = B11111110;
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
5.2.1 Interrupciones
Las seales de interrupcin son las siguientes:
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.3
5.3.1 Arreglos
Arduino
Processing
int bar[8];
bar[0] = 1;
bar[0] = 1;
int foo[] = { 0, 1, 2 };
int foo[] = { 0, 1, 2 };
o bien
int[] foo = { 0, 1, 2 };
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);
Serial.println();
5.4
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
6.4 Firmata
Es una biblioteca de comunicacin con aplicaciones informticas
utilizando el protocolo estndar del puerto serie. 31
6.5 LiquidCrystal
Control
HD44780 o
compatibles.32 La
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:
6.7 SoftwareSerial
6.8 Stepper
Control de motores paso a paso unipolares o bipolares.
6.9 Wire
Envo y recepcin de datos sobre una red de dispositivos o sensores
mediante Two Wire Interface (TWI/I2C).
/*
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);
}
Windows
Los pasos a seguir son los siguientes:
Interfaz del entorno de desarrollo Arduino en el
Sistema Operativo Windows.
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:
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.
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
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/