Skip to main content

Comenzamos: Microcontroladores

¿Qué es un microcontrolador?

Un microcontrolador es un "microordenador" en un chip. Tiene una CPU, RAM (memoria de acceso aleatorio), registros de funciones especiales, memoria ROM de programa, memoria ROM de datos, de uno a varios puertos paralelos de E/S (entrada/salida), y puede tener una gran cantidad de periféricos en el chip que incluyen, pero no se limitan, a un convertidor analógico-digital (ADC), un convertidor digital-analógico (DAC), una UART serie, uno o varios temporizadores, comparadores/referencia de tensión en el chip, módulo de captura/comparación/PWM (Pulse Width Modulation), puerto serie síncrono maestro para comunicaciones SPI (Serial Peripheral Interface)/I2C (Inter Integrated Circuit), puerto USB, puerto ethernet, osciladores en el chip, junto con una serie de otros periféricos. 

Todo esto nos puede parecer farragoso en un primer momento, pero si lo vemos con imágenes, aplicado a un ejemplo de Arduino en concreto y os lo voy comentando, lo vamos a acabar entendiendo perfectamente.


Espera un segundo, pero ¿Arduino es un microcontrolador?

Aunque utilicemos Arduino y microcontrolador como sinónimos, un Arduino en realidad es una plataforma de desarrollo que entre otros componentes, contiene un microcontrolador. Junto a este microcontrolador encontraremos una serie de entradas y salidas que nos permitirán añadir interactividad a nuestros proyectos, empleando los sensores y actuadores que hemos mencionado en la página anterior.

El nacimiento y propósito de los Arduinos

Aquí no vamos a hablar de quiénes o cuándo crearon Arduino, ya que eso lo podemos encontrar fácilmente en este enlace (el cual os aconsejo leer); en cambio, sí que vamos a hablar del propósito inicial con el que fue creado: facilitar la comunicación entre un microcontrolador y otros dispositivos. De esta manera, es sencillo incentivar el desarrollo de procesos creativos y el diseño de proyectos tanto a  personas de una edad temprana, como a aquellas que sin tener conocimientos amplios de informática o electrónica quieran embarcarse a experimentar con proyectos interactivos.

El formato de Arduino hace posible que podamos adentrarnos en la electrónica sin sentirnos abrumados con información demasiado técnica. Bueno, a continuación, paso a mostrarosla imagen de un Arduino:

ArduinoUno.png

Como podemos ver, un Arduino cuenta con muchos componentes dentro de su tarjeta, algunos de los cuales ya hemos mencionado en la cita que abre esta página. No voy a entrar a explicar cada uno de ellos, pero sí los más importantes, los que nos ayudarán a entender cómo funciona un microcontrolador y para qué (y para qué no) lo podemos utilizar.

Un buen símil para un Arduino es el de una caja negra. ¿Por qué? Por que no vamos a necesitar conocer el funcionamiento de cada parte para poder utilizarlo. Lo que es importante conocer es que cuenta con componentes que son de entrada, otros procesan la información y otros son de salida.

 ____________        ____________        __________
| ENTRADA |-->| PROCESO |-->| SALIDA |

A continuación, veremos cuáles son los componentes de entrada, procesamiento y salida sin perder de vista la definición del comienzo de la página.

 Partes que debemos conocer

Uno de los primeros componentes mencionados es el propio microcontrolador.microcontrolador. Y es que, el Arduino en sí ya hemos dicho que no es un microcontrolador, sino una placa de desarrollo. El microcontrolador del Arduino es este:

Atmega.jpgSe llama ATMEGA 328P y es el que tiene el Arduino que estamos viendo en este apartado: el Arduino UNO. Pero claro, existen otros tipos de Arduinos, los cuales cuentan con otros microcontroladores. Cuando lleguemos al apartado en el que os presente el Arduino que utilizaremos en este curso, veréis que el microcontrolador que utiliza es otro y tiene otro aspecto.

Para profundizar sobre el ATMEGA328P podéis encontrar más información aquí.

Bien, este microcontrolador, como podéis ver, cuenta con una serie de 'patitas' a la cuales vamos a llamar pines. (Esta palabra es una de las importantes y la cual vamos a leer en bastantes ocasiones a lo largo de estas páginas). Estos pines son los que nos van a permitir programar, recibir y enviar la información. Para poder acceder a ellos, Arduino nos facilita las cosas con una serie de pines de entrada que encontramos en la imagen siguiente:

ArduinoUno.png

Como podéis comprobar, esos pines se encuentran a ambos lados del ATMEGA 328P, aunque visualmente no parezcan directamente en contacto. Ya veremos, qué cables y cómo los tenemos que conectar más adelante... Por el momento, nos quedaremos con que esos pines serán los que tendremos que utilizar para conectar los sensores y actuadores.

También veremos que algunas de estas entradas son digitales y otras analógicas, pero de eso nos ocuparemos más adelante...

Por tanto, nuestro ATMEGA 328P cuenta con una CPU, RAM (memoria de acceso aleatorio), registros de funciones especiales, memoria ROM de programa, memoria ROM de datos, puertos paralelos de E/S (entrada/salida), etc. Para el tipo de proyecto que vamos a construir, no es necesario preocuparse de sobre la ROM ni sobre la RAM, ya que no vamos a escribir programas excesivamente extensos (quizás en el futuro... ). Los componentes que se mencionan en la definición que abre esta página y que sí vamos a necesitar conocer son otros como por ejemplo el puerto USB.

En el Arduino UNO, el puerto USB se encuentra aquí:

arduinouno copy.png

Y el cable que necesitaremos es este, se llama AB USB:

Screenshot 2022-06-10 at 18.19.41.pngCon él, conectaremos nuestro Arduino al ordenador y seremos capaces de programarlo y también de proporcionarle el voltaje necesario para alimentarlo a él y a los sensores que conectemos a él.

Tendremos que tener cuidado con qué sensores conectamos, porque algunos de ellos necesitaran más alimentación que la que proporcionamos a nuestro Arduino a través del USB, que son 5V. Algunos sensores y actuadores funciona 12V o a voltajes mayores. Para este curso no será una preocupación, porque ninguno de los sensores empleados necesita alimentación extra. No obstante, tendremos que tenerlo en cuenta si en el futuro queremos emplear unos sensores diferentes.

A parte de mediante el USB, es posible alimentar nuestro Arduino UNO utilizando una pila de 9V y un adaptador o un cargador conectado a la corriente con un voltaje de 7 a 12V como máximo.

Para saber más sobre las maneras de alimentar nuestro Arduino, puede ser útil este artículo.

El lugar al que conectaremos nuestra pila o adaptador es este:

arduino2.jpg

Como puedescomprobar, no se han explicado todas las partes que conforman el Arduino UNO. Esto es, porque para los propósitos de este curso no va a ser necesario conocer esta placa en profundidad, si no entender qué función realizan las partes que vamos a utilizar y hacernos una idea general sobre las partes que comparten la mayoría de los Arduinos.

En este curso no vamos a utlizar un Arduino UNO, por lo que más adelante veremos las partes que componen el Arduino que emplearemos y observaremos cómo la mayor parte de ellas las tienen en común, aunque nuestro Arduino posee alguna función que no encontramos en el Arduino UNO que acabamos de ver.




FUENTES:
Definición de microcontrolador:  https://www.microcontrollertips.com/a-beginners-guide-to-microcontrollers-faq/ [Consultada el 9 de junio de 2022]
Partes del Arduino: https://arduino.cl/principales-partes-de-un-arduino/ [Consultada el 9 de junio de 2022]
Imagen ATMEGA328: By oomlout - Flickr: ATMEGA328 - IC-ATM328-01, CC BY-SA 2.0, https://commons.wikimedia.org/w/index.php?curid=23315198
Imagen AB USB: https://www.arduino.cc/en/Guide/ArduinoUno
Fuentes de alimentación para Arduino: https://www.geekfactory.mx/tutoriales-arduino/alimentar-el-arduino-la-guia-definitiva/