Tarjeta de desarrollo Arduino
3.1 Introducción
Arduino es una plataforma electrónica de código abierto basada en hardware y software fáciles de usar.
Las placas Arduino pueden leer entradas (luz en un sensor, un dedo en un botón o un mensaje de Twitter)
y convertirlo en una salida, activando un motor, encendiendo un LED, publicando algo en línea. Puede
decirle a su tablero qué hacer enviando un conjunto de instrucciones al microcontrolador en el tablero.
Para hacerlo, utiliza el lenguaje de programación Arduino (basado en Wiring) y el Software Arduino (IDE),
basado en Processing.
El hardware de Arduino está compuesto en sus distintas versiones de una placa electrónica con un
microcontrolador Atmel (disponibles tanto basados en arquitectura AVR como en ARM), unas entradas y
salidas de tipo digital y analógico, así como puertos de conexión y alimentación.
3.2 Familia de tarjetas Arduino
Arduino cuenta con multitud de ediciones, cada una pensada para un público concreto o para una serie
de tareas específicas. La variedad de modelos oficiales y no oficiales, sumadas todas, superan varios
cientos de placas en la actualidad.
Entre los modelos oficiales existentes se tiene el Arduino UNO, Mega, DUE, Leonardo, Mini, LilyPad, entre
otros y entre los No oficiales más conocidos se tienen Almond PCD, AVR.duino U+, Bambino 210,
Banguino, Boarduino, BQ ZUM Core, entre otros.
Lo que varía de un modelo a otro es básicamente la cantidad de entradas y salidas disponibles, así como
el tipo de microcontrolador que integran. El más común y didáctico es el Arduino UNO.
3.3 Arduino UNO
Es la plataforma más extendida y la primera que salió al mercado. Todas las características de esta placa
estarán implementadas en casi todas las placas restantes, a excepción de unas pocas.
Se basa en un microcontrolador Atmel ATmega328 de 8 bits a 16Mhz que funciona a 5V. 32KB son
correspondientes a la memoria flash (0,5KB reservados para el bootloader), 2KB de SRAM y 1KB de
EEPROM. Su memoria es limitada, pero suficiente para casi todos los proyectos que rondan la red. Las
salidas pueden trabajar a voltajes superiores, de entre 6 y 20v pero se recomienda una tensión de trabajo
de entre 7 y 12v. Contiene 14 pines digitales, 6 de ellos se pueden emplear como PWM. En cuanto a pines
analógicos se cuenta con hasta 6. Estos pines pueden trabajar con intensidades de corriente de hasta
40mA.
Ing. Mariana Quintero
Microcontroladores - 2021
Figura3.1 Tarjeta de Desarrollo Arduino UNO
3.4 Especificaciones Técnicas
3.4.1 Microcontrolador Atmega328P
El Atmega328p es un microcontrolador de alto rendimiento de 8 bits, basado en tecnología AVR RISC, que
combina una memoria flash ISP de 32KB con capacidades de lectura y escritura, EEPROM de 1KB y SRAM
de 2KB.
Figura3.2 Microcontrolador Atmega 328p con encapsulado TQFP
Ing. Mariana Quintero
Microcontroladores - 2021
Tiene 23 líneas de E/S de propósito general, 32 registros de trabajo de propósito general, tres
temporizadores/contadores flexibles con modo de comparación, interrupciones internas y externas,
USART programable, interfaz I2C, puerto en serie SPI, conversor A/D de 6 canales y 10 bits, watchdog
programable con oscilador interno y cinco modos de ahorro de energía seleccionables por software.
Este microprocesador funciona entre 1,8 y 5,5 voltios. Alcanza rendimientos cercanos al millón de
instrucciones por segundo por MHz, equilibrando el consumo de energía y la velocidad de procesamiento.
3.4.2 Alimentación y niveles de tensión
La placa Arduino UNO puede alimentarse a través de la conexión USB o con una fuente de alimentación
externa. La fuente de poder se selecciona automáticamente.
La alimentación externa (no USB) puede provenir de un adaptador de CA a CC o batería. El adaptador se
puede conectar al enchufar un conector 2.1 mm de alimentación de la placa, con centro positivo. Los
cables de una batería se pueden insertar en los pines GND y Vin del conector POWER.
La placa puede operar con un suministro externo de 6 a 20V. Sin embargo, si se suministra con menos de
7V, el pin de 5V puede suministrar menos de cinco voltios y la placa puede volverse inestable. Si usa más
de 12 V, el regulador de voltaje puede sobrecalentarse y dañar la placa. El rango recomendado es de 7 a
12V.
Los pines de alimentación son los siguientes
Vin: El voltaje de entrada a la placa Arduino UNO R3 cuando está usando una fuente de
alimentación externa la diferencia de los 5 voltios de la conexión USB u otra fuente de
alimentación reguladal, Puede suministrar voltaje a través de este pin o, si suministra voltaje a
través del conector de alimentación, acceda a través de este pin.
5V: Este pin produce un voltaje de 5V regulados desde el regulador en la placa. La placa Arduino
UNO R3 se puede alimentar con la toma de alimentación de CC (7-12V) el conector USB (5V) o el
pin VIN de la placa (7-12 V). El suministro de voltaje a través de los pines de 5 o 3,3V evita el
regulador y puede dañar la placa. Úselos con precaución.
3V3: Una fuente de 3.3 voltios generada por el regulador en la placa. El consumo máximo de
corriente es de 50mA.
GND: Pines de tierra.
IOREF: Este pin proporciona la referencia de voltaje con la que funciona el microcontrolador. Una
placa de expansión (shield) correctamente configurada puede leer el voltaje del pin IOREF y
seleccionar la fuente de alimentación apropiada o habilitar los adaptadores de nivel de voltaje en
las salidas, para trabajar con 5V o 3.3V.
Ing. Mariana Quintero
Microcontroladores - 2021
3.4.3 Tipos de Reset
Las forma más sencilla y directa de resetear una placa arduino es a través de su botón de reset (ver
figura3.1). Esto reinicia el programa que se ha cargado en el microcontrolador, interrumpiendo la
ejecución actual. Tenga en cuenta que no borra el programa cargado, únicamente lo reinicia.
Otra forma es a través del IDE de Arduino (Entorno de Desarrollo Integrado). El IDE es el software a través
del cual se programan las tarjetas Arduino, cada vez que cargamos un nuevo programa a la tarjeta, el IDE
envía una señal que hace que esta se resetee.
Otras formas de resetear Arduino:
WDT, es la forma más fiable de resetear el AVR el mismo
Conectar un cable al pin de reset desde alguna fuente externa o desde un pin del mismo Arduino
con una resistenca de 1K.
Ejecutar la dirección 0 (jmp 000) que vuelve a la dirección 0 pero no resetea completamente
Arduino y no todas las configuraciones por defecto son restauradas, como por ejemplo el estado
de los pines.
3.4.4 Entradas y salidas. Características
Cada uno de los 14 pines digitales de la tarjeta Arduino UNO se pueden usar como entrada o salida, usando
las funciones pinMode(), digitalWrite() y digitalRead(). Funcionan a 5V. Cada pin puede proporcionar o
recibir 20mA como condición de operación recomendada y tienen una resistencia interna de pull-up
(desconectada por defecto) de 20-50Kohm. Un máximo de 40mA es el valor que no debe de exceder en
ningún pin de E/S para evitar daños permanentes al microcontrolador.
Además, algunos pines tienen funciones especializadas:
Serial: pines 0(RX) y 1(TX). Se usa para recibir (RX) y transmitir (TX) datos en el puerto serie en
TTL. Estos pines están conectados a los pines correspondientes del chip ATmega8U2 USB-to-TTL.
Interrupciones externas: pines 2 y 3. Estas clavijas se pueden configurar para activar una
interrupción en un valor bajo, un flanco ascendente o descendente, o un cambio en el valor. Vea
la función attachInterrup() para más detalles.
PWM: pines 3, 5, 6, 9, 10 y 11. Proporciona salida PWM de 8 bits con la función analogWrite().
SPI: pines 10(SS), 11(MOSI), 12(MISO), 13(SCK). Estos pines admiten comunicación SPI utilizando
la librería SPI.
LED: pin 13. Hay un LED integrado accionado por el pin digital 13. Cuando el pin tiene un valor
ALTO, el LED está encendido, cuando el pin está BAJO, está apagado.
TWI: pin A4 o SDA y pin A5 o SCL. Soporte de comunicación con bus I2C (TWI) utilizando la librería
Wire.
Ing. Mariana Quintero
Microcontroladores - 2021
Figura3.3 Diagrama de pines de la tarjeta Arduino UNO
La placa Arduino UNO tiene 6 entradas analógicas, etiquetadas de A0 a A5, cada una de las cuales
proporciona 10 bits de resolución (es decir, 1024 valores diferentes). Por defecto, miden desde tierra
(GND) a 5 voltios, aunque es posible cambiar el extremo superior de su rango usando el pin AREF y la
función analogReference().
Otros pines:
AREF: Voltaje de referencia para las entradas analógicas. Usado con analogReference().
Reset: Es un pin de entrada. Llevar este pin a tierra (GND) reiniciará el microcontrolador.
Normalmente se usa para agregar un botón de reinicio a las placas de expansión (shields).
El entorno de desarrollo Arduino IDE incluye un monitor serie que permite el envío y recepción de datos
textuales simples desde y hacia la placa. Los LED RX y TX de la placa parpadearán cuando los datos se
transmitan a través del chip de USB y la conexión USB del ordenador.
Ing. Mariana Quintero
Microcontroladores - 2021