Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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 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);
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 :