Arquitectura de una placa Arduino
Existen varios elementos importantes que se deben considerar al momento de desarrollar proyectos con Arduino, tomando en cuenta elementos conceptuales de hardware y software. En esta guía veremos la arquitectura detrás de la placa Arduino.
Gestor de Arranque (Bootloader)
- El bootloader es un pequeño programa que se encuentra almacenado en la memoria flash de la placa Arduino.
- Es el primer programa que se ejecuta en el procesador cuando enciendes o haces un reset del Arduino.
- Es el que se encarga de cargar el Sketch (programa del usuario) cargado previamente.
EEPROM
Arduino dispone de una memoria (EEPROM), es decir, una memoria no volátil (como la de un disco duro) en la que puedes almacenar datos sin preocuparte de perderlos cuando le quites la alimentación a tu Arduino.
ICSP
ICSP (In-Circuit Serial Programming), es la habilidad de algunos dispositivos lógicos programables, microcontroladores y otros circuitos electrónicos, de ser programados mientras están instalados en un sistema completo, en lugar de requerir que el chip sea programado antes de ser instalado dentro del sistema.
Interrupciones — Timers
Arduino dispone de dos maneras de alertar que ha ocurrido cierto evento:
- Interrupciones de hardware: Permite alertar que ha ocurrido cierto evento o que la ejecución de cierto programa esta afectando alguno de los puertos.
- Timers: Permite alertarnos cuando haya transcurrido un tiempo preciso previamente programado.
Distribución de pines
Si bien no existe restricciones y podemos utilizar cualquier Pin para casi cualquier función, la placa de Arduino UNO esta diseñada para facilitarnos las cosas y ya viene con recomendaciones de que pines usar para cada acción.
Pines de Entrada y Salida
Arduino UNO posee 14 pines digitales, de los cuales todos pueden ser utilizados tanto como entrada o como salida, eso dependerá de la programación que realicemos y como tengamos definidos los pines.
Pines de comunicación SPI
Es común que los microcontraladores cuenten con arquitectura para soportar la comunicación mediante SPI. Arduino UNO cuenta con cuatro pines destinados a esta tarea
- Pin 10 (SS): (Chip Select o Slave Select), habilita el integrado hacia el que se envían los datos, puede ser opcional.
- Pin 11 (MOSI): (Master Output Slave Input): Transmisión de datos hacia el otro integrado.
- Pin 12 (MISO): (Master Input Slave Output): Es la señal de entrada a nuestro dispositivo, por aquí se reciben los datos desde el otro integrado.
- Pin 13 (SCK): Señal de reloj del bus. Esta señal rige la velocidad a la que se transmite cada bit.
Pines PWM
En Arduino UNO, los pines 3, 5, 6, 9, 10, 11 están preparados para brindar una salida de PWM de ocho bits, mediante la función analogWrite().
Interrupciones Externas
Los pines 2 y 3 son generalmente utilizados para generar interrupciones externas, de las que se conocen como interrupciones de hardware.
Pin 13
Este pin es el único que tiene un led conectado en serie a la entrada, así que si queremos testear algo mediante el brillo de un led, podemos utilizar este pin 13.
Pin AREF
Este pin mantiene una tensión de referencia que es útil para realizar conversiones analógicas a digitales. Para esto existen una serie de librerías para realizar esta tarea de forma simple.
¡Gracias por leer! Si te ha gustado esta publicación, siéntete libre de comentar y compartirlo con más personas :)
¿Quieres hablar más sobre este tema? Déjame un mensajito en Instagram.