Documente Academic
Documente Profesional
Documente Cultură
INTRODUCCION................................................................................................... 4
ARDUINO............................................................................................................. 4
DEFINICION......................................................................................................... 4
HISTORIA............................................................................................................. 6
APLICACIONES..................................................................................................... 7
ESQUEMA DE CONEXIONES 4.1. Entradas y salidas............................................7
LENGUAJE DE PROGRAMACION ARDUINO............................................................8
Funciones bsicas y operadores........................................................................10
Sintaxis Bsica............................................................................................... 10
Estructuras de control.................................................................................... 10
V a r i a b l e s ............................................................................................. 10
Constantes..................................................................................................... 10
Tipos de datos................................................................................................ 11
Conversin entre tipos................................................................................... 11
Funciones Bsicas.......................................................................................... 11
E/S Digital................................................................................................... 11
E/S Analgica.............................................................................................. 11
E/S Avanzada.............................................................................................. 11
Tiempo........................................................................................................ 11
Matemticas............................................................................................... 12
Trigonometra.............................................................................................. 12
Nmeros aleatorios..................................................................................... 12
Bits y Bytes................................................................................................. 12
Interrupciones externas.............................................................................. 12
Interrupciones............................................................................................. 12
Comunicacin por puerto serie......................................................................12
Manipulacin de puertos............................................................................. 13
AVR Libc......................................................................................................... 13
Interrupciones................................................................................................ 14
Temporizadores.............................................................................................. 14
Manipulacin de puertos................................................................................ 14
2
INTRODUCCION
ARDUINO
DEFINICION
HISTORIA
APLICACIONES
Atmega 1280
5v
7-12v
6-20v
6 14
(
proporcionan
PWM )
16
Analgica
Intensidad
de 40 mA
corriente
Memoria Flash
16 kB ( 2KB
Reservados para
el bootloader)
Sram
1KB
EEPROM
512 bytes
Frecuencia
de 16 MHz
Reloj
40 mA
40 mA
32 kB ( 2KB
Reservados para
el bootloader)
2KB
1KB
1KB
128 kB ( 4KB
Reservados para
el bootloader)
2KB
4KB
1KB
Sintaxis Bsica
10
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
Variables
En cuanto al tratamiento de las variables tambin comparte un gran
parecido con el lenguaje C.
Constantes
Tipos de datos
void, boolean, char, unsigned char, byte, int, unsigned int, word,
long, unsigned long, float, double, string, array.
11
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
Tiempo
Matemticas
12
Trigonometra
Nmeros aleatorios
Bits y Bytes
Interrupciones externas
Interrupciones
interrupts(), noInterrupts()
Manipulacin de puertos
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.
14
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.
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.
Manipulacin de puertos
La manipulacin de puertos con cdigo AVR es ms rpida que utilizar la
funcin digitalWrite() de Arduino.
processing
Int bar = new int[8];
15
Bar [0]=1;
Int foo[]={0,1,2}
Bar[0]=1
Int foo []={0,1,2};
O bien
Int[] foo={0,1,2};
BIBLIOTEA DE ARDUINO
Las bibliotecas estndar que ofrece Arduino son las siguientes:
Serial
EEPROM
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.
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
Es una biblioteca de comunicacin con aplicaciones informticas
utilizando el protocolo estndar del puerto serie.
LiquidCrystal
Control de LCDs con chipset Hitachi HD44780 o compatibles.
La biblioteca soporta los modos de 4 y 8 bits.
Servo
Biblioteca para el control de servo motores. 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
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.
Stepper
Control de motores paso a paso unipolares o bipolares.
Stepper(steps, pin1, pin2), Stepper(steps, pin1, pin2, pin3, pin4),
setSpeed(rpm), step(steps)
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
17
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.
Ejemplo de biblioteca
18
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
19
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
http://es.wikipedia.org/wiki/Arduino#Ejemplo_de_biblioteca
http://www.arduino.cc/es/
20