top of page
arrow&v

Introducción a Arduino

Módulo 1: Introducción

Aprender a programar y utilizar Arduino es algo que todos deberían poder realizar de una manera rápida y sencilla. A través de varios de años de experiencia en el campo de la electrónica y programación, puedo decirte que, si tu objetivo es aprender Arduino de forma consistente, tienes que empezar desde la base para construir unas bases sólidas.

 

Aunque este curso comienza desde cero, te llevará a dominar la programación en Arduino pues abarca prácticamente todos los campos para dominar esta innovadora plataforma. Si tú eres como yo, un apasionado de la tecnología, con gusto por crear y diseñar y que quiere introducirse a este mundo con Arduino, este curso es para ti.

Una vez tienes clara la base de la teoría, la mejor forma de aprender es llevar los conocimientos a la práctica. La práctica hace al maestro. Así que es precisamente mi conocimiento práctico lo que quiero compartir contigo, para enseñarte cosas desde lo más sencillo hasta las más complejas de una manera que me quedara clara a mí mismo, si fuera un principiante en este tema. 

Para tener el mejor aprovechamiento de este curso, es recomendado estudiar las lecciones de manera secuencial, pues este conocimiento se va a ir construyendo uno sobre la base de otro. La información se recopila de varias fuentes como lo son la referencia oficial Arduino.cc, recursos de lenguaje de programación, documentación sobre casos de uso específicos principalmente. Comentarios o sugerencias sobre el contenido del curso son bien recibidos.

 

La programación de esta increíble plataforma se realiza mediante el lenguaje C++, razón por la cual detallaré un capítulo a los conceptos básicos necesarios para las principales configuraciones realizables mediante dicho lenguaje en esta arquitectura.

La arquitectura de Arduino une muy bien el estudio de los ámbitos de la electrónica con los conceptos base de la programación. Tradicionalmente, para los estudiantes de electrónica es fundamental el conocimiento de la teoría de circuitos digitales y analógicos, siendo los elementos de programación un aspecto oscuro y a veces difícil de comprender, debido a que muchos de los aprendizajes estaban orientados al aprendizaje de la configuración de lenguaje máquina utilizado por ejemplo ensamblador para realizar estas configuraciones sobre microcontroladores o procesadores.

Por otro lado, los currículums tradicionales de carreras como informática o computación veían el aprendizaje de la electrónica de manera superficial, centrando sus esfuerzos en los aprendizajes de la teoría del desarrollo de software y su aplicación en distintos lenguajes de programación.

Es ahí donde el surgimiento de otras propuestas de aprendizaje reduce la brecha entre estos dos mundos. Por un lado, el desarrollo de distintas plataformas de microcontroladores modulares permite programar, mediante lenguajes de alto nivel, funciones que tradicionalmente requerían de un conocimiento avanzado en lenguajes de bajo nivel. Algunas de estas plataformas son: Placa Adafruit Metro, Arduino en todas sus versiones, Xplained de Atmel, Cypress Pioneer, NXP Freedom, Sistema de torre NXP, mbed y Microchip ChipKIT™, por mencionar algunas.                                                                                                                                     

¿Qué diferencia a Arduino de otras plataformas?

Arduino en particular cierra la brecha entre ambos mundos, hardware y software, requiriendo conceptos fundamentales de electrónica, así como entendimiento de las lógicas generales que se utilizan en cualquier lenguaje de programación, en este caso orientadas a la ejecución de secuencias de trabajo dependientes de entradas de datos y que producen resultados según lo que el programador requiera. Esto permite que la solución sea una solución idónea para la configuración y programación de sistemas empotrados programables y aplicables a infinidad de casos de uso, como sistemas de control de casas inteligentes, sistemas de sensado y monitoreo de variables y sistemas para administración de motores y dispositivos de IoT.

Como bases de la parte electrónica, se recomienda tener un conocimiento básico de circuitos eléctricos, como la Ley de Ohm y los principios de funcionamiento de sus variables: tensión, corriente y resistividad. Esto como mínimo. Si le es posible, repase o busque información sobre estos conceptos antes de comenzar este curso, para que pueda construir circuitos básicos y esté en posibilidad de manipular y conectar la circuitería externa y lo que va hacia y lo que viene desde la placa de Arduino.

En lo que respecta a programación, en este curso se realizará un  repaso de los conceptos básicos requeridos para la configuración y ejecución de código sobre la plataforma.

Ejemplos para Arduino Serial

A continuación, veremos una serie de ejemplos básicos para iniciar una comunicación Serial en Arduino:

Configuración del puerto Serial en Arduino

El proceso de inicio de una comunicación mediante dos dispositivos seriales en Arduino, comienza con la configuración e inicialización del módulo. Esto se realiza mediante la siguiente instrucción:

Esta instrucción permite inicializar los pines de recepción y transmisión (RX y Tx) para que puedan ser usados como puerto serial. Además de esto, se configura el puerto con una velocidad estándar de 9600 Baudios por segundo que será la tasa de transmisión de datos. El puerto en Arduino Serial se configura con los siguientes parámetros:

  • Velocidad: 9600 BAUD.

  • 8 bits de datos.

  • 1 bits de parada.

  • 0 bits de paridad.

Enviar caracteres por el puerto serial en Arduino

En este caso, para enviar caracteres por el puerto serial de Arduino, primero es necesario que el puerto este inicializado. Una vez que el puerto esté listo o preparado, es posible utilizar cualquiera de estas dos funciones:

  • Serial.print( ).

  • Serial.println( ).

Ejemplo enviar datos seriales:

En este ejemplo, se enviará una cadena de caracteres: «Hola Mundo!». Por ejemplo, dicha cadena consta de los siguientes caracteres:

bottom of page