¿Sabés cómo es una placa Arduino y para qué se utiliza?

¿Sabés cómo es una placa Arduino y para qué se utiliza?

Josep Roca

La palabra Arduino la habréis escuchado algunas veces en los últimos años. Muy posiblemente de oídas para descubrir que se trata de una pequeña placa con un chip en medio y una serie de conexiones. No obstante, no es algo que relacionemos con el mundo del PC pese a estar en el candelero en los últimos años. Es por ello que hemos decidido hacer un artículo para explicar lo que es, cuál es su naturaleza y sobre todo su utilidad.

El concepto de lo que conocemos como Arduino fue desarrollado por el equipo bautizado con el mismo nombre en Ivrea, Italia. Con el objetivo de crear una serie de microcontroladores que fuesen fáciles de usar. El concepto ha tenido mucho éxito y se lo debemos a Massimo Banzi, David Cuartilles,Tom Igoe, Gianluca Martino, y David Mellis. Veamos, por tanto, cuáles son las características que tiene una placa Arduino y que es lo que la diferencia de otros dispositivos a la vista similares, pero diferentes, como las Raspberry Pi.

¿Qué es Arduino concretamente?

Arduino realmente no es un hardware concreto, sino un concepto, el cual toma las mismas directrices que las aplicaciones de código abierto, pero aplicadas en el mundo de la electrónica. Esto significa que la gente que realiza los proyectos con dichas placas lo que hace es compartir los planos y el código con el que se ha programado su microcontrolador principal. Lo cual permite que otros puedan hacer el mismo proyecto, crear variantes e incluso mejorarlo.

Placas Arduino

En los últimos años, se ha convertido en un elemento clave para hacer más accesible la electrónica a nivel educativo y ha destruido barreras de accesibilidad. Lo cual ha permitido el desarrollo de soluciones a pequeña escala. Ya sea en forma de proyectos educativos o incluso como soluciones a problemas concretos en pequeñas empresas. Sin embargo, para el público de a pie existen muchas confusiones acerca de su naturaleza.

Se basa en un microcontrolador

En concreto en los de la familia ATMega. Esto es importante para entender su diferencia con Raspberry Pi . Mientras que un procesador convencional a día de hoy es lo suficientemente complejo como para poder ejecutar varios procesos al mismo tiempo en paralelo, un microcontrolador solo puede con uno al mismo tiempo. Por lo que su utilidad es distinta y es normal verlos trabajando en diversos electrodoméstico. ¿El chip que controla los programas de tu lavadora o del lavaplatos? Lo más seguro es que sea un microcontrolador el que lleve dicha tarea a cabo.

Al fin y al cabo para prototipaje y proyectos sencillos de electrónica no es necesario la potencia de un procesador complejo. Más que nada por el hecho que no se usaría ni el 5% de sus capacidades, es un malgasto de energía y es mucho más caro.

Interfaces y componentes en Arduino aparte del microcontrolador

El punto fuerte de los microcontroladores está en el hecho de que gestionan varios componentes eléctricos que se encuentran conectados al mismo a través de un programa ordenado. Sin embargo, no vale solo con el microcontrolador. Por lo que es necesario de una comunicación con el exterior. Ya sea para volcar un nuevo programa o para interactuar con los diferentes dispositivos y periféricos en los diferentes proyectos0 con las placas Arduino. Conocer las diferentes interfaces y componentes que nos podemos encontrar en una placa Arduino es clave para conocer la naturaleza de estas pequeñas placas.

Interfaz Arduino Perifericos

Contadores

Aunque estos no son directamente una interfaz. Un contador no es más que una memoria cuyo valor almacenado se incrementa  o decrementa en 1 por cada pulso. Donde la velocidad de reloj puede ser propia o ser llevada a cabo en la propia unidad o ser externa.

El objetivo de un contador es tener que evitarle a la CPU del microcontrolador el hecho de tener que contar sus propios pulsos. Aunque también podemos crear un reloj a tiempo real para equiparlo al tiempo estándar que utilizamos en los relojes convencionales. Aunque esto último suele ser raro en un microcontrolador.

A la hora de programar este tipo de dispositivos, saber cuánto dura cada instrucción en cuanto a ciclos de reloj y tenerlo todo bien sincronizado es algo que se tiene que tener en cuenta y es clave para el funcionamiento adecuado de este tipo de dispositivos.

Gestor de Interrupciones

Una interrupción es cuanto un periférico externo envía una señal que para la ejecución de un programa para solventar su petición. En un microcontrolador por su naturaleza esto es difícil de hacer en un procesador que solo puede llevar un proceso al mismo tiempo. Es por ello que con tal de gestionar dichas peticiones las placas Arduino contienen una pieza con la capacidad de gestionar interrupciones en paralelo con el microcontrolador.

Pulse Widh Modulation (PWM)

Estas siglas os sonarán de su uso para los ventiladores conectados en la placa base del PC. Sin embargo, tienen otras utilidades. Dos que se nos ocurren son el control de la velocidad de diferentes motores a los que se encuentre conectada la placa Arduino. Para entender su funcionamiento hemos de partir de la base en la que tenemos una señal digital que genera un pulso constante y luego una señal analógica de modulación. La cual variará el tiempo en que la señal esté en alto o en bajo.

Comunicaciones en serie

Una comunicación en serie transmite un solo bit por señal de reloj en una o dos direcciones al mismo tiempo. Por lo que se utilizan para comunicar datos entre dos componentes. Estos pueden tener una de estas tres configuraciones distintas.

  • Un emisor y un receptor, cada uno con su cable y pin correspondientes por el cual pasar los datos. Lo que les permite trabajar en paralelo.
  • Un sistema de emisor y receptor que comparten un solo cable, por lo que no pueden realizar copias de datos en un solo ciclo.
  • Un transceptor, el cual es dispositivo que puede emitir y recibir al mismo tiempo. El problema es que un transceptor no puede enviarse ni recibir de sí mismo.

Algunas interfaces son asíncronas, por lo que no comparten el mismo pulso y solo pueden enviar o recibir datos cuando sus señales coinciden. En cambio, otras comparten la misma señal de reloj y pueden efectuar la transferencia de información mucho más rápido. Como detalle final, dejaremos caer que algunas placas Arduino utilizan luces LED para indicarnos que se están transmitiendo datos.

Conversor de señal analógica a digital

Muchos de los mecanismos que se conectan a un microcontrolador no envían una señal digital. Por lo que es necesario digitalizar la señal para que el microcontrolador pueda operar con los datos que recibe de dichos periféricos. Así pues en Arduino tenemos una serie de conexiones para dispositivos de señal analógica y un ADC entre estos y el y el microcontrolador.

¿Qué diferencia de Arduino de Raspberry Pi?

Existe una gran diferencia entre las placas Arduino y las Raspberry Pi, las cuales podéis ver en la siguiente tabla:

CaracterísticaArduinoRaspberry Pi
Basado en: Microcontrolador ATMega de 8 bits.Microprocesador ARM de 64 bits.
Velocidad de reloj:Pocas decenas de MHzPor encima del GHz
Memoria RAMInterno, pocos KBExterna, GB.
AlmacenamientoInterno, pocos KBExterna, GB.
Uso principalControlar componentes eléctricos conectados a una placa.Ordenador en una placa
Sistema OperativoNoVarias distribuciones de Linux adaptadas.

Hay que entender que el chip de una Raspberry Pi no se diferencia de los usados en los teléfonos móviles. Por lo que tiene la capacidad de ejecutar un sistema operativo complejo y actual. Esto hace que Arduino se use para otras funciones y, por lo tanto, lo vais a ver gestionando dispositivos y hardware externo relativamente sencillo. Incluso nos podemos encontrar con periféricos que se usan en un ordenador como puede ser un disco duro externo o una impresora que usan un hardware más complejo que el de una placa Arduino. Esto se debe a que necesitan mucha más potencia para funcionar.

1 Comentario