Practica #1

3
Brayan Matos;John C. Montes | Fund. Elec. Digital | 12 de abril de 2015 Introducción a Arduino PRACTICA #1

description

Arduino UdeA

Transcript of Practica #1

Page 1: Practica #1

Brayan Matos;John C. Montes | Fund. Elec. Digital | 12 de abril de 2015

Introducción a Arduino PRACTICA #1

Page 2: Practica #1

PÁGINA 1

Actividad:

1. Responder las siguientes preguntas:

a. Cuál es la arquitectura del Atmega 328?

El Atmega se basa en una arquitectura AVR de 8-bit.

b. Que se conoce por Arquitectura?

Es la forma de seleccionar e interconectar componentes de hardware para

crear computadoras según los requerimientos de funcionalidad, rendimiento

y costo.

c. De cuantas entradas análogas dispone el Arduino UNO?

Tiene 6 entradas análogas que van de la A0 a la A5.

d. De cuantos pines dispone el Arduino UNO para GPIO?

los pines analógicos también tienen toda la funcionalidad como propósito

general de entrada y salida (GPIO) (el mismo que los pines digitales 0 - 13).

En consecuencia, si un usuario necesita pines de salida de entrada propósito

más general, y todos los pines analógicos no están en uso, los pines analógicos

se pueden usar para GPIO. En este sentido se puede disponer de 20 pines para

GPIO.

e. Cuál es el voltaje de operación del microcontrolador Atmega 328?

El dispositivo opera entre 1.8 y 5.5 voltios.

f. Cuál es el rango de voltaje recomendado para alimentar el Arduino

UNO?

El rango de voltajes recomendado es de 7-12V.

g. Consultar para que sirve una resistencia Pull Up y en qué casos es

recomendable.

Las resistencias Pull-up son usadas en

circuitos electrónicos lógicos para

asegurar que las entradas al Arduino

estén en niveles lógicos esperados si los

dispositivos externos están

desconectados o en alta impedancia. “El

hecho de que no haya nada conectado

en un pin de entrada no significa que sea

un cero lógico”.

Una resistencia pull-up débilmente

"tira" la tensión del cable que está

conectado a hacia su nivel de fuente de

tensión cuando los otros componentes

en la línea están inactivos. Cuando el

interruptor de la línea está abierto, es de

alta impedancia y actúa como si se

desconectara. Dado que los otros componentes actúan como si ellos

estuvieran desconectados, el circuito actúa como si se desconectara, y la

resistencia de actuación trae el cable hasta el nivel lógico alto. Cuando otro

Page 3: Practica #1

PÁGINA 2

componente en la línea se activa, se anula el nivel lógico alto fijado por la

resistencia de actuación. La resistencia pull-up asegura que el alambre está a

un nivel lógico definido incluso si no hay dispositivos activos conectados a la

misma.

h. Al momento de cargar un programa en Arduino, el software de

programación debe realizar un reset; para hacerlo utiliza una de las

líneas de control de flujo del RS232. Cuál de las líneas es?

En lugar de requerir presionar el botón de reinicio antes de una carga, el

Arduino UNO está diseñado de una forma que permite ser reseteado

mediante un software que se ejecuta cuando se está conectado a una

computadora. Una de las líneas de control de flujo de hardware (DTR) del

Atmega8U2/16U2 está conectada a la línea de reseteo del Atmega 328

mediante un capacitor de 100nF. Cuando esta se afirma esta línea (toma un

LOW), la línea de reset cae lo suficiente para resetear el chip.

i. Cual considera que es la principal diferencia entre Arduino UNO y

Arduino Zero? Cuál es el más robusto (mayor capacidad de

procesamiento)?

Considero que la principal diferencia entre ambos es el procesador: el

Arduino UNO Se basa en un microcontrolador Atmel ATmega320 AVR de 8

bits a 16Mhz, mientras que el Arduino Zero contiene un potente Atmel

SAMD21 MCU de 48Mhz con un core ARM Cortex M0 de 32 bits.

En definitiva, el Arduino Zero va destinada para los que Arduino UNO se les

quede corto y necesitan algo más de potencia de procesamiento.

2.

a. Cuál es la diferencia entre setup() y loop()?

La función setup() se ejecuta una sola vez, cuando el sketch comienza. Este

es un buen lugar para configurar tareas como pinmodes o definir librerías. La

función loop() en cambio es ejecutada más de una vez. Se necesitan incluir

ambas funciones en el código, incluso si no se necesita de alguna.

b. Existe una manera de generar retrasos o pausas sin emplear delay()?

No de manera directa pero por ejemplo puede usarse una función que emplee

if() y la función millis().