Está en la página 1de 21

FAC TEC

LABORATORIO N 2 O

ETN 502

Realizado:
Univ. Mikael Colque Mamani

Docente:
Ing. Eduardo Gunnar Rodríguez Mendoza

Fecha:
Potosí 20/09/2017
MANEJO DE PUERTOS DE SALIDA DE ARDUINO

1. OBJETIVO

2. HERRRAMIENTAS

3. NOMENCLATURA

4. FUNDAMENTO TEORICO

5. FUNCIONALIDAD

6. CONCLUSIONES

7. RECOMENDACIONES

8. REFERENCIAS

9. ANEXOS

2
1. OBJETIVO

 Conocer físicamente la manipulación de los puertos de salida de Arduino.


 Adquirir las habilidades en el análisis de la programación y compilación del código
en IDE Arduino.
 Diseñar el circuito, en el software Proteus y el hardware del mismo en la placa de
prueba.

2. HERRAMIENTAS

2.1. PROTEUS

Proteus Design Suite es software de automatización de diseño electrónico, desarrollado


por Labcenter Electronics Ltd., que consta de los dos programas principales: Ares e Isis.

El Programa ISIS, Intelligent Schematic Input System (Sistema de Enrutado de Esquemas


Inteligente) permite diseñar el plano eléctrico del circuito que se desea realizar con
componentes muy variados.

3
2.2. Arduino IDE

El Entorno de Desarrollo Integrado, Arduino IDE es utilizado para editar instrucciones que
serán compiladas en Arduino, las que ejecutara el microcontrolador Atmega328P
integrado en la placa.

Es de código abierto, lo que implica que se modifica y adapta según la necesidad del
usuario.

2.3. Arduino

Arduino es una plataforma electrónica fáciles de usar.

Es código abierto, lo que permite a los usuarios construirlas independientemente y


adaptarlas a sus necesidades particulares. Está creciendo a través de las contribuciones
de los usuarios de todo el mundo.

4
3. NOMENCLATURA

3.1. Arduino IDE

Utiliza el lenguaje de alto nivel, basado en programación lógica su funcionalidad es


similar a C, C++ y C#.

Arduino IDE tiene una estructura básica e intuitiva.

/* Asignación de nomenclatura de los pines solo de ser necesario */

void setup(){

/* Código de configuración para ejecutar una vez

Asignación de pines como entrada o salida */

void loop(){

/* Código principal, funcionalidad repetida */

Nota: Indican /*Comentarios*/ de otra forma //Comentarios

5
Arduino IDE estructura de los programas

byte <Variable>[/*Cantidad de datos en Arreglo*/] = {/*Elementos del

Arreglo*/};

byte i, k;

void setup(){

for(i=/*Pin inicio*/;i</*Cantidad de datos en Arreglo*/;i++)

pinMode(i,1); /* 1->Salida, 0->Entrada */

void loop(){

for(k=0;k</*cantidad de salidas asignadas*/;k++){

for(i=0;i</*Cantidad de Datos de Arreglo*/;i++)

digitalWrite(i+2, bitRead(<Variable>[k], i));

/* digitalWrite en conjunto a bitRead escriben a la

Salida pin a pin el valor del arreglo */

delay(1000); /* Tiempo de ejecución de proceso en m[s]*/

6
4. FUNDAMENTO TEORICO

A lo largo de los años Arduino ha sido el cerebro de miles de proyectos, desde objetos
cotidianos hasta complejos instrumentos científicos. Una comunidad mundial de
creadores - estudiantes, aficionados, artistas, programadores y profesionales - se ha
reunido alrededor de esta plataforma de código abierto, sus contribuciones han sumado a
una increíble cantidad de conocimiento accesible que es de gran ayuda tanto para
principiantes y expertos.

Arduino nació en el Ivrea Interaction Design Institute como una herramienta fácil para el
prototipado rápido, dirigido a estudiantes sin experiencia en electrónica y programación.
Tan pronto como llegó a una comunidad más amplia, la junta de Arduino comenzó a
cambiar para adaptarse a las nuevas necesidades y desafíos, diferenciando su oferta de
tableros de 8 bits a productos para aplicaciones IoT, portátiles, impresión 3D y entornos
incrustados.

7
5. FUNCIONALIDAD

5.1.1. DFD SECUENCIA ALEATORIA

8
5.1.2. PROGRAMA SECUENCIA ALEATORIA

Hexadecimal B3 B2 B1 B0
07 0 1 1 1
0B 1 0 1 1
0D 1 1 0 1
0E 1 1 1 0

byte SA[4] = { 0x07,0x0B,0x0D,0x0E};

byte i, k;

void setup(){

for(i=2;i<6;i++)

pinMode(i,1);

void loop(){

for(k=0;k<4;k++){

for(i=0;i<4;i++)

digitalWrite(i+2, bitRead(SA[k], i));

delay(1000);

9
5.1.3. SIMULACION SECUENCIA ALEATORIA

10
5.2. DFD CODIGO BCD

11
5.2.1. PROGRAMA CODIGO BCD

BCD
Decimal B7 B6 B5 B4 B3 B2 B1 B0
0 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 1
2 0 0 0 0 0 0 1 0
3 0 0 0 0 0 0 1 1
4 0 0 0 0 0 1 0 0
5 0 0 0 0 0 1 0 1
6 0 0 0 0 0 1 1 0
7 0 0 0 0 0 1 1 1
8 0 0 0 0 1 0 0 0
9 0 0 0 0 1 0 0 1
10 0 0 0 0 1 0 1 0
11 0 0 0 0 1 0 1 1
12 0 0 0 0 1 1 0 0
13 0 0 0 0 1 1 0 1
14 0 0 0 0 1 1 1 0
15 0 0 0 0 1 1 1 1

byte BCD[16] = {0,1,2,3,4,5,6,7,8,9,16,17,18,19,20,21}, i, k;

void setup(){

for(i=2;i<10;i++)

pinMode(i,1);

void loop(){

for(k=0;k<16;k++){

for(i=0;i<10;i++)

digitalWrite(i+2, bitRead(BCD[k], i));

delay(1000);

12
}

5.3. DFD CODIGO EX3

13
5.3.1. PROGRAMA CODIGO EX3

EX3
Decimal B7 B6 B5 B4 B3 B2 B1 B0
0 0 0 1 1 0 0 1 1
1 0 0 1 1 0 1 0 0
2 0 0 1 1 0 1 0 1
3 0 0 1 1 0 1 1 0
4 0 0 1 1 0 1 1 1
5 0 0 1 1 1 0 0 0
6 0 0 1 1 1 0 0 1
7 0 0 1 1 1 0 1 0
8 0 0 1 1 1 0 1 1
9 0 0 1 1 1 1 0 0
10 0 1 0 0 0 0 1 1
11 0 1 0 0 0 1 0 0
12 0 1 0 0 0 1 0 1
13 0 1 0 0 0 1 1 0
14 0 1 0 0 0 1 1 1
15 0 1 0 0 1 0 0 0

byte EX3[16] = { 51,52,53,54,55,56,57,58,59,60,67,68,69,70,71,72}, i, k;

void setup(){

for(i=2;i<10;i++)

pinMode(i,1);

void loop(){

for(k=0;k<16;k++){

for(i=0;i<10;i++)

digitalWrite(i+2, bitRead(EX3[k], i));

delay(1000);

14
}

5.4. DFD VUMETRO

15
5.4.1. PROGRAMA DE VUMETRO

VUMETRO
Decimal B7 B6 B5 B4 B3 B2 B1 B0
0 0 0 0 1 1 0 0 0
1 0 0 1 0 0 1 0 0
2 0 1 0 0 0 0 1 0
3 1 0 0 0 0 0 0 1
4 0 1 0 0 0 0 1 0
5 0 0 1 0 0 1 0 0
6 0 0 0 1 1 0 0 0

byte VU[6] = {24,36,66,129,66,36}, i, k;

void setup(){

for(i=2;i<10;i++)

pinMode(i,1);

void loop(){

for(k=0;k<6;k++){

for(i=0;i<10;i++)

digitalWrite(i+2, bitRead(VU[k], i));

delay(100);

16
5.5. SIMULACION DE CODIGO BCD, EX3 Y VUMETRO

GRABAR CON PICKIT ™ 3

5.6. PINES DE ARDUINO

Modalidad Pin Bit


RXD 0 ----------
TXD 1 ---------
DIGITAL 2 0–1
PWM 3 0 – 255
DIGITAL 4 0–1
PWM 5 0 – 255
PWM 6 0 – 255
DIGITAL 7 0–1
DIGITAL 8 0–1
PWM 9 0 – 255
PWM 10 0 – 255

17
PWM 11 0 – 255
DIGITAL 12 0–1
DIGITAL 13 0–1
ANALOG IN A0 0 – 1023
ANALOG IN A1 0 – 1023
ANALOG IN A2 0 – 1023
ANALOG IN A3 0 – 1023
ANALOG IN A4 0 – 1023
ANALOG IN A5 0 – 1023
POWER Vcc + 5 – +3,3
Gnd 0

5.7. ESPECIFICACIONES DE ARDUINO

Dato Especificacion
uC ATMEGA328P
Tensión de +5[V]
Operación
Ent. Voltaje 7 – 12[V]
(recomendado)
Ent. Voltaje 6 – 20[V]
(limite)
Corriente DC por 40m[A]
pin E/S
Corriente DC por 50m(A)
pin +3,3[V]
SRAM 2KB
EEPROM 1KB
Memoria Flash 32KB
Velocidad Reloj 16M[Hz]

18
5.8. ARDUINO EN PLACA DE PRUEBAS

6. CONCLUSIONES

 Arduino posee las siguientes ventajas, entre sus principales características se


menciona:

 Económico
 Multiplataforma
 Entorno de Programación IDE simple y claro
 Código abierto, software y hardware extensible, es la referencia de la
informática hecha a mano

Se debe seguir los pasos indicados para evitar problemas.

19
1) Interpretar las especificaciones de Arduino, con especial cuidado en las
características electricas.

2) A la hora de compilar y grabar,


 La programación son las instrucciones, que se edita en el Arduino IDE se detalla
con los siguientes puntos:
1) Realizar el diagrama de flujo u pseudocodigo en caso de ser usuario avanzado,
del programa que desea ejecutar.
2) Elaborar el programa siguiendo las reglas de una programación lógica.
3) Convertir el archivo a formato .Hex púnicamente si desea simular.
 El proceso de simulación con todas sus ventajas es una aliada, evita posibles
desastres y fallos antes de grabar y montar los circuitos en una placa de pruebas.

7. RECOMENDACIONES

- Ensamblar el circuito con Arduino sin energizar el mismo.

- Verificar que las conexiones de Arduino sean las correctas antes de grabar en el
Entorno Arduino IDE
- Tener cuidado al momento de programar y respetar la sintaxis para evitar posibles
fallos.
- Revise que los componentes en una simulación sean los correctos a fin de asegurar
una correcta ejecución del circuito con Arduino.

8. REFERENCIAS

ARDUINO PROGRAMMING NOTEBOOK

Autor: Brian W. Evans

GUIA DE USUARIO DE ARDUINO

Autor: Rafael Enríquez Herrador

20
9. ANEXOS

 Las imágenes correspondientes a la sección 2 HERRAMIENTAS son cortesía de las


mismas PROTEUS y Arduino IDE su uso está penado y protegido bajo derechos de
copyright.

 La fotografía en la sección 4 MARCO TEORICO corresponde a David Cuartielles


Cofundador y CEO de Arduino Verkstad.
 Las imágenes de circuitos en la sección 5 FUNCIONALIDAD son diseño propio, para
dominio público.
 Las tablas de la sección 5 FUNCIONALIDAD correspondiente a SECUENCIA
ALEATORIA, BCD, EX3 y VUMETRO además de PINES DE ARDUINO y
ESPECIFICACIONES DE ARDUINO son diseño propio, para dominio público.
 La imagen de la sección 5.8. ARDUINO EN PLACA DE PRUEBAS se realizó con el
programa Fritzing, diseño propio para dominio público.

21

También podría gustarte