Cuando no conoces el mundo de Arduino y te sumerges en él, generalmente encuentras una descripción de que es y como programar el famosos led que parpadea, entonces se conoce la tarjeta sobre la marcha. Por ello hoy mostraremos todas las partes del Arduino que veras en todas las placas (o en la gran mayoría) y hasta en otro tipo de controladores.
Debemos entender, para un comienzo, que Arduino es una plataforma de desarrollo de electrónica y programación que se compone a grandes rasgos de un microcontrolar y sus entradas y salidas listas para usar, así como también la facilidad de comunicación con otros dispositivos. Esto nace de la necesidad de facilitar estos recursos en pequeños, para incentivar la creatividad y el pensamiento desde una edad temprana., sin necesidad de inundarlos con información detallada de electrónica e ingenierías. De esta forma esta plataforma hoy en día es una herramienta para que cualquier persona que lo desee pueda aprender y/o desarrollar sus propios proyectos.
Como podemos ver en la imagen, hay muchos componentes en la tarjeta, no haremos un detalle electrónico basado en modelos matemáticos, pero si sabrás que puedes hacer y para que te servirán en otros dispositivos todos, o la gran mayoría de partes.

Para comenzar definiremos nuestro Arduino como una caja negra. Caja negra haciendo alusión al sistema de registro de los aviones para accidentes, que en realidad no son negras, sino que se les denomina así porque no se sabe lo que contiene, solo sabemos qué hace una función. Lo mismo sucede con nuestra tarjeta, será una caja con entradas, que son procesadas, y salidas.

Si filosofamos un poco, nos daremos cuenta que básicamente todo se comporta de esta manera, algo toma referencias (entrada), las analiza (proceso) y ejecuta una acción (salida). Un ejemplo real seria nuestro baño diario. Giramos la llave, tocamos el agua (entrada), la comparamos con una sensación adecuada para nosotros (procesamos la información) y giramos la llave para agua fría o caliente (salida). Haz el ejercicio y piensa cuantos sistemas que conoces realizan la misma lógica.
Básicamente, las señales de entrada pueden ser de dos tipos, digitales y analógicas. Las señales digitales solo tienen 2 estados, serán reconocidas como 1 o 0, todo o nada, alto o bajo (5V o 0V), como la luz de una habitación que esta encendida o apagada. Arduino Uno tiene 13 señales digitales que pueden funcionar como entrada o salida (definidas en el programa), o sea, leerá 5V o 0V, o entregará 5V o 0V. Otros modelos como el Arduino Mega tienen 54 señales digitales, que funcionan de la misma forma.

Una recomendación. Cuando el Arduino está conectado por usb al PC no es recomendable usar pines que tengan identificación de TX y RX, ya que estos corresponden al puerto que está siendo usado por el usb, así que tendrán comportamientos erráticos.
Por otro lado, las entradas analógicas pueden tener infinitos valores entre amplitudes definidas con el tiempo, como las señales de audio. Infinito siempre es teórico, en la práctica las entradas analógicas medirán valores entre 0V y 5V y serán comprendidas por la tarjeta como valores entre 0 y 1023 (1024 valores ya que se considera el 0 como un valor más). Esto ocurre porque se debe digitalizar el valor analógico para que sea comprendido en el mismo idioma de nuestra tarjeta (lenguaje digital de unos y ceros, como en matrix) y para ello se ocupan 10 bit y como son 2 valores posibles en cada bit (1 y 0) tendremos combinaciones, 1024 valores a repartir entre 0V y 5V, de infinito nada. Quien digitaliza la señal analógica al lenguaje de unos y ceros es el Conversor analógico digital, CAD o DAC en inglés.
El Arduino Uno tiene 6 entradas analógicas, que soporta una tensión de hasta 5V y pueden ser escaladas a valores menores, pero no superiores. Otras placas pueden tener más o menos entradas, un CAD de mayor o menor cantidad de bit, pero se comportarán de la misma forma.

Las entradas analógicas también pueden ser utilizadas como señales digitales, donde A0 equivale al pin 14 en la placa Uno.
Antes de pasar a otros componentes debemos mencionar que, en rigor, no existen salidas analógicas, pero si mucha astucia para emularlas. Esa astucia es llamada PWM, conocida como modulación de ancho de pulso. En las señales digitales podrán ver una raya al costado de algunos pines como el 3 y el 5, eso significa que pueden trabajar como salidas PWM. En el fondo se juega con los tiempos en los que la señal está en 1 y en 0 (el ancho del pulso), esto genera una respuesta “analógica” desde una digital.

La zona de alimentación al costado de las entradas analógicas, permite dos cosas. Una, distribuir alimentación desde el Arduino para algunos sensores o para control y dos, alimentar la tarjeta.

3,3V y 5V son salidas de voltaje desde la tarjeta, con ello podemos alimentar componentes externos. Podemos utilizar cualquier GND como negativo para alimentación. Por otra parte, Vin nos permite alimentar de forma externa la tarjeta Uno con voltajes de hasta 12V, la tarjeta trabaja con 5V y utiliza un regulador que permite esto.
Las formas convencionales de alimentar la tarjeta son, principalmente por el Usb que aparte de funcionar como alimentación nos permite monitorearla para hacer pruebas y por un Jack de alimentación, fundamentalmente para baterías de 9V. Este elemento es muy usado en los kits de Arduino Educación.

La tarjeta tiene dos conexiones para comunicarse por ICSP, un tipo de comunicación serial. El que se encuentra cerca de las entradas analógicas, específicamente sirve para programar el Bootloader del microcontrolador que utiliza Arduino. El Bootloader es un gestor de arranque que interpreta los programas, permite enviar y recibir datos por los puertos, hace posible la comunicación USB. El ICSP que está cerca del conector usb de la tarjeta, es justamente el que nos permite programar el microcontrolador encargado de la comunicación usb.


Entre los componentes que veremos y podrían llamar nuestra atención (y que son fundamentales en cualquier microcontrolador) se encuentra el cristal de cuarzo, un oscilador de 16Mhz que determina la velocidad de la ejecución del programa.

Arduino utiliza un microcontrolador que ejecuta nuestro programa, pero como mencionamos, existe otro que permite la comunicación Usb y es el ATmega16u2. Un chip cuadrado que verán detrás del conector Usb de la tarjeta. No ahondaremos en esto, la idea es conocer cada parte de la tarjeta y entender que hace.

Llegamos al cerebro de esta tarjeta, el microcontrolador ATmega 328. Como se mencionó al comienzo, el Arduino es un microcontrolador con las entradas y salidas listas para usar. El micro es el que ejecuta nuestros programas, lee nuestras entradas, envía señales para controlar dispositivos a la velocidad que el cristal le permite.

De manera global, pero al grano, estos son los componentes principales de la tarjeta que necesitas conocer para adentrarte ya en la programación, obviamente cada uno de ellos es un mundo en sí, y mientras avanzas en el aprendizaje adquirirás nuevos conocimientos sobre ellos y deberás dedicar tiempo para entender los principios físicos y electrónicos, acá queremos mostrarte que son y que hacen los principales componentes sin hacerte una clase de electrónica digital, pero ya puedes aventurarte, inténtalo.
Muchas Gracias, muy buena esta información, ha sido de gran ayuda para mi comienzo en el aprendizaje y conocimiento de la programación con Arduino