Вы находитесь на странице: 1из 10

INSTITUTO POLITCNICO NACIONAL

CENTRO INTERDISCIPLINARIO DE INVESTIGACIN PARA EL DESARROLLO


INTEGRAL REGIONAL UNIDAD OAXACA

MAESTRIA EN CIENCIAS EN CONSERVACIN Y APROVECHAMIENTO


DE RECURSOS NATURALES

ASIGNATURA
DISEO DE INSTRUMENTACIN CON MICROCONTROLADORES

TTULO DE TRABAJO

PRCTICA 2 (SEMFORO)

CATEDRTICOS

DR. JOS RODOLFO MARTNEZ Y CRDENAS

M.I. JOS NAVARRO ANTONIO

ALUMNO:

REYES TORRES URIEL

HORARIO DE CLASE

MIE: 10:00-12:00, VIE: 9:00-11:00

SANTA CRUZ XOXOCOTLAN, OAXACA. 25 DE AGOSTO DE 2017


RESUMEN
Al haber realizado la primer prctica con el arduino y conocer las bases
fundamentales tanto del programa como de los circuitos electrnicos, se ve
necesario continuar con el entendimiento y dominio de las funciones de una
variable, su forma de declararla y sobre todo llamarla dentro del programa. Con
este ejercicio se pretende entender el objetivo principal de la utilizacion de
variables dentro del sketch asi como las ventajas que nos ofrece a la hora de
conectar diferentes leds.

INTRODUCCIN

Una variable es un elemento de nuestro sketch que acta como un pequeo


cajoncito (identificado por un nombre elegido por nosotros) que guarda un
determinado contenido. Ese contenido (lo que se llama el valor de la variable) se
podr modificar en cualquier momento de la ejecucin del sketch: de ah el
nombre de variable. La importancia de las variables es inmensa, ya que todos los
sketches hacen uso de ellas para alojar los valores que necesitan para funcionar.

El valor de una variable puede haberse obtenido de diversas maneras: puede


haber sido asignado literalmente, pero tambin puede ser el dato obtenido por un
sensor, o el resultado de un clculo, etc. Provenga de donde provenga
inicialmente, ese valor podr ser siempre cambiado en cualquier instante posterior
de la ejecucin del sketch, si as lo deseamos.

Declaracin e inicializacin de una variable


Antes de poder empezar a utilizar cualquier variable en nuestro sketch; no
obstante, primero deberemos crearla. Al hecho de crear una variable se le suele
llamar declarar una variable. En el lenguaje Arduino, cuando se declara una
variable es imprescindible adems especificar su tipo. El tipo de una variable lo
elegiremos segn el tipo de datos (nmeros enteros, nmeros decimales, cadena
de caracteres, etc.) que queramos almacenar en esa variable. Es decir: cada
variable puede guardar solamente valores de un determinado tipo, por lo que
deberemos decidir en su declaracin qu tipo de variable es la que nos interesa
ms segn el tipo de datos que preveamos almacenar. Asignar un valor a una
variable que sea de un tipo diferente al previsto para esta provoca un error del
sketch.

Uno podra preguntarse por qu es conveniente usar variables inicializadas en vez


de escribir su valor directamente all donde sea necesario. La razn principal es
porque trabajar con variables nos facilita mucho la comprensin y el
mantenimiento de nuestros programas: si ese valor aparece escrito en multitud de
lneas diferentes de nuestro cdigo y ha de ser cambiado, utilizando una variable
inicializada con ese valor tan solo deberamos cambiar la inicializacin de la
variable y automticamente todas las veces donde apareciera esa variable dentro
de nuestro cdigo tendra este nuevo valor; si escribiramos directamente ese
valor en cada lnea, tendramos que irlo modificando lnea por lnea, con la
consecuente prdida de tiempo y la posibilidad de cometer errores.

Por otro lado, a la hora de declarar las variables, se recomienda dar a nuestras
variables nombres descriptivos para hacer el cdigo de nuestro sketch ms
legible. Por ejemplo, nombres como sensorDistancia o botonEncendido
ayudarn a entender mejor lo que esas variables representan. Para nombrar una
variable se puede utilizar cualquier palabra que queramos, siempre que esta no
sea ya una palabra reservada del lenguaje Arduino (como el nombre de una
instruccin, etc.) y que no empiece por un dgito.

TIPOS POSIBLES DE UNA VARIABLE

Los tipos de variables que el lenguaje Arduino admite son:

El tipo boolean: las variables de este tipo solo pueden tener dos valores: cierto
o falso. Se utilizan para almacenar un estado de entre esos dos posibles, y as
hacer que el sketch reaccione segn detecte en ellas uno u otro. Por ejemplo, las
variables booleanas se pueden usar para comprobar si se han recibido datos de
un sensor (cierto) o no (falso), para comprobar si algn actuador est disponible
(cierto) o no (falso), para comprobar si el valor de otra variable diferente cumple
una determinada condicin como por ejemplo la de ser mayor que un nmero
concreto (cierto) o no (falso). El valor guardado en una variable booleana ocupa
siempre un byte de memoria.

El tipo char: el valor que puede tener una variable de este tipo es siempre un
solo carcter (una letra, un dgito, un signo de puntuacin...). Si lo que queremos
es almacenar una cadena de caracteres (es decir, una palabra o una frase) el tipo
char no nos sirve, deberemos usar otro tipo explicado posteriormente.

El tipo byte: el valor que puede tener una variable de este tipo es siempre un
nmero entero entre 0 y 255. Al igual que las variables de tipo char, las de tipo
byte utilizan un byte (8 bits) para almacenar su valor y, por tanto, tienen el mismo
nmero de combinaciones numricas posibles diferentes (256), pero a diferencia
de aquellas, los valores de una variable byte no pueden ser negativos.

El tipo int: el valor que puede tener una variable de este tipo es un nmero
entero entre -32768 (-215) y 32767 (215-1), gracias a que utilizan 2 bytes (16 bits)
de memoria para almacenarse. Esto es as para todas las placas Arduino excepto
para la Due: en este modelo de placa el tipo int utiliza 4 bytes, y por tanto, su
valor puede estar dentro de un rango mayor, concretamente entre -2,147,483,648
(-231) y 2,147,483,647 (231 -1) .

El tipo word: las variables de tipo word en la placa Arduino Due ocupan 4
bytes para almacenar su valor. Por tanto, tienen el mismo nmero de
combinaciones numricas posibles diferentes que las variables int, pero a
diferencia de estas, los valores de una variable word no pueden ser negativos.
En las placas basadas en microcontroladores de tipo AVR ocurre lo mismo: las
variables de tipo int y word ocupan el mismo espacio de memoria (aunque en
este caso, no obstante, solamente son 2 bytes) pero los valores de las segundas
no pueden ser negativos. Es fcil ver que el valor que puede tener una variable
word en todas las placas excepto la Arduino Due es un nmero entero entre 0 y
65535 (216-1).
El tipo short: el valor que puede tener una variable de este tipo para todos los
modelos de placa (ya sean basadas en microcontroladores de tipo AVR la
mayora o de tipo ARM la Due) es un nmero entero entre -32768 (-215) y
32767 (215-1), gracias a que utilizan 2 bytes (16 bits) de memoria para
almacenarse. En este sentido, los tipos short e int para placas de la familia AVR
son equivalentes, pero para la placa Arduino Due el tipo short es el nico que
utiliza 16 bits.

El tipo long: el valor que puede tener una variable de este tipo para todos los
modelos de placa (ya sean basadas en microcontroladores de tipo AVR o de tipo
ARM) es un nmero entero entre -2.147.483.648 y 2.147.483.647 gracias a que
utilizan 4 bytes (32 bits) de memoria para almacenarse. En este sentido, los tipos
long e int para placas de la familia ARM son equivalentes.

El tipo unsigned long: el valor que puede tener una variable de este tipo para
todos los modelos de placa (ya sean basadas en microcontroladores de tipo AVR
o ARM) es un nmero entero entre 0 y 4.294.967.295 (232-1). Al igual que las
variables de tipo long, las de tipo unsigned long utilizan 4 bytes (32 bits) para
almacenar su valor, y por tanto, tienen el mismo nmero de combinaciones
numricas posibles diferentes (232), pero a diferencia de aquellas, los valores de
una variable unsigned long no pueden ser negativos (tal como ya indica su
propio nombre). En este sentido, los tipos unsigned long y word para placas de
la familia ARM son equivalentes.

OBJETIVO
Manejar las distintas variables que se manejan dentro del programa adems de
reconocer como se conecta ms de un LED y su respectiva resistencia para hacer
funcionar cada uno de estos LEDS conforme lo indiquemos.
EQUIPO Y HERRAMIENTAS
Para realizar la prctica nmero dos se necesitaran las siguientes herramientas.
Placa Arduino uno
Cable USB impresora
Protoboard
3 LEDS (verde, amarillo, rojo)
Cables para el montaje del circuito
3 Resistencias 330

PROCEDIMIENTO

En el men desplegable Herramientas/placa se selecciona la tarjeta


Arduino que se est utilizando (en este caso es la Arduino general uno)

Herramientas/Puerto se debe seleccionar bajo que puerto USB se va a


conectar el Arduino con la computadora.

Se realiza el cdigo:

Inicialmente se inicia indicando el nombre del programa a desarrollar, para


insertar comentarios se emplea el smbolo //, podemos colocar el ttulo de la
prctica SEMAFORO. Tambin se puede utilizar como comentarios dentro
del programa.
Se declaran las variables de tipo entero para cada led conectado con su
pin, int rojo=2, int amarillo=4, int verde=7
Se define si la variable declarada son de tipo entrada o de salida, para eso
se utiliza el comando void setup (), se abre corchete ({) para saber qu es lo
que contiene ese comando y al finalizar el comando se cierra corchete (}).
Internamente del corchete se declarara que las variables LED son de
salida, esto se realiza a travs del comando pinMode, este a su vez
necesita como argumento la variable y el tipo de seal de la misma, es
decir pinMode(verde, OUTPUT) se realiza lo mismo para los otros dos
pines; en la que OUTPUT nos indica que la seal saldr del pin 2, 4 y 7
permitiendo encender los LEDS.

Luego de definir las variables, se procede a realizar la estructura del cdigo


a travs del comando void loop (), de igual manera se abre corchete ({) y se
cierra luego de terminar su cumplimiento (}). Internamente del corchete se
establecen las instrucciones que ejecutar Arduino continuamente. Para
que el LED se pueda encender se utilizara el comando digitalWrite, la cual
enva una seal digital al pin que anteriormente se indic. Se enva
una HIGH para encender el pin verde. El cdigo debe quedar tal
como digitalWrite(verde, HIGH). Luego se emplea el comando delay (2000
milisegundos); la cual nos permite retrasar el tiempo que se le indique hasta
la ejecucin de la siguiente instruccin. El tiempo de retardo de la
funcin delay es en milisegundos. Para que el LED pueda apagarse se
utilizar el mismo comando digitalWrite pero indicndole esta vez una seal
baja LOW, finalmente el comando se determinara
como digitalWrite(verde, LOW) y luego se empleara nuevamente el
comando delay con 500 milisegundos. Se realiza este proceso para el led
amarillo y rojo.

Al terminar el desarrollo del programa, se debe compilar Programa-


Verificar, esto para verificar si existen errores dentro del cdigo. Luego si no
existen errores se puede cargar el cdigo en la tarjeta Arduino para que
esta lo ejecute.
CONEXIN DE LED Y PROTOBOARD

La importancia de las conexiones dentro del Protoboard son muy importantes,


primero conectamos los leds dentro de cualquiera de los orificios del Protoboard
tomando en cuenta y sin olvidar cual es el nodo y cual el ctodo, se conectaron
los cables en la misma lnea del nodo y ctodo, el otro extremo del cable del
nodo se conect en las entradas 2,4 y 7 del Arduino y el extremo del cable del
ctodo en cualquier pin GND. El diagrama queda como se muestra:

RESULTADOS

Al verificar el cdigo escrito dentro del IDE, se da la orden para que este programe
las acciones que ejecutar el Arduino, como se pudo ver dentro del sketch los
diversos comandos manejados nos dan una idea ms precisa de su funcionalidad,
por ejemplo, el tiempo de encendido y apagado de cada led.
CONCLUSIONES

Al realizar la presente prctica se pudo conocer an ms la programacin del


Arduino as como su plataforma y la conexin de los elementos electrnicos, es
importante tener cuidado al realizar el sketch que tengamos en mente para poder
realizar cualquier actividad con el Arduino.

Se entendieron conceptos bsicos de programacin, cuando declaramos que pin


se va a utilizar, de que tipo, las variables que se pueden utilizar, en este caso son
las de tipo entero, como se conecta el Arduino directamente con un circuito
electrnico entre algunas otras. En conclusin, la plataforma Arduino puede ser
utilizada de distintas formas, desde prender y apagar un led como en la prctica
anterior, as como el controlar la secuencia de diferentes LEDs conectados en el
protoboard.

REFERENCIAS BIBLIOGRFICAS

Torrente, Artero. Oscar, Arduino, curso prctico de formacin. Pitgoras 1139, Col.
Del Valle, Mxico, D.F. Alfaomega Grupo Editor. 2013.

Monk, Simon. Programming Arduino, Getting Started with Sketches, United States
of America, McGrawHill..2012.

Вам также может понравиться