¿Qué es Arduino?, 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 una herramienta de procesamiento digital.

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 nos permite enviar y recibir mensajes digitales mediante una USART ó también llamada UART.

Historia de Arduino

Para saber la historia de Arduino, tenemos que remontarnos un tiempo atrás. 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.

La principal diferencia entre un Arduino vs Raspberry es el tipo de dispositivo digital de procesamiento que tiene

Arduino también 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.

Controllino PLCs con Arduino

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.

Tipos de Arduino

Existen muchos y muy distintos Tipos de Arduino. 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:

Tipos de arduinos

 

Arduino uno-historia

¿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 popularizó 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 uno 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.

Qué había 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 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.

 

Los componentes basicos en un arduino son: un sistema de digital que incluye dos microcontroladores ATMEL, uno el ATMEGA328P como cerebro principal y el segundo el ATMEGA16U2 como convertidor USB-Serial.

USB-Serial

Otros 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 ensamblador se puede resumir como: «La gran mayoría de los programadores tendrán un código más eficiente usando un compilador y ademas serán muchas veces más productivos ya que les tomara menos lineas de código en un lenguaje de alto nivel como C/C++ y estas lineas podrián 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.

Arduino también es 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

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 C para Arduino para iniciar la UART

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 el microcontrolador 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.

Aplicaciones y funciones de un 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 es la de automatizar procesos digitales. Esto es, el uso del procesador que tiene 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 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 no genera un programa muy optimizado, la rapidez del desarrollo para un prototipo supera a esta desventaja.

Funciones básicas del lenguaje 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.

Aquí mostramos por ejemplo, cómo leer una entrada análoga con Controllino:

Contáctanos

ventas@logicbus.com | soporte@logicbus.com | 55-5431-67-18 | Iniciar conversación

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *