0% encontró este documento útil (0 votos)
148 vistas

P01Control de Puertos Digitales Con Arduino

Este documento presenta una práctica de laboratorio sobre el control de puertos digitales con Arduino. Explica cómo instalar el software Arduino IDE y probar su funcionamiento con la tarjeta Arduino UNO. Describe las funciones básicas de entrada y salida digitales como digitalRead(), digitalWrite() y pinMode(), así como la manipulación directa de puertos usando registros. Incluye ejemplos de código para controlar LEDs, contadores binarios y más. El objetivo es que los estudiantes aprendan los fundamentos de Arduino y experimenten controlando pu

Cargado por

kristel
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
148 vistas

P01Control de Puertos Digitales Con Arduino

Este documento presenta una práctica de laboratorio sobre el control de puertos digitales con Arduino. Explica cómo instalar el software Arduino IDE y probar su funcionamiento con la tarjeta Arduino UNO. Describe las funciones básicas de entrada y salida digitales como digitalRead(), digitalWrite() y pinMode(), así como la manipulación directa de puertos usando registros. Incluye ejemplos de código para controlar LEDs, contadores binarios y más. El objetivo es que los estudiantes aprendan los fundamentos de Arduino y experimenten controlando pu

Cargado por

kristel
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 10

Microcontroladores y Laboratorio Docente: Ing. Roger Guachalla Narváez - xoroger@yahoo.

es

PRACTICA 01: Control de Puertos Digitales con Arduino


1. Objetivos:
 Instalar el software Arduino IDE y probar su funcionamiento con la tarjeta Arduino
 Conocer las funciones de Entrada y Salida de datos digitales con la tarjeta Arduino
 Conocer las Manipulación directa de puertos en Arduino
2. Fundamento Teórico
2.1 Instalación software IDE y Drivers de la tarjeta Arduino UNO
a) Descargar la versión más reciente del IDE (Entorno de Desarrollo Integrado) de Arduino para Windows
http://arduino.cc/en/main/software
b) Instalar el programa, al terminar en el área de trabajo del equipo aparecerá el icono de Arduino:

c) Conectar la tarjeta Arduino Uno al computador PC mediante el cable USB

d) El computador detectará el nuevo dispositivo USB.

e) Montará el driver adecuado, asignando un número de Puerto Serial Virtual (En este ejemplo COM7)

f) Abrir el IDE Arduino del escritorio de trabajo y configurar el modelo de Arduino. Confirmar el puerto serie
al que se conecta. En Menú]\Herramientas\Placa Elegir el modelo exacto de nuestro Arduino. En esta guía
se usará el Arduino Uno)
g) En Menú]\Herramientas\Port seleccionar el número de Puerto Serial Virtual asignado. (En este ejemplo
COM7)

h) Para probar el funcionamiento correcto de la tarjeta. Cargar el programa ‘Blink’ que hace parpadear el led
incorporado en el pin número 13 de la tarjeta Arduino

i) El código del programa ‘Blink’ es el siguiente:


j) Finalmente grabar el programa en la tarjeta haciendo click en el ícono de flecha. En la ventana inferior se
muestra el proceso de compilación. Al cabo de unos segundos verificar el parpadeo del led.

2.2 Estructura de un sketch en Arduino


Un programa de Arduino se denomina sketch o proyecto y tiene la extensión .ino

Los componentes principales de un sketch de Arduino son:

 Variables, son un espacio en memoria donde se almacenan datos y estos datos pueden variar.
 Funciones, son un trozo de código que puede ser usado/llamado desde cualquier parte del sketch. A la
función se le puede llamar directamente o pasarle unos parámetros, en función de cómo esté definida.
 setup() y loop, son dos funciones especiales que es obligatorio declarar en cualquier sketch.
 Comentarios, fundamentales para documentar el proyecto

Se puede resumir un sketch de Arduino en los siguientes diagramas de flujo:


En donde setup() es la parte encargada de recoger la configuración y loop() es la que contiene el programa que se
ejecutará cíclicamente (de ahí el término loop –bucle-). Ambas funciones son necesarias para que el programa
trabaje.
La función de configuración (setup) debe contener la inicialización de los elementos y esta función sólo se ejecuta
una vez justo después de hacer el reset y no se vuelve a ejecutar hasta que no haya otro reset. Es la primera
función a ejecutar en el programa y se utiliza para configurar, inicializar variables, comenzar a usar librerías, etc…
La función bucle (loop) siguiente contiene el código que se ejecutará continuamente (lectura de entradas,
activación de salidas, etc). Esta función es el núcleo de todos los programas de Arduino y se usa para el control
activo de la placa.
La función loop se ejecuta justo después de setup.

2.3 Entradas/Salidas Digitales

pinMode(pin, mode)
Esta instrucción es utilizada en la parte de la configuración setup() y sirve para configurar el modo de trabajo de un
PIN pudiendo ser INPUT (entrada) u OUTPUT (salida).
pinMode(pin, OUTPUT); // configura ‘pin’ como salida
Los terminales de Arduino, por defecto, están configurados como entradas, por lo tanto no es necesario definirlos
en el caso de que vayan a trabajar como entradas. Los pines configurados como entrada quedan, bajo el punto de
vista eléctrico, como entradas en estado de alta impedancia.
Estos pines tienen a nivel interno una resistencia de 20 KΩ a las que se puede acceder mediante software. Estas
resistencias se acceden de la siguiente manera:
pinMode(pin, INPUT); // configura el ‘pin’ como entrada
digitalWrite(pin, HIGH); // activa las resistencias internas
Las resistencias internas normalmente se utilizan para conectar las entradas a interruptores. En el ejemplo anterior
no se trata de convertir un pin en salida, es simplemente un método para activar las resistencias interiores.

Los pins configurado como OUTPUT (salida) se dice que están en un estado de baja impedancia estado y pueden
proporcionar 40 mA (miliamperios) de corriente a otros dispositivos y circuitos.

digitalRead(pin)

Lee el valor de un pin (definido como digital) dando un resultado HIGH (alto) o LOW (bajo). El pin se puede
especificar ya sea como una variable o una constante (0-13).
valor = digitalRead(Pin); //hace que 'valor sea igual al estado leído en ´Pin´

digitalWrite(pin, value)
Envía al ´pin´ definido previamente como OUTPUT el valor HIGH o LOW (poniendo en 1 o 0 la salida). El pin se puede
especificar ya sea como una variable o como una constante (0-13).

digitalWrite(pin, HIGH); // deposita en el 'pin' un valor HIGH (alto o 1)


Ejemplo 1: El siguiente ejemplo lee el estado de un pulsador conectado a una entrada digital y lo escribe en
el ´pin´ de salida LED:

Ejemplo 2. Control de puertos digitales de Salida


Diagrama Esquemático

2.4 Registros de puertos

El ATmega328 (Arduino Uno) dispone de 3 puertos PB, PC y PD.

Cada puerto es controlado por tres registros, los cuales también están definidos como variables en el lenguaje del
Arduino.
 El registro DDR, determina si el pin es una entrada o una salida.
 El registro PORT permite escribir (sacar) en el pin un nivel alto (1) o un nivel bajo (0).
 El registro PIN permite leer el estado de un pin que se ha configurado con entrada usando la
función pinMode().
Puerto DDR

Determina si los pines de un puerto son de entrada o salida.

Ejemplo: DDRD= B00001111;


Dónde: D es el puerto a controlar, B indicamos que es el código binario, 0 =entrada 1=salida

Registro PORT

Escribir (sacar) valores alto (1) o bajo (0) en los pines de un puerto.

Ejemplo: PORTB=10101010

Por consiguiente, en el puerto B, los pines 1, 3, 5, 7 están en estado alto mientras que los pines 0, 2, 4, 6 están en
estado bajo.

Registro PIN

Leer (ingresar) el estado de los pines de entrada de un puerto.

Ejemplo: PINC

Se lee todo el puerto que se ha configurado como entrada.

Ejemplo 3. Leds que parpadean

Diagrama Esquemático
3A. Usando las funciones Arduino

3A. Usando manipulación directa de puertos


Ejemplo 4. Contador binario ascendente/descendente usando acceso directo a los puertos

Diagrama Esquemático
3. Procedimiento en Laboratorio

1era Firma: Ejemplos 1 y 2 Mostrar funcionamiento en hardware

2da Firma: Ejemplos 3 y 4 Mostrar funcionamiento en hardware

4. Informe escrito

I. Código fuente y esquemático del sketch de la 2da Firma


II. Tema de Investigación: “VENTAJAS Y DESVENTAJAS DE USAR ARDUINO”
- 2 Páginas de Resumen escrito a mano
- Enlace web (link)
- 1er página del link impresa
III. Conclusiones

También podría gustarte