Está en la página 1de 4

UNIVERSIDAD DE BOYAC

FACULTAD DE CIENCIAS E INGENIERA


PROGRAMA DE INGENIERA MECATRNICA
TALLER PROGRAMACIN ARDUINO II
DOCENTE: MSC ELKIN YESID VESLIN DAZ
TUNJA 05 DE OCTUBRE DE 2012


Configuracin de Entradas Digitales en Arduino Uno


Figura 1. Arquitectura Estacin de desarrollo Arduino 1.

Como se vio en el curso pasado las entradas y salidas digitales del Microcontrolador ATMEGA son
compartidas en 14 puertos que pueden ser encontrados en la parte derecha de la estacin de
trabajo Arduino UNO, ver Figura 1 para recordar la estructura de la estacin.

Para configurar uno de estos pines como entrada o salida, es necesario configurarlos desde el Void
Setup usando la funcin pinmode, su estructura para configurar un pin como entrada es la
siguiente:

pinMode(pin, INPUT); //Configura al pin como ENTRADA

De esta forma, cualquiera de los 14 pines que posee el Microcontrolador puede ser usado como
puerto de entrada.

Las entradas digitales se usan para registrar informacin de elementos discretos que funcionan
con dos niveles de salida, 0 o 1, siendo 1 un valor en voltaje diferente de cero. Estos elementos
pueden ser sensores de presencia on/off como los de tipo pticos o capacitivos, finales de carrera,
interruptores y cualesquiera elementos electrnicos cuya seal de voltaje cambio entre dos
estados.

P
o
w
e
r
A
I
D
i
g
i
t
a
l
P
W
M
~

Estructura de Programacin Arduino

El siguiente programa presenta una estructura ejemplo que muestra cmo se programa y se usa
un pin como entrada digital. El siguiente programa, enciende y apaga un led conectado al pin 13
siempre y cuando el interruptor est oprimido, ms adelante se explicarn las funciones
especficas usadas para este programa.


const int interruptor=7;
cons int led=13;
int estadoBoton = 0;

void setup( )
{
pinMode(interruptor, INPUT);
pinMode(led, OUTPUT);
}

void loop( )
{
estadoBoton=digitalRead(interruptor);
if(estadoBoton == HIGH)
{
digitalWrite(led, HIGH); //Enciende led
}
else
{
digitalWrite(led,LOW); //Apaga led
}
}


El cdigo que est inmerso dentro del Void Loop se explica en la Figura 2.
El nivel mximo de voltaje que puede
soportar un pin I/O es de 5 VOLTIOS, por
favor no conectar sensores cuya seal de
salida sea mayor a este rango. Valores
mayores, requieren de una etapa de
Nota
Encabezado: Aqu van libreras si son
necesarias y se definen las variables
que usar el programa
Void Setup: configura al
Microcontrolador de acuerdo con las
especificaciones del usuario.
Void Loop: cuerpo del programa, es
una estructura que se repite
indefinidamente mientras el
Microcontrolador est alimentado.

Figura 2. Diagrama de Flujo Programa que enciende un Led

Bsicamente, el programa controla el led teniendo en cuenta el estado del interruptor, si este est
oprimido el programa mantendr el led encendido, todo lo contrario, lo mantiene apagado. La
condicin if es creada para registrar el cambio de estado de 0 a 5 en el interruptor.

El circuito que controla el encendido de un led a travs de un interruptor se presenta a
continuacin:





ACTIVIDAD

Teniendo en cuenta los planos enviados la semana pasada, realizar un programa en Arduino que
controle un display de 8 segmentos a travs de 4 entradas digitales. Para representar un nmero
en el display basta con presionar los interruptores teniendo en cuenta el cdigo en binario que lo
representa. Por ejemplo, no presionar los 4 interruptores (0000) ocasiona que el display muestre
un 0 en su pantalla. Si queremos que muestre el nmero 1 tenemos que presionar el primer
interruptor (0001). Si queremos mostrar el nmero 9 debemos oprimir los interruptores (1001). Y
as con el resto de los nmeros teniendo en cuenta el cdigo en binario que lo representa.

Recordemos que 0 es interruptor que no se presiona y 1 interruptor presionado.
Se pueden configurar tantas salidas como entradas al mismo
tiempo, lo importante es tener en cuenta la cantidad de
pines que cuenta el microcontrolador.
Para leer el estado de una entrada digital se usa la funcin
digitalRead que se encarga de tomar el dato que en ella est
presente, para las I/O digitales los estados posibles son HIGH
y LOW, digitalRead debe referenciarse a una variable
declarada por el usuario, como se vio en el ejemplo.
La funcin pinMode se usa para configurar un pin tanto
como ENTRADA (INPUT) como SALIDA (OUTUT)
No se puede configurar el mismo pin como entrada y salida
en el mismo programa.
Nota

También podría gustarte