Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Monografia de Arduino
Monografia de Arduino
CURSO :
TEMA : ARDUINO
ALUMNO :
PROFESOR :
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
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.
3. APLICACIONES
4. ESQUEMA DE CONEXIONES
5.1.3 Variables
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
Utilidades
sizeof()
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()
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-binutils
avr-gcc
avr-libc
5.2.1 Interrupciones
5.2.2 Temporizadores
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 };
# 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
1.1 Serial
6.2 EEPROM
read(), write()
6.3 Ethernet
6.4 Firmata
6.5 LiquidCrystal
6.6 Servo
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
6.9 Wire
/*
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
# 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
GNU/Linux
EQUIPO DE DESARROLLO
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:
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/