Vous êtes sur la page 1sur 12

Las cookies nos permiten ofrecer nuestros servicios.

Al utilizar nuestros servicios, aceptas el uso que hacemos de las cookies. Ms


Informacin.

82

Like

67

Aceptar

Tweet

Tutorial Arduino: Ejemplo Semforo


Publicado el 18 March 2015 por Fernando Martnez
Ver Indice Tutorial

En este nuevo post daremos unas pautas sobre cmo debe estructurarse un programa en Arduino, tambin
veremos cmo son las sentencias bsicas usadas con esta IDE, cmo cargar nuestro programa a la placa y
para nalizar, realizaremos un ejemplo con el que encenderemos leds con Arduino montando nuestro propio
semforo.

Estructura bsica de los cdigos


Un cdigo Arduino es una serie de comandos de programacin que le dirn a nuestro microcontrolador
como con gurarse al iniciarse y qu acciones tiene que realizar mientras est en funcionamiento. Estos
comandos utilizados en Arduino son sentencias muy fciles e intuitivas.
El bloque de cdigo debe tener 2 partes, o funciones principales, que siempre debemos

incluir.

converted by Web2PDFConvert.com

Ilustracin 1 Partes bsicas de un cdigo


Primero void setup() . Dentro de esta funcin principal escribiremos las sentencias de con guracin que
necesitaremos para que Arduino trabaje correctamente. stas se ejecutarn al iniciar Arduino y una nica
vez. Con ellas, por ejemplo, asignaremos la caracterstica de entrada/salida a los pines, el modo de
comunicacin serial, activaremos los sensores que vayamos a necesitar, escribiremos rdenes de inicio del
programaetc. Algunas de estas sentencias pueden ser: pinMode( , ), Serial.begin(), sensors.begin()
La segunda funcin principal es void loop() . sta debe ir siempre despus de void setup(). En ella
escribiremos todas las sentencias, bucles y llamadas a funciones que necesitemos que nuestro Arduino
repita constantemente. Se escribirn en orden de ejecucin. Ejemplo de stas pueden ser digitalWrite( , ),
Serial.print( ), if( )
Existen otras partes del cdigo que no son obligatorias pero que podemos necesitar, segn el cdigo lo
requiera, para organizarlo todo.
Estas zonas pueden ser un espacio para el ttulo, el autor, libreras, de niciones (variables que vayamos a
usar en el programa), una zona para funciones a las que el programa ir llamandoCada uno es libre de
organizarlo como quiera, pero cuanto ms ordenado est todo, ms difcil ser perdernos cuando los
cdigos se compliquen.
Abajo podemos ver un ejemplo simple de cmo debe estructurarse un cdigo.

converted by Web2PDFConvert.com

Ilustracin 2 Como debe estructurarse un cdigo

Sentencias bsicas, funciones y libreras


Para poder realizar un cdigo Arduino debemos tener las herramientas con las que decirle a nuestro
microcontrolador que es lo que debe hacer en cada momento. Estas herramientas son las sentencias y
funciones.
Arduino usa una serie de sentencias y comandos bsicos muy sencillitos pero a la vez muy potentes.
Combinndolos crearemos programas para decirle a nuestra placa que haga prcticamente cualquier cosa
que queramos.
Las sentencias se dividen por su manera de funcionar dentro del programa, pudiendo dividirlas en 3 grades
grupos:
Estructurales: Nos dan la forma computacional del cdigo y las operaciones lgicas a ejecutar. Con
stos son con los que le marcamos al programa qu camino debe seguir el cdigo al ejecutarse y qu
operaciones debe hacer. Algn ejemplo de las ms usadas son if, for, while, +, -, =, *, /, ==, >, <
Variables: Con stas definiremos qu tipo y qu caractersticas tendrn los valores que vamos a usar en
el cdigo. Pueden ser nmeros, caracteres o estados. Podemos encontrarnos aqu las sentencias int,
float, HIGH, LOW, char, string, true, false
Funciones: Nos permiten realizar una serie de operaciones concretas y volver a la zona del cdigo en la
converted by Web2PDFConvert.com

que se ejecut. Existen funciones que estn propiamente definidas ya por Arduino como tales y tambin
podemos crearnos nuestras propias funciones para que sean llamadas en las zonas de setup o loop
cuando lo necesitemos. Son muy tiles cuando necesitamos realizar un grupo de acciones varias veces
en distintas zonas del cdigo. Tambin es una buena forma de ahorrar lneas y de organizarse. Ejemplo
de funciones tenemos pinMode, digitalWrite, delay, max, sin, cos, analogWrite
Como explicar qu accin concreta realiza cada sentencia o funcin sera muy extenso, os dejamos este
enlace para que podis consultarlos. Nosotros iremos comentando todos los que vayamos usando en
nuestros ejemplos.
Otra cosa importante son las libreras. Son una serie de sentencias y funciones espec cas de cada elemento
o shield que conectemos a Arduino, que no estn dentro de las propias de la IDE, y que realizarn acciones
especficas de cada uno facilitndonos mucho la programacin.
Por ltimo nombraremos un par de pequeos detalles necesarios para poder programar nuestro cdigo.
Para que cada sentencia o funcin se ejecute debe llevar al nal de cada orden el signo de puntuacin punto
y coma ; y al utilizar la doble barra // le decimos al cdigo que lo que se escriba a la derecha es un
comentario y que no debe ejecutarlo (Arduino lo colorear en gris). Esto veris que es muy til para explicar
que estamos haciendo en cada momento.

Compilacin y carga.
Una vez que hayamos escrito nuestro cdigo en la IDE Arduino procederemos a veri car que est
correctamente escrito. Para ello pulsamos el botn
arriba a la izquierda. Arduino leer el texto y nos dir
si es correcto o no. Para ello lo que har ser compilarlo, que signi ca traducir el cdigo del lenguaje de
programacin a un lenguaje que entienda el microcontrolador directamente.
En el caso de contener un error nos aparecer en la consola una explicacin orientativa del error. (Ilustracin 5)

converted by Web2PDFConvert.com

Ilustracin 3 Verificando el cdigo

Ilustracin 4 Cdigo correcto

converted by Web2PDFConvert.com

Ilustracin 5 Error en el cdigo. Falta un ";"

Si la compilacin ha sido correcta, ya podremos cargar nuestro programa al Arduino. Para ello, con la placa
conectada por USB, pulsamos el botn de carga
y esperamos a que termine.

converted by Web2PDFConvert.com

Ilustracin 6 Carga de programa terminada

Ejemplo: Semforo
Como primer proyecto, realizaremos un semforo con unos Leds. Es ideal para iniciarnos en la
programacin y el montaje de circuitos porque, como veris, es muy fcil.
Empezaremos nuestro primer proyecto describiendo los elementos que vamos a necesitar.
1 x Arduino UNO R3
1 x Protoboard
1 x Led rojo 3mm
1 x Led amarillo 3mm
1 x Led verde 3mm
3 x resistencias de 220.
Cables para conectar todo.
Una vez que tenemos todo, hacemos nuestro montaje siguiendo el siguiente esquema.

converted by Web2PDFConvert.com

Ilustracin 7 Esquema de montaje del semforo

Utilizaremos los pines digitales 2 (rojo), 4 (amarillo) y 7 (verde). Al conectar los Leds debis tener en cuenta
que tienen polaridad, por lo que tenis que colocarlos bien para que funcionen. En los Leds la patilla corta, o
el lado que est achatado, es el negativo e ir conectado a tierra (GND en la placa) a travs de una
resistencia. La patilla larga, o lado redondeado, es el positivo y se conectar al pin del Arduino
correspondiente.

converted by Web2PDFConvert.com

Ilustracin 8 Protoboard del proyecto semforo


Una vez montado, abriremos nuestro IDE Arduino y escribiremos el programa (sketch).
/*************/
/* SEMAFORO */
/*************/
/*** Fernando Martinez Mendoza ***/
//** Definiciones **//
int rojo=2;
//definimos el valor del pin para el led rojo
int amarillo=4; //definimos el valor del pin para el led amarillo
int verde=7;
//definimos el valor del pin para el led verde
//** Programa **//
void setup() {
pinMode(verde,OUTPUT); //declaramos el pin verde como salida
pinMode(amarillo,OUTPUT);//declaramos el pin amarillo como salida
pinMode(rojo,OUTPUT);
//declaramos el pin rojo como salida
}
void loop() {
digitalWrite(verde,HIGH); //encendemos el led rojo
delay(2000);
//esperamos 2 segundos
digitalWrite(verde,LOW); //apagamos el led rojo
delay(500);
//esperamos medio segundo
digitalWrite(amarillo,HIGH);
delay(2000);
digitalWrite(amarillo,LOW);
delay(500);
digitalWrite(rojo,HIGH);
delay(2000);
digitalWrite(rojo,LOW);
delay(500);

//encendemos el led amarillo


//esperamos 2 segundos
//apagamos el led amarillo
//esperamos medio segundo

//encendemos el led verde


//esperamos 2 segundos
//apagamos el led verde
//esperamos medio segundo

converted by Web2PDFConvert.com

Con la sentencia int estamos declarando una variable numrica entera, para poderla usar despus en
nuestro cdigo.
El comando delay hace que el programa pare un tiempo determinado. ste lo de niremos, en milisegundos,
dentro de los parntesis.
Las funciones pinMode y digitalWrite se explicarn en el siguiente post, salidas, con detalle.
Espero que os hayis divertido con este post y que comencis a cogerle el gusanillo al mundo del Arduino.

Descargar Tutorial en PDF de Arduino


Comprtelo con los botones sociales que aparecen a continuacin y podrs descargar el tutorial completo
de Arduino en PDF

Ayuda a la comunidad compartiendo!


Podrs ver el contenido una vez compartas esta pgina.
tweet

Compartir

+1 us

ACCEDE A 10 CURSOS EN VERANO (QUEDAN SLO 4)

Este artculo esta licenciado bajo Creative


Commons Attribution-NonCommercial-ShareAlike 4.0
International License.

AUTOR

converted by Web2PDFConvert.com

Fernando Martnez
Nacido en Brenes, Sevilla. Ingeniero Tcnico Industrial, especializado en electricidad. Aficionado a la electrnica, la programacin y la edicin
de sonido profesional. Actualmente colabora en diseo y desarrollo de prototipos para domtica.

VER CURSOS

INTERESANTE
Tutorial Arduino: Comunicacin serie
2 months, 2 weeks ago

Tutorial Arduino: Uso de sistema OneWire


2 months ago

Tutorial Arduino: Sonidos con Arduino


2 months, 1 week ago

Tutorial Arduino: Introduccin


6 months, 1 week ago

Tutorial Arduino: IDE Arduino


6 months ago

Tutorial de Arduino
6 months, 1 week ago

converted by Web2PDFConvert.com

Tutorial Arduino: Salidas


4 months ago

Tutorial Arduino: Entradas Analgicas y Digitales


3 months, 2 weeks ago

Tutorial Arduino: Entradas (2): Botones


3 months, 1 week ago

cursos@openwebinars.net
(34) 611 467 467
(34) 611 467 467
openwebinarsnet
@openwebinarsnet
OpenWebinarsNet

Cursos profesionales de programacin y sistemas. Clases en vivo con profesores expertos.


Contacta

Sguenos

2014 OpenWebinars.net es una marca registrada de Hipopoto S.L. CIF B90167594 Avenida Republica Argentina 25, 9 Planta, Espacio Res,
Sevilla
Politica de Privacidad
159

converted by Web2PDFConvert.com

Vous aimerez peut-être aussi