Qué es Arduino ? su historia e importancia

¿ Qué es Arduino ?, es una tarjeta electrónica digital y además es un lenguaje de programación basado en C++ que es “open-source”. En español se traduce como de “uso-libre”. Su Hardware esta construido por un microcontrolador de la familia AVR y es una de las tarjetas electrónicas más usadas para crear prototipos. Las instrucciones del lenguaje Arduino son muy fáciles de aprender y usar, incluso para personas con poco conocimiento de electrónica y/o programación. Es una herramienta muy utilizada por estudiantes y profesionales de sistemas embebidos. Dentro de las tarjetas Arduino más conocidas se encuentra el Arduino UNO R3.

Arduino es entonces una herramienta de procesamiento digital parecido a una computadora. Como tal, tiene elementos de entrada o salida digital a los cuales se les puede conectar: botones, pantallas lcd, teclados, teclados matriciales o sensores digitales.

Ademas de las entradas digitales un Arduino tiene entradas analógicas que nos permiten medir las señales de sensores análogos. Para poder visualizar la información, se cuenta con un puerto de comunicación Serial-USB que mediante un puerto USB, de una computadora, nos permite enviar y recibir mensajes digitales mediante una USART ó también llamada UART.

Qué es Arduino UNO-R3 compatible

Figura-1. Arduino UNO genérico.

¿ Qué es Arduino ? – Su Historia

Para saber qué es Arduino, tenemos que remontarnos a su historia. La historía de Arduino comenzó como un proyecto de tesis de maestría  de Hernando Barragán y sus asesores Massio Banzi y Casey Reas. Su objetivo principal fue el crear una herramienta que fuera fácil de usar. Si te interesa más la historia de Arduino, te recomiendo este enlace: https://arduinohistory.github.io/ ¿Aún tienes dudas de lo qué es Arduino?, te invitamos a leer lo siguiente.

El propósito de Arduino es el de poder ser usado por la mayoría de las personas, incluso sin tener un fuerte entrenamiento en programación y/o electrónica. Las principales ventajas de Arduino son: su costo, facilidad de aprender la herramienta, un sofware de desarrollo sencillo, no necesita un programador externo a la tarjeta y es un desarrollo de Hardware-libre lo cual permite crear proyectos que se pueden comercializar.

¿ Qué es Arduino ?, es una plataforma de desarrollo de Hardware libre, relativamente económica. Algunas tarjetas alternativas son las freedom de NXP, la tarjeta Nucleo-l432kc y Raspberry. La principal diferencia entre un Arduino vs Raspberry es el tipo de dispositivo digital de procesamiento que tiene. Por ejemplo, el arduino es un microcontrolador, mientras que la Raspberry tiene un microprocesador. También la diferencia entre un Arduino vs Microcontrolador es el lenguaje con el que se programa. Ambos se programan en C, pero el lenguaje Arduino es más sencillo y más rápido para aprender. Además que en Arduino casi no se requiere programar los registros del microcontrolador.

Características de Arduino

Las principales características de un Arduino son:

  • Velocidad en Mhz.
  • Tamaño de memoria RAM, FLASH y EEPROM.
  • Cantidad de pines de entrada/salida.
  • Numero de pines analógicos.
  • Cuantos puertos UART, I2C, SPI tiene.
  • Tamaño de la tarjeta de evaluación.
  • Bits del procesador.
  • Voltaje del procesador.

Por ejemplo, el Arduino 1 funciona a a 16Mhz, tiene 14 pines de entrada/salida digital y 6 canales de entrada para señales analógicas (adc). También tiene 1 puerto UART, 1 I2C, 1 SPI y su procesador es un ATmega328P de 8 bits. La memoria FLASH es de 32KB, una RAM de 2KB y de EEPROM tiene 1KB.

Qué es Arduino – Tipos de Arduino

Existen muchos y muy distintos Arduinos. Primero podriamos comenzar a diferenciarlos por su origen, es decir, existen Arduinos originales y arduinos genéricos. La diferencia entre un Arduino original y uno geneŕico es el lugar de su ensamble y la empresa que lo realiza. Tambien podemos distinguir distintos tipos de Arduino de acuerdo al procesador y cantidad de pines que tienen sus tarjetas. A continuación se muestran una comparativa entre los 4 principales Arduinos originales:

Tabla comparativa con los tipos de Arduino

Tipo de Arduino

Tipo de Arduino generico con modificaciones

Arduino modificado donde se le agregaron algunas cosas adicionales como pines para soldar.

¿Qué es el Arduino UNO?

¿Qué es el Arduino UNO?. El UNO fue la primera versión de la tarjeta Arduino. Esta fue la tarjeta que se popularizo e hizo famosa a la marca. Esta tarjeta incluía sólo un puerto serial RS232 y las mismas señales de entrada/salidas de un Arduino moderno. La evolución de esta tarjeta fue el Arduino UNO R3, la cual ya contaba con un puerto de comunicación USB que hacia la conversión de USB a Serial TTL, así como componentes de montaje superficial.

Antes de Arduino

¿ Qué se usaba antes de Arduino ? . Un Arduino es una tarjeta de hardware-libre que usa un lenguaje de programación propio para crear aplicaciones en un micro-controlador. La historia antes de Arduino incluye el proceso que se usa para crear una aplicación embebida usando un micro-controlador.

Un microcontrolador es un sistema digital de procesamiento que mínimo incluye: un micro-procesador, unidades de entrada-salida, memoria para datos  y memoria para programa. Una analogía de lo que es un Arduino la podemos tomar como si fuera una pequeña computadora. Esta pequeña computadora tiene como sistema principal un micro-controlador. Estos sistemas digitales se pueden programar de tres formas distintas, ademas del lenguaje Arduino.

  • Lenguaje ensamblador
  • Lenguaje C/C++
  • Combinación de ambos

Qué es Arduino , es un sistema de digital que incluye dos microcontroladores ATMEL, uno el ATMEGA328P como cerebro principal y el segundo el ATMEGA16U2  como convertidor USB-Serial.

Qué es Arduino Lenguajes de programación antes de Arduino

Lenguaje ensamblador. Este esquema de programación produce los códigos más eficientes. Las desventajas de usar ensamblador para programar un microcontrolador son:

  • Se requiere mucha experiencia en el lenguaje ensamblador para ser eficiente.
  • Requiere mucho tiempo para probar las aplicaciones.
  • Cada microcontrolador y sus sub-familias de cada fabricante tienen su propio lenguaje ensamblador.

Estas desventajas hacen muy tardado el tiempo de desarrollo para un sistema embebido. El motivo principal para no usar el lenguaje ensambador se puede resumir como: “La gran mayoria de los programadores tendran un codigo más eficiente usando un compilador y ademas seran muchas veces más productivos ya que les tomara menos lineas de codigo en un lenguaje de alto nivel como C/C++ y estas lineas podrian ser codificadas más rápido para implementar una aplicación”.

Fuente: https://os.mbed.com/cookbook/Assembly-Language

Lenguaje C/C++. En el esquema de programación mediante el lenguaje C/C++, el micro se programa mediante la configuración de memorias de propósito especifico. Esta forma de programar un micro-controlador lleva mucho tiempo ya que para cada modulo del micro es necesario revisar la documentación de la hoja de datos y averiguar que valores asignar a estas memorias.  Ejemplos de dos programas, uno en Arduino y otro en C.

Qué es Arduino, un lenguaje de programación con sus propias funciones, clases y estrucutras. El lenguaje esta basado en C++ y como este, esta basado en programación de objetos.

Diferencias entre lenguaje C y Arduino

Los siguientes códigos permiten iniciar al modulo de comunicación serial a una velocidad de 9600 Baudios. El primer código usa el lenguaje C. Para configurar el modulo se tienen que configurar a los registros UBRR0, UCSR0B y UCSR0C. Además de mandar llamar a la función que configure estos valores. Estos registros están explicados en la hoja de datos desde la pagina 244-252, es decir, 8 paginas de información. Si queremos averiguar como operar el modulo y configurarlo correctamente tendremos que leer cada una de las banderas de los registros o memorias de control.

              Lenguaje C para Arduino para iniciar la UART

 

 

Fuente: http://www.atmel.com/Images/Atmel-42735-8-bit-AVR-Microcontroller-ATmega328-328P_Datasheet.pdf Pagina 230.
En cambio en Arduino estas líneas se convierten en una sola instrucción. A continuación se presenta el código necesario para configurar el modulo de comunicación serial UART a una velocidad de 9600 BAUDS.

Lenguaje Arduino para iniciar la UART

 

 

Arduino es una herramienta que vino a cambiar el modo de aplicar la tecnología embebida. Su facilidad de uso así como su costo accesible y sobre todo la gran comunidad de desarrolladores ha permitido una revolución tecnología en el campo de los sistemas embebidos. Arduino permitió crear un sin fin de aplicaciones de forma económica y rápida. En la actualidad el desarrollo de herramientas embebidas usan a Arduino como un ejemplo a seguir. El desarrollo de mbed que es un lenguaje para sistemas embebidos ARM puede llegar a ser un sucesor eficaz y quizás en un futuro próximo arrebatar a Arduino su comunidad.

¿ Qué es Arduino? Sus aplicaciones y funciones

Arduino se puede aplicar a prácticamente cualquier proceso que quiera ser automatizado. Desde controlar un invernadero, prender el foco de tu casa automáticamente por Wifi o incluso leer la computadora de tu vehículo. Se puede usar para aplicaciones caseras o incluso en ambientes industriales. La función de Arduino es la de automatizar procesos digitales. Esto es, el uso del procesador que tiene Arduino para la creación de aplicaciones que resuelvan problemas.  Puedes comenzar a crear domotica, leer tags de credenciales, etc. Uno de los tutoriales más vistos de Arduino, te permite aprender a leer tags o credenciales RFID. También si prefieres dar acceso a tus puertas no mediante RFID sino con tu huella digital también te invito a visitar este tutorial, donde se usa un lector de huella digital con Arduino.

La principal función de un Arduino es poder crear un prototipo electrónico de manera rápida con el propósito de validar alguna propuesta. Su diseño permite poder aprender el lenguaje de forma muy rápida incluso para personas ajenas a la electrónica y/o programación. Si bien el código Arduino no genera un programa muy optimizado, la rapidez del desarrollo para un prototipo supera a esta desventaja.

Funciones básicas del lenguaje Arduino

Arduino también es un lenguaje de programación. Entonces su lenguaje se basa en conocer las estructuras, clases, variables y funciones básicas de su lenguaje. Aquí te presentamos algunas de las funciones básicas del lenguaje Arduino.

  1. Arduino digitalWrite.
  2. Arduino pinMode.
  3. Función millis().
  4. Para el uso de PWM. Arduino analogWrite.
  5. Comunicación con el puerto serial.
    1. Arduino Serial print.
    2. La función de Arduino Serial Read.
  6. Arduino timer.

 

Dr. Rubén Estrada Marmolejo
Profesor Asignatura, Universidad de Guadalajara, México

 

Escríbenos tus dudas o comentarios

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Usamos Cookies en nuestro sitio WEB

Por favor confirma, si aceptas nuestras cookies de rastreo. También puedes negar el uso de cookies de rastreo y seguir navegando sin que ninguna información sea enviada a servicios de terceros.