Professional Documents
Culture Documents
INTRODUCCION
1
CARACTERISTICAS GENERALES
2
3
CARACTERISTICA DESCRIPCION
Microcontrolador
Voltaje de operacin
Tensin de entrada (recomendada)
Tensin de entrada (limite)
Pines digitales de E/S
Pines de entrada analgicos
Corriente DC por pin E/S
Corriente DC para pin 3.3V
Memoria Flash
SRAM
EEPROM
Frecuencia de reloj.
Caractersticas de Alimentacin:
Caractersticas de Comunicacin:
CONFIGURCION DE ARDUINO
4
5. Conectar un LED (si estas usando una placa antigua). La primera rutina
que subirs a la placa Arduino hace parpadear un LED. El Arduino Diecimila (y
el Arduino NG original) tiene una resistencia incorporada y un LED en el pin
13. En el Arduino NG Rev. C y placas Arduino pre-NG, sin embargo, el pin 13
no tiene un LED incorporado. En estas placas, necesitars conectar la patilla
Edificios Inteligentes MANUAL DE PRACTICAS ARDUINO Ing. Ramiro J. Moreno C.
11
Serial Monitor: Muestra datos serie enviados desde la placa Arduino (placa
serie o USB). Para enviar datos a la placa, introduce el texto y haz click en el
botn Send o presiona Enter. Elige la velocidad de transmisin de datos
desde el desplegable que asigna la velocidad pasada al Serial.being en tu
rutina. Recuerda que en Mac o GNU/Linux, la placa Arduino se reiniciar
(vuelve a ejecutar tu rutina desde el principio) cuando conectes con el Serial
monitor. Puedes comunicarte tambin con la placa desde Processing, Flash,
MaxMSP, etc. (consulta http://www.arduino.cc/playground/Main/Interfacing
para ms detalles).
Tab Menu: Permite gestionar las rutinas con ms de un archivo (cada uno de
los cuales aparece en su propia pestaa). Estos pueden ser:
2. Mens
Sketch
Verify/Compile: Comprueba tu rutina para errores.
Import Library: Utiliza una librera en tu rutina. Trabaja aadiendo
#include en la cima de tu cdigo. Esto aade funcionalidad extra a tu
rutina, pero incrementa su tamao. Para parar de usar una librera,
elimina el #include apropiado de la cima de tu rutina.
Show Sketch Folder: Abre la carpeta de rutinas en tu escritorio.
Add File: Aade otro archivo fuente a la rutina. El nuevo archivo
aparece en una nueva pestaa en la ventana de la rutina. Esto facilita y
agranda proyectos con mltiples archivos fuente. Los archivos pueden
ser eliminados de una rutina usando el Tab Menu.
Edificios Inteligentes MANUAL DE PRACTICAS ARDUINO Ing. Ramiro J. Moreno C.
12
Tools
Ejemplo de sketch
Sintaxis
Como se observa en el ejemplo anterior, al concluir cada declaracin, se
finaliza con ;.Para realizar algn comentario dentro del programa y en una
lnea se antepondr // al comentario, si se desea realizar un bloque de
Edificios Inteligentes MANUAL DE PRACTICAS ARDUINO Ing. Ramiro J. Moreno C.
VARIABLES
Una variable es una forma de asignar o almacenar un valor para un uso
posterior por el programa, estos datos pueden venir de un sensor o alguna
constante, los cuales permiten realizar un clculo o realizar una accin
determinada.
Declaracin de Variables
Declarar una variable, significa asignar un nombre, definir el tipo de dato
y opcionalmente asignar un valor. Las variables no necesariamente tienen que
ser inicializadas con un valor cuando son declaradas, pero
frecuentemente es til para asegurar el valor asignado.
Sintaxis:
int variableEntrada1; // Se define variable de tipo entero.
int variableEntrada2 = 0; // Ambas son correctas.
Tipos de variables
Para asignar el tipo de variable, se debe conocer el tipo de valor que se va a
representar dentro del entorno de programacin, para as especificar su tipo
correcto. Los tipos de variable y caractersticas utilizadas en Arduino DUE se
listan a continuacin.
Sintaxis:
char v = 65; // Asigna a v la letra A.
char v = A;
Edificios Inteligentes MANUAL DE PRACTICAS ARDUINO Ing. Ramiro J. Moreno C.
Sintaxis:
Byte b = B1001; // asigna a b el nmero 9.
int: Variable de tipo entero. Principal tipo de dato para almacenar nmeros
enteros, guardan valores de 2 bytes. Por lo que produce un rango entre 32,768
y 32,767.
Sintaxis:
int ledpin = 13; // 13 es asignado a la variable ledpin
unsigned int: Este tipo de variable solo considera los valores positivos
asignados a una variable, los cuales se almacenan en 2 bytes teniendo un
rango til de 0 a 65,535 valores.
Por ejemplo:
int x;
x = 32767; // El valor de x ser el otro extremo permitido
x = x+1; // es decir -32,768.
Sintaxis:
#define nombredeconstante valor // reemplaza en cualquier parte del
programa
// nombredeconstante por valor.
Sintaxis:
17
int v; // 'v' es visible en todo el programa
void setup() {
}
void loop() {
for (int i=0; i<20;) // 'i' es visible solo en el bucle i++;
float f; // 'f' es visible nicamente en la funcin loop()
}
OPERADORES
El uso de operadores es similar al utilizado en el lenguaje de programacin C
y C++, se clasifican en aritmticos, booleanos, compuestos y de comparacin.
Operadores aritmticos
Se utilizan empleando variables, valores constantes o elementos de un arreglo.
Operadores aritmticos
Edificios Inteligentes MANUAL DE PRACTICAS ARDUINO Ing. Ramiro J. Moreno C.
Operadores de comparacin.
18
Operadores Booleanos
CONSTANTES
FUNCIONES
Una funcin en Arduino realiza una tarea en especfico y puede retornar un
valor, cuando una funcin es invocada, pasa el control a esa funcin y una vez
que concluy su tarea el control vuelve a la lnea donde fue llamada. Tambin
se les asignan parmetros, los cuales pueden ser modificados por la propia
funcin.
pinMode(pin, mode): Funcin que configura el pin para comportarse como
entrada (INPUT) o salida (OUTPUT) digital. Esta funcin por lo general se
declara dentro de la funcin setup() y puede tener asignado o no una
variable.
Sintaxis:
void setup() {
int led =13; // A variable led se le asigna el pin 13.
pinMode (led, OUTPUT); // Configura el pin 13 como salida digital.
}
Otra manera de configurar un pin de Arduino DUE como Salida/Entrada digital,
es escribiendo directamente el nmero de pin a ser utilizado, con sta funcin
Arduino, reconoce que se est configurando un pin y no como un valor
asignado a la funcin.
Sintaxis:
void setup() {
pinMode (13, INPUT); } // Configura el pin 13 como entrada digital.
modificar los pines. Sin embargo continan funcionando las interrupciones, los
22
valores PWM (analogWrite) y los estados lgicos de los pines se mantienen.
INTERRUPCIONES
ESTRUCTURAS DE CONTROL
Condicional: if . . . else.- A diferencia del ciclo if, ste permite mayor control
sobre una estructura. En el ciclo if else, se puede tener un mayor control
sobre el flujo del cdigo del programa, por lo que permite agrupar diferentes
condiciones.
Sintaxis:
if ( x < 500 );{ // x menor que 500
/ / Realiza Accin A
}
else // De lo contrario
{
Edificios Inteligentes MANUAL DE PRACTICAS ARDUINO Ing. Ramiro J. Moreno C.
/ / Realiza Accin B
24
}
Cada condicin se proceder a la siguiente hasta que se encuentra una
verdadera. Cuando se encuentra una condicin verdadera, su bloque
correspondiente del cdigo se ejecuta y el programa se salta a la lnea
siguiente. Si no existe ninguna prueba ser cierta, el bloque else se ejecuta
por defecto.
Ciclo: for.- Este ciclo se utiliza para repetir un bloque de instrucciones entre
llaves, un contador de incremento se utiliza para tener el control de cuantas
veces se ha ejecutado el ciclo, as como su conclusin.
Sintaxis:
for (inicio; condicin; incremento) {
/ / Realiza Accin A
}
El trmino de inicio solo se prueba una vez. Cada vez que se va a repetir el
bloque, se prueba la condicin, si es verdadera se ejecutan las instruccin
dentro de la funcin y se incrementa un contador. El ciclo se ejecutar hasta
que la condicin se convierta en falsa, por lo que el ciclo terminar
Ejemplo:
for (int i=0; i <= 255; i++) { // Prueba i = 0
analogWrite(PWMpin, i); // Escribe valor de i en PWMpin
delay(10);
}
Sintaxis:
25
switch (var) {
case 1:
// Realizar las acciones cuando var = 1
break; // Instruccin para salir de la sentencia
case 2:
// Realizar las acciones cuando var = 2
break;
default:
// Si no cumple alguna condicin anterior realiza
// las siguientes acciones.
}
Sintaxis:
do {accin}
while (operacin booleana);
Comando: break
Esta instruccin es usada para salir de los lazos do, for, o while, pasando por
alto lacondicin normal del lazo, tambin es usado tambin para salir de una
estructura de control switch.
Edificios Inteligentes MANUAL DE PRACTICAS ARDUINO Ing. Ramiro J. Moreno C.
PUERTO SERIE
26
Los puertos de entrada/salida permiten la comunicacin con elementos
externos a la tarjeta. Arduino posee la interfaz para realizar la comunicacin
de datos digitales (puerto serial), con lo que es posible intercambiar datos con
la computadora a partir de las siguientes funciones:
LIBRERIAS EN ARDUINO
27
Las libreras en Arduino son archivos escritos en C o C++, que permiten
ampliar la funcionalidad de los programas. Para hacer uso de una librera en
un sketch (el IDE de Arduino), basta con hacer clic sobre Programa -
Import Library en el men, escoger la librera correspondiente y se agregar
a nuestro programa. Como las libreras se cargan en el Arduino junto con el
programa, se consume ms espacio de memoria, s un programa ya no
necesita una biblioteca, slo se tiene que borrar el #include de las
declaraciones de la parte superior del cdigo. Esto har que el IDE de Arduino
no enlace la librera con el programa y disminuya la cantidad de espacio
utilizado en la placa del Arduino. Las libreras estndar que ofrece Arduino son
las siguientes:
La funcin Stepper permite iniciar el motor, indicando los pasos que tiene y los
28
pines a los cuales est conectado. Se indica la velocidad a la que queramos
que gire en revoluciones por minuto con la funcin setSpeed(rpm) y se indican
los pasos que queremos que avance con la funcin step(pasos).
Wire: Envo y recepcin de datos sobre una red de dispositivos o sensores
mediante Two Wire Interface (TWI/I2C). Adems las bibliotecas Matrix y Sprite
de Wiring son totalmente compatibles con Arduino y sirven para el manejo
de matrices de leds.
Edificios Inteligentes MANUAL DE PRACTICAS ARDUINO Ing. Ramiro J. Moreno C.
29
PRACTICAS
CON
ARDUINO
Edificios Inteligentes MANUAL DE PRACTICAS ARDUINO Ing. Ramiro J. Moreno C.