Vous êtes sur la page 1sur 21

Arduino Leccin 0 Conociendo Arduino

En esta primera leccin no vamos a aprender mucho acerca de electrnicos, sino que vamos a
aprender un poco de lo que es Arduino y sus principales caractersticas. Adems te diremos que
es lo que necesitas para empezar a trabajar con los proyectos que veremos en estas lecciones.

Arduino es una plataforma open source para prototipado electrnico basado en un hardware y
software amigable y de fcil uso. Est pensado para el uso de artistas, diseadores, aficionados
de la electrnica, hardware hackers y cualquier persona interesada en crear objetos, hardware o
ambientes interactivos. La plataforma Arduino se compone de dos partes que son:

Software: Integrated Development Environment (IDE) en el cual vamos a codificar, compilar y


descargar a la tarjeta nuestros programas de Arduino.
Hardware: Se trata de una placa de desarrollo la cual contiene un microcontrolador Atmega,
existes muchas versiones de la placa pero para motivos de esta leccin vamos a usar la placa de
Arduino Uno R3. Las partes que conforman la placa son:

-Microcontrolador Atmega328

-14 Pines digitales I/O (Entrada/Salida, 6 salidas PWM).

-6 entradas anlogas.

-Memoria flash de 32 KB (dentro del Microcontrolador Atmega).

-SRAM de 2 KB (dentro del Microcontrolador Atmega).

-Memoria EEPROM de 1 KB (dentro del Microcontrolador Atmega).

-Reloj de 16 MHz.
Arduino Leccin 1 Hello World!
En esta primer leccin de Arduino por fin nos pondremos a programar un poco en nuestra tarjeta
de desarrollo y para esto vamos a realizar el famossimo Hello World! que en nuestro caso
vamos a hacer parpadear un LED. Pero antes vamos a enlistar las cosas que necesitamos para
nuestro primer hack.

1.-Arduino Uno (Tarjeta de desarrollo)

2.-Cable USB-Serial: Este cable nos servir para conectar nuestra tarjeta Arduino a nuestra
computadora.

3.-LED: Este pequeo componente es un semiconductor que emite luz y que ser la prueba de
que nuestro programa funciona.
Antes que nada debemos de descargar nuestro software de desarrollo, en este software es donde
vamos a programar nuestro Arduino. Para esto tenemos que ingresar a la siguiente pagina:
http://www.arduino.cc/en/Main/Software

Una vez que lo hayas descargado procedemos a abrir el programa y veremos una pantalla como
la siguiente:
Para ahorrarnos un poco de tiempo y no escribir todo el programa haremos uso de los ejemplos
con los que cuenta el IDE de Arduino. Lo haremos como se muestra en la siguiente imagen:
Ahora tenemos en nuestro programa el siguiente cdigo:
Ms adelante explicaremos que es lo que hace cada parte del cdigo, por lo pronto sigamos
adelante.

Ahora hay que conectar el LED en el Arduino de la siguiente manera:


Ahora seleccionamos el tipo de tarjeta que en nuestro caso es un Arduino Uno
Y seleccionamos el puesto Serial correcto para poder bajar el cdigo en nuestra tarjeta.
Ahora damos click en cargar y empezaremos ver a nuestro LED parpadear.
Explicacin del cdigo

//Poner doble diagonal significa comentario, lo que nos permite

//escribir texto sin afectar el cdigo

//Creamos una variable llamada LED,

// a esta variable asignamos un numero que

// en nuestro caso es el 13

int led = 13;

// Esta es una rutina de inicializacin donde hacemos configuraciones

void setup() {

// inicializamos el Pin 13, que es el del nuestro LED como salida

pinMode(led, OUTPUT);
}

// Aqu creamos una rutina llamada Loop, la cual se corre de manera infinita

// vaya, significa que cuando termina la rutina vuelve a empezar

void loop() {

digitalWrite(led, HIGH); // Escribimos en nuestro pin con HIGH

// Esto significa que mandamos seal alta o de prendido

delay(1000); // creamos un retraso o delay de 1000 ms = 1 segundo

//De esta manera permanecer encendido el LED por un segundo

digitalWrite(led, LOW); // Escribimos en nuestro pin con LOW

// Esto significa que mandamos seal baja o de apagado

delay(1000); // creamos un retraso o delay de 1000 ms = 1 segundo

//De esta manera permanecer apagado el LED por un segundo

}
Leccin 2 Arduino Introduccin al
lenguaje de programacin de Arduino
Como has visto en las anteriores lecciones a este Arduino cuenta con su propio lenguaje de
programacin. Es preferible que cuando quieras programar en Arduino cuentes con un poco de
experiencia en el rea de programacin ya que esto har ms gil el aprendizaje de estas
lecciones. Si no tienes mucha experiencia programando te recomendamos que no te desesperes,
tal vez entiendas rpido que es lo que estamos haciendo. De otra manera si te gustara aprender
ms acerca de programacin te recomendamos paginas como
Codeacademy http://www.codecademy.com/es/learn. Por lo pronto sigamos adelante y
aprendamos ms de acerca de la programacin de Arduino. Vamos a dividir en secciones este
post a manera que sea ms fcil su comprensin.

Software de desarrollo

En la imagen hemos sealado con letras algunos de los botones que vamos a describir.
a.-Verificar: Ayuda a que el entorno de desarrollo nos revise nuestro cdigo, posiblemente
hayamos programado o escrito algo de manera incorrecta pero con este botn se podr revisar
para saber si todo est bien.

b.-Cargar: Una vez que verifiquemos que nuestro cdigo est bien escrito necesitaremos cargar
el cdigo a la tarjeta. Con este botn cargaremos nuestro proyecto en la tarjeta para poder
correrlo. Este botn ser el que ms utilizaremos en todas las lecciones y proyectos con Arduino.

c.-Nuevo: Es para crear un nuevo proyecto, en nuestro caso no lo usaremos mucho.

d.- Abrir: Abre proyectos existentes o demos que estn guardadas.

e.-Guardar: Guarda el proyecto que tenemos abierto en la ventana.


Nota: Posiblemente estes usando otros sistemas operativos como windows o Linux, pero no te
preocupes, los botones tienen prcticamente las mismas funciones.

Estructura Bsica de un programa

La estructura de nuestro programas de Arduino son demasiado simples y se conforman de dos


partes o funciones las cuales son:

setup() : En esta parte se se hace la preparacin del programa, por ejemplo asignacin de los
pines de Entrada/Salida.
loop() : Es la ejecucin de nuestro programa, esta parte es la que siempre se est ejecutando. En
pocas palabras es nuestro programa principal.

Como ya habamos dicho antes las dobles diagonales (//) significan comentario, y todo lo que
escribamos despus de estas ser ignorado por nuestro programa y no se ejecutar.

void setup() {

}
void loop() {

Variables

Una variable es un tipo de dato, que como su nombre lo dice su valor o contenido varia
dependiendo la operacin que hagamos con ella. Existen diferentes tipos de variables como: int,
float, char, etc. Por el momento no explicaremos todas pero conforme vayamos necesitando en la
lecciones las explicaremos, por lo pronto describiremos las ms comunes:

Byte: Almacena valores numricos de 8 bits, lo que significa que solo podemos almacenar
valores de 0 a 255.
Int: Almacena valores enteros de 16 bits, su rango va desde -32,768 a 32,767.
long: Almacena valores de 32 bits, su rango va desde -2,147,483,648 a 2,147,483,647.
float: Almacena valores de tipo flotantes de 32 bits, significa que podemos hacer uso de
decimales. Su rango: -3.4028235E+38 a 3.4028235E+38.
char: Es un tipo de dato que ocupa un byte de memoria y almacena un valor de carcter. Los
carcteres literales se escriben con comillas simples: A (para varios carcteres -strings- utiliza
dobles comillas ABC).

Para poder usar una variable dentro de nuestro programa primero tenemos que declararla, qu
significa esto?, significa que le decimos al programa que nos reserve un espacio en memoria para
nuestro dato variable.

Las variables pueden ser globales o locales. Las variables globales son usadas en todo el ciclo de
vida del programa, las variables locales solamente se usan en pequeos pedazos de cdigo y
despus ya no se utilizan.
Por lo general las variables globales se declaran antes del setup():

int var; //Es una variable global

void setup() {

// No se requiere modificar en el setup()

Las variables pueden tomar valores desde un principio, por ejemplo:

int var = 0;

Esto significa que nuestra variable de tipo int (entero) llamada var tomara el valor de 0 para
empezar a correr el programa, conforme avance nuestro programa avanza var puede tomar
otros valores.

Operaciones Aritmticas

En este lenguaje de programacin existen operadores aritmticos tales como suma(+), resta(-
), multiplicacin (*), divisin (/), residuo(%) y asignacin(=). Estos operadores actan
sobre las variables y constantes por ejemplo:

int x, y; //Aqu declaramos dos variables las cuales son x y y

//Le damos valores a nuestras variables

x = 0;

y = 5;

//Hacemos una operacin con nuestras variables


//Aqu sumamos el valor de y (que es 5), se lo sumamos a 5 y lo guardamos en x

//Por lo tanto x va a valer 10 despus de la ejecucin de este pequeo cdigo

x = y + 5;

Operaciones Lgicas

As como existen operaciones aritmticas existen tambin operadores lgicos como:

And (&&)
Or (||)
Not(!)

Estos operadores se pueden usar dentro de operaciones condicionales o en una sentencia if. Ms
adelante hablaremos ms de esto. Ahora solo lo explicaremos:

&& (AND)

Verdadero slo si ambos operadores son Verdadero, por ejemplo:

if (x == 5 && y == 10) {

//

esa sentencia if solo se ejecutar si x vale 5 y si y vale 10.

|| (OR):

Verdadero si alguno de los dos (o los dos) operadores son Verdadero, por ejemplo:

if (x == 5 || y == 10) {

//

esa sentencia if solo se ejecutar si x vale 5 y/o si y vale 10.

! (NOT)

Verdadero si el operador es Falso, por ejempo:

if (!x) {
//

Es Verdadero si el valor de x es Falso .

Tal vez en estos momentos no entiendas mucho de lo que estamos hablando pero no te
preocupes, conforme vayamos avanzando y aprendiendo ms todo tendr sentido.

Estructuras de control o decisin

Existen diferentes estructuras para la toma de decisiones en un programa, algunas sentencias nos
sirven para hacer algo si pasa algo o mientras pasa algo. Vamos a la explicacin y tal vez
con los ejemplos nos entendamos mejor.

Estructura if, condicional

if, el cual puede ser usado en conjunto con uno o ms operadores de comparacin, comprueba si
cierta condicin se cumple, por ejemplo, si un input posee un valor mayor a cierto nmero. El
formato para una comprobacin if es el siguiente:

if (algunaVariable > 50)

// hacer algo aqu.

Este programa comprueba si la variable algunaVariable es mayor a 50. Si lo es, el programa


toma una accin particular. Dicho de otra forma, si la declaracin escrita dentro de los parntesis
es verdadera (true), el cdigo dentro de las llaves se ejecutar. Sino, el programa ignora dicho
cdigo.

Estatuto ifelse

if/else permite mayor control sobre el flujo del cdigo que la declaracin if bsica, por permitir
agrupar mltiples comprobaciones. Por ejemplo, un input anlogo podra ser comprobado, y
tomarse una accin si el valor del inputes menor a 500, y, otra accin se ser igual o mayor a 500.
El cdigo se vera as:

if (pinCincoInput < 500)

// accin A
}

else

// accin B

else puede proceder a una comprobacin if, de esta forma, se pueden realizar mltiples
comprobaciones en una misma estructura de condiciones.

Estatuto for

La declaracin for es usada para repetir un bloque encerrado entre llaves. Un incremento de un
contador es usado, normalmente, para aumentar y terminar con el bucle. La estructura for es muy
til para la mayora de las operaciones repetitivas, y habitualmente se usa para operaciones con
vectores, para operar sobre conjuntos de datos/pines

El ciclo for tiene tres partes o argumentos en su inicializacin:

for (inicializacin; condicin; incremento) {

//funcin(es);

La inicializacin , o inicializacin, se produce slo la primera vez. Cada vez que se va a repetir
el bucle, se revisa la condicin, o condicin: si es cierta, el bloque de funciones (y el incremento
del contador) se ejecutan, y la condicin vuelve a ser comprobada de nuevo. Si la condicin es
falsa, el ciclo termina.

Ciclo while()

Los ciclos while se ejecutan continuamente, hasta que la expresin de dentro del parntesis, (),
pasa a ser falsa. Algo debe modificar la variable comprobada, el ciclo while nunca terminar. Lo
que modifique la variable puede estar en el cdigo, como una variable que se incrementa, o ser
una condicin externa, como el valor que da un sensor.

while(expresion){

// sentencia(s)

}
Ciclo dowhile

El ciclo do trabaja de la misma manera que el ciclo while, con la excepcion de que la
condicin se comprueba al final del bucle, por lo que este bucle se ejecuta siempre al menos
una vez.

do

// bloque de instrucciones

} while (condicin);

Esto fue una pequea introduccin a la programacin de Arduino, solo tocamos pequeos temas
que estaremos usando el lecciones posteriores. Ser normal que si ya has programado antes todo
lo anterior te parezca muy familiar, eso es bueno y servir como un repaso. Si nunca has
programado y esto te parece totalmente nuevo no te preocupes, poco a poco conforme
avancemos en las lecciones empezaras a entender.

Si quieres empezar a conocer ms por tu cuenta te invitamos a que le des un vistazo a la pagina
de referencia de Arduino donde viene un poco ms explicado y con algunos ejemplos.

http://arduino.cc/es/Reference/HomePage