Está en la página 1de 8

CAPITULO N°2

MANEJO DE PUERTOS COMO SALIDA

DEL ARDUINO

Una arduino es una placa pre diseñada que consta con su propio software y su propio lenguaje de
programación y debido a su configuración y sus diversos módulos de adición su armado y su
implementación sea más fácil y conveniente.

En la imagen se puede apreciar los tipos de entradas, funciones especiales interrupciones,


comunicación, y entradas de energía con la que cuenta el arduino uno.
Los puertos ah usar serán los puertos digitales que están de color celeste estos puertos
pueden ser empleados tanto como salida como de entra de datos.
La alimentación del arduino será vía conexión directa del arduino con la computadora o
también introduciendo la energía eléctrica a los pines de conexión del arduino
demarcados como power conectando la energía eléctrica a 5v y GND.
El propio arduino tiene integrado ya en la placa un botón para reiniciar el arduino
evitando asi que se tenga que implementar esta configuración en el mismo como es en el
caso del PIC.
También debido a que es una placa pre diseñada ya lleva un sistema de reloj oscilador
haciendo que ya no sea necesario conectar un cristal de cuarzo en su configuración con
condensadores para esto.
Siendo un sistema que tiene su propio software de programación esta placa arduino ya
lleva incorporado su sistema de quemado siendo que solo se debe conectar el arduino a la
computadora para quemarlo con el propio software con el que se compila.

CODIGO BASICA.-Debido a que el arduino tiene su propio lenguaje de programación


se debe conocer cada uno de los comandos básicos que son requeridos para su
funcionamiento, de igual manera que en el PIC se tiene 2 partes una que corresponde al
código básico que es l que contiene todas las especificaciones básicas que son requeridas
para el funcionamiento del arduino.
void setup() { } En este comando va en su interior todos los
aspectos básicos de nuestro programa y las especificaciones de los puertos
como a de funcionar.
pinMode(13,OUTPUT); Con el comando podemos determinar que sera
nuestro puerto si será un puerto de entrada o de salida, denotando que primero
de menciona el puerto después sigue una como y se determina si es salida o
entrada para determinar que sea una salida se coloca OUTPUT configurando
al puerto como salida.

CODIGO CENTRAL Y DE EJECUCION.-En la base central del programa estarán


los comando de ejecución que realizaran las acciones requeridas o deseadas según lo que
se quiera hacer o llegar a conseguir.
Void loop () { } en este comando van en su interior todas aquellos comando centrales o
de ejecución que llevemos en nuestro programa a diferencia del PIC este comando es
cíclico ya que va repitiendo lo q este en su interior indefinidamente.
digitalWrite(13,LOW) digitalWrite(13,HIGH) con este comando escribimos en un
puerto que se quiere hacer, primero se determina el puerto y luego se determina la acción
que realizara que es poner el puerto en estado alto o estado bajo o en otras palabra
encender o apagar el puerto.
Delay(500); con este comando se dara un tiempo de espera determinado por el valor
numérico dentro del paréntesis que esta en milisegundos, después de este tiempo de
espera recién pasara al siguiente comando.
CABE ACLARAR ENCARECIDAMENTE QUE A DIFERENCIA DEL PIC EL ARDUINO AL TENER SU
PROPIO LENGUAJE DE PROGRAMACION NO ACEPTARA LOS COMANDOS SI ESTAN MAL
ESCRITOS O ESTAN ESCRITOS SIN LAS MAYUSCULAS CORESPODIENTES O ESTEN CON
MAYUSCULAS DONDE NO CORRESPONDEN.
SIMULACION Y PROGRAMACION.-Para poder programar en arduino se debe
usar su software que es arduino ino, pero para poder simular nuestros programas de
arduino en proteus se debe usar librerías que permitan esto y también se debe saber
extraer el .HEX de nuestra compilación de arduino.
PROGRAMACION.-Los comandos que se escribirán se realizaran en :

Primero se debe crear un proyecto en la ventana de archivo


Y presionar guardar como de esta manera daremos un
Nombre a nuestro nuevo proyecto y lo guardaremos donde
queramos.
Si es el caso de que se quiera limpiar primero la pantalla
de comandos antes de darle un nombre al proyecto se debe
crear primero un nuevo proyecto apretando archivo luego nuevo lo que ocasionara que
aparezca una nueva ventana de arduino y luego se puede proseguir a darle nombre a
nuestro nuevo proyecto.
Una vez tengamos los comandos ya escritos en nuestra barra de
comandos procederemos a compilar el programa presionando el botón
de verificar lo que creara una carpeta nueva y temporal que estará
disponible mientras el programa de arduino este abierto cuando el
programa se cierre esta carpeta se borrara automáticamente.
Todo cambio que hagamos en nuestro programa y luego sea compilado será guardado en
la carpeta que le dimos nombre al inicio en un archivo .ino.
SIMULACION.-Debido a que necesitamos el archivo .HEX para realizar la simulación este
será tomado de la carpeta temporal que se crea al momento de compilar el programa la
manera de encontrar esta carpeta es obteniendo la dirección directamente del software
de arduino que nos lo otorgara en la parte baja del programa.
Para habilitar estos datos se debe ir a la parte de archivo y en preferencias se debe activar
en la ventana que emergerá:
Se deben habilitar en la opción mostrar salida detallada mientras compila y subir de esta
manera cada vez q se compile o se suba un archivo al arduino mostrara la información
requerida para poder encontrar la carpeta temporal que contiene el archivo .HEX

En los mensajes que aparecerán la parte que se debe copiar y que contiene la dirección de
la carpeta esta en la parte más baja casi al ultimo pero no es al ultimo será claramente
identificado ya que tendrá de inicio la letra C: que corresponde al nombre de nuestra
carpeta principal donde van alojados nuestros programas.

Como se puede ver en la imagen es en esta dirección donde se encuentra el .HEX para ir a
la carpeta copiamos toda la dirección hasta la parte done terminar en números como se
mira en la imagen seria hasta el numero 629174 lo que resta de /dd.ino.hex esa parte del
mensaje no se copia ya que intentaría abrir el archivo y no llevarnos a la carpeta que lo
contiene.
Esta direccion la copiamos al menu que aparece cuando abrimos un archivo y este nos
direccionara a la carpeta temporal que contiene el archivo .HEX y de esta carpeta copiamos el
archivo que queremos.

De esta carpeta copiamos el archivo dd.ino.hex que será el archivo que necesitamos para
la simulación, el nombre del archivo dependerá del nombre con el que se halla guardado
el proyecto, este archivo debe ser copia a la carpeta donde se halla guardado el proyecto
debido a que así será mas fácil encontrarlo para la simulación y además la carpeta que
contenía el archivo se borrará cuando se cierre el software de arduino.
Ya en el programa PROTEUS y armado nuestro circuito daremos doble click en la imagen
que representa al arduino como se hacia en el PIC esto nos abrirá una venta con las
siguientes opciones:

En esta ventana como en el PIC se tiene program file que es la opción donde se buscara el
archivo .HEX a simular este archivo ya fue obtenido mas antes y lo buscamos en la carpeta
donde lo copiamos.
En la opción de Clock Frequence esta ya predefinido la velocidad en la que se simulara el
arduino esta ya vie definida por defecto pero debido a que muchas veces con programas
con diversos tiempo o diversos ciclos de tratamiento de datos muchas veces nos dará
error de velocidad de simulación este error de PROTEUS nos indicara que la velocidad de
simulación ah superado a la velocidad que puede registrar nuestra computadora por lo
que es recomendable bajar la velocidad de 16MHZ a 8MHZ o también a 4MHZ esto
ocasionara que el programa valla mas lento pero no tendrá problemas de simulación.
Los cambios que se vallan ah hacer en la simulación no a de afectar a la placa de arduino
ya que estos cambios son únicamente para la simulación y la placa de arduino ya viene su
configuración de reloj inalterable.

EJEMPLO1.

Diseñar un programa que encienda 4 leds y los valla apagando uno a la vez para luego
repetir el ciclo.
CODIGO:
void setup() { delay(500);
pinMode(13,OUTPUT); digitalWrite(13,LOW);
pinMode(12,OUTPUT); delay(500);
pinMode(11,OUTPUT); digitalWrite(12,LOW);
pinMode(10,OUTPUT); delay(500);
} digitalWrite(11,LOW);
void loop(){ delay(500);
digitalWrite(13,HIGH); digitalWrite(10,LOW);
digitalWrite(12,HIGH); delay(500);
digitalWrite(11,HIGH); }
digitalWrite(10,HIGH);

Se puede ver el circuito funcionando en :


EJEMPLO2.

DISEÑAR UN CIRCUITO QUE ENCIENDA 8 LEDS AL MISMO TIEMPO Y QUE DESPUES QUE
LOS VALLA APAGANDO DE 2 EN 2. COMENZANDO CON EL PRIMERO Y EL ULTIMO UNA VEZ
TODOS ESTEN APAGADOS DEBERAN ENCENDERSE POR LOS 2 CENTRALES EL 4 Y 5 HASTA
QUE TODOS ESTEN ENCENDIDOS.
void setup() { digitalWrite(12,LOW);
pinMode(13,OUTPUT); digitalWrite(7,LOW);
pinMode(12,OUTPUT); delay(500);
pinMode(11,OUTPUT); digitalWrite(11,LOW);
pinMode(10,OUTPUT); digitalWrite(8,LOW);
pinMode(9,OUTPUT); delay(500);
pinMode(8,OUTPUT); digitalWrite(10,LOW);
pinMode(7,OUTPUT); digitalWrite(9,LOW);
pinMode(6,OUTPUT); delay(500);
} digitalWrite(10,HIGH);
void loop(){ digitalWrite(9,HIGH);
digitalWrite(13,HIGH); delay(500);
digitalWrite(12,HIGH); digitalWrite(11,HIGH);
digitalWrite(11,HIGH); digitalWrite(8,HIGH);
digitalWrite(10,HIGH); delay(500);
digitalWrite(9,HIGH); digitalWrite(12,HIGH);
digitalWrite(8,HIGH); digitalWrite(7,HIGH);
digitalWrite(7,HIGH); delay(500);
digitalWrite(6,HIGH); digitalWrite(13,HIGH);
delay(500); digitalWrite(6,HIGH);
digitalWrite(13,LOW); }
digitalWrite(6,LOW);
delay(500);
Se puede ver el circuito funcionando en :

También podría gustarte