Llévate los mejores 📘EBOOKS📘 ➡ ENTRA AQUÍ

Lenguaje de programación de Arduino ¿En que lenguaje está basado y cuáles son sus fundamentos?

Arduino se ha convertido en uno de los proyectos de electrónica más exitosos en el mundo, el mismo fue creado principalmente para los estudiantes en el año 2005 en Italia, todo esto tenía como objetivo permitir que el trabajo de la electrónica fuera sencillo, permitiéndole a todas aquellas personas interesadas en el área experimentar lo que es la creación de proyectos electrónicos para ser usados en el mundo real.

Por lo tanto, para hacer uso de esta plataforma no es necesario tener conocimientos avanzados en la electrónica ni tampoco ser un exitoso programador, ya que la idea principal de Arduino es facilitar todo esto a su máximo alcance, permitiendo así que miles de personas puedan crear sus propios proyectos desde casa.

Una de las claves para tener éxito aquí es saber escribir las instrucciones para el microcontrolador en el lenguaje de programación, lo que puede no resultar tan sencillo para muchos. Es así como aquí te vamos a enseñar un poco más lo que es el lenguaje de programación de Arduino y cuáles son sus fundamentos, para ello sigue detalladamente cada uno de los pasos que te vamos a enseñar a continuación en el post.

¿Qué es el lenguaje de programación de Arduino y para qué sirve en electrónica?

¿Qué es el lenguaje de programación de Arduino y para qué sirve en electrónica?

En este caso hay que mencionar que el lenguaje de programación de Arduino se encuentra basado en C++ y a pesar de que la referencia de este lenguaje de programación de Arduino se encuentra en “Arduino”, hoy en día también se pueden usar comandos estándar de C++ en la programación de la placa.

Es así como aquí te vamos a enseñar cuales son las características más resaltantes de C:

  • Es considerado como el lenguaje de programación de propósito general que está asociado al sistema operativo UNIX.
  • Es un lenguaje de medio nivel, la misma cuenta con objetivos básicos como números, caracteres, bits, direcciones de memoria, entre otros.
  • Cuenta con una gran portabilidad.
  • Es usado para la programación de sistemas como lo es los editores de texto, construcción de intérpretes, compiladores, entre otros.

C++ es considerado como un lenguaje de programación que fue diseñado a mediados de los 80 por Bjarne Stroustrup, el mismo se creó con la intención de extender este lenguaje C con mecanismos que permitan llevar a cabo la manipulación de objetos. De acuerdo con esto, y con los puntos de vista de los lenguajes orientados a objetos, el C++ es considerado como un lenguaje híbrido.

A medida que fue pasando el tiempo se le fueron agregando facilidades de programación genérica, todo esto se sumaba a los otros dos paradigmas que ya se encontraban admitidos (Programación orientada a objetos y programación estructurada). Es por ello que se entiende que el C++ es un lenguaje de programación multiparadigma y actualmente existe un estándar que es conocido como ISO C++.

C# es un lenguaje perteneciente de Microsoft que se encarga de mezclar las características básicas de C++ simplificandolas al estilo de Java y a la misma vez ofreciendo un framework. Finalmente, hay que mencionar que C# forma parte de la plataforma .NET

¿En qué otros lenguajes se basa la programación de las placas Arduino?

El equipo encargado de Arduino creó un lenguaje propio para programar esta tarjeta, dicho lenguaje se encuentra basado en Wiring. Todo esto se trata de un framework, esto es una especie de plantilla, estructura o esquema conceptual de base tecnológica que permite trabajar de una forma mucho más sencilla y además es de código abierto para la programación de los microcontroladores.

Recomendado para ti:
Diseño de diapositiva en PowerPoint ¿Qué es, para qué sirve y cómo definir uno en mis presentaciones?

Veamos más detalladamente:

Wiring

Se encuentra escrito en los lenguajes de programación C y C++, es de allí donde la sintaxis de ambos sea bastante parecida. La principal ventaja que se consigue al utilizar este framework es la gran variedad de microcontroladores que soporta, ya que el mismo es capaz de soportar los microcontroladores que son utilizados por las familias de tarjetas de Arduino.

Finalmente, al igual que la placa Arduino, Wiring cuenta con un IDE que está basado en Processing que permite realizar la programación de los microcontroladores. Por lo tanto, simplemente se debe ir al sitio web oficial de Wiring y descargar este entorno de desarrollo, el mismo se encuentra disponible para los sistemas operativos de Linux, Windows y Mac.

Processing

Para poder darle instrucciones y escribir el código en el microcontrolador o tarjeta de desarrollo es necesario un entorno. Estos entornos son conocidos como “Integrated Development Enviroment” o como también es conocido por su abreviación IDE y que es definido como un entorno de desarrollo integrado.

En el caso del IDE de Arduino, conocido como el programa donde se escribe el código, se encuentra desarrollado por un lenguaje de programación que es conocido como Processing. Por lo tanto, Processing es un lenguaje de programación y entorno de desarrollo basado en JAVA, el mismo es utilizado mayormente para llevar a cabo el desarrollo de proyectos de multimedia de diseño digital.

Lenguaje C/C++

Como se mencionó anteriormente, el lenguaje de Arduino basado en Wiring y el cual también está basado en C/C++. Lo cual permite trabajar con proyecto en Arduino, pero que resulta necesario tener un conocimiento sobre el lenguaje C. hay que tener en cuenta que no todas las funciones de este lenguaje se utilizan, pero si se utilizan los tipos de estructura y variables.

Sin embargo, la ventaja que ofrece C es que se trata de un lenguaje de medio nivel, el mismo permite manejar de forma eficiente todos los recursos del microcontrolador y además se trata de un lenguaje compilado que permite crear un archivo para que posteriormente este sea cargado en el microcontrolador.

IDE de Arduino ¡Conoce el entorno de desarrollo para los hardware OpenSource!

El IDE de Arduino o como también es conocido “Integrated development environment” es un programa informático que se encuentra compuesto por un conjunto de herramientas de programación, esto puede dedicarse en exclusiva a un solo lenguaje de programación o bien sea puede ser utilizado por varios tipos de lenguajes.

De esta manera, el IDE se ha convertido en el entorno de programación que ha sido empaquetado como un programa de aplicación, lo que quiere decir, que se trata de un editor de código, un compilador, un depurador y un constructor de interfaz gráfica (GUI). En el caso de la placa Arduino se incorpora las herramientas para cargar el programa ya compilado en la memoria flash del hardware.

De esta forma, se puede decir que el IDE Arduino es la herramienta de trabajo con Arduino por lo que es necesario conocer cuál es su funcionamiento. En el caso de los programas de Arduino estos se encuentran compuestos por un solo fichero con extensión “Info”, aunque también es posible poder organizarlos en diferentes ficheros. En el caso del fichero principal siempre debe encontrarse en una carpeta con el mismo nombre que el fichero.

Por último, hay que mencionar que anteriormente a la versión 1.x se usaba la extensión “pde”, pero al momento de pasarse a esta versión existieron grandes cambios, es por ello que debe tenerse en cuenta si se usa el código antiguo. También hay que mencionar que el IDE es completamente gratuito y se puede descargar desde el sitio oficial de Arduino y en cuanto a su proceso de instalación es bastante sencillo, por lo que no tendrás ningún tipo de complicaciones.

Recomendado para ti:
Portada en Microsoft Word ¿Qué es, para qué sirve y cómo crear una profesional?

Fundamentos de la programación en Arduino ¿Cuáles son los más importantes que debes conocer?

La programación de Arduino cuenta con varios fundamentos que son importante conocer y aplicar, ya que los mismos te ayudarán a conseguir mejores resultados al momento de trabajar en esta plataforma, es por ello que a continuación te vamos a enseñar cuales son los fundamentos más importantes que debes conocer de la programación de Arduino.

Para ello sigue detalladamente cada uno de los siguientes aspectos:

Sintaxis

En el caso de los lenguajes de programación se requiere tener una sintaxis, la misma es la que permitirá la comunicación con el compilador. El compilador tiene como misión leer el código y lo traducirá a código de máquina para que lo entienda el microcontrolador. De esta manera, se puede decir que el compilador necesitara que toda la información que llegue a él está perfecta, ya que esta será la única manera que el mismo sea capaz de leer y traducir el código.

Comentarios

Los comentarios son simplemente notas que el programador va dejando dentro del código, esto te ayuda a comprender gran parte de ese código. Es importante que en este caso no se trate de hacer un informe extenso de algo relacionado al código, sino de algo descriptivo que ayude a entender su funcionamiento. Cabe mencionar que es una parte fundamental cuando se está escribiendo un programa para Arduino.

Sin embargo, hay que tener presente que los comentarios no se compila, no se traduce al código máquina, por lo que cada vez que el compilador se encuentre un comentario se salta dicha línea.

Actualmente existen dos maneras de escribir un comentario como lo son las siguientes:

// esto es un comentario

Int mivariable =0;

Todo lo que se encuentre a la derecha de la doble barra (//) es considerado como un comentario y se coloca en color gris.

En este caso el IDE de Arduino se encargará de modificar el color para indicar que se trata de un comentario:

/*

Esto es un comentario

*/

Int mi variable = 0;

Existe otra forma de colocar un comentario y colocando /* para abrir y */ para cerrar. De esta manera, todo lo que exista entre estas dos marcas de apertura y cierre es considerado como un comentario. Al tratarse de un comentario se cambiará a un color gris.

Punto y coma

En el lenguaje de programación C++, el punto y coma (;) es como un punto y aparte. Esto quiere decir que dicho símbolo indica que lo que se está diciendo es que se ha terminado con una secuencia y a partir de ese momento se ha comentado algo nuevo sin relación a lo anterior a nivel de sintaxis.

Veamos:

// esto es un comentario

Int variable = 0:

A partir del punto y coma suministrado en la línea anterior, el compilador interpreta todo lo que se escriba como una nueva sentencia, la cual no tendrá nada que ver con la anterior. Por lo tanto, en este punto ya es posible realizar una prueba para ver cómo actúa el compilador.

Para ello debes acceder a un nuevo programa en el IDE de Arduino y copiar el siguiente código, para ello no es necesario que conectes la placa al ordenador:

//Sin punto y coma

Int variable1 = 0

 
Void setup() {

// Inserta aquí su código;

}

 
Void loop() {

//Ponga su código principal aquí, para que se ejecute repetidamente:

}

Después debes hacer clic sobre el botón de “Verificar”, este es el primer acceso directo al editor:

Sketch_may29a:4: error: expected ‘,’ or ‘;’ before ‘void’

Void setup()  {

Exit status 1

Expected ‘,’ or ‘;’ before ‘void’

Como se puede ver, aquí aparece el primer error. Para por resolverlo es importante analizarlo. Si te fijas en el área de mensaje se puede ver que aparece el error en inglés, pero el mismo es muy descriptivo, “Expected” “,” “Or” “, “ “before void”, esto quiere decir que se debe colocar una coma o un punto y como antes de la palabra void.

Recomendado para ti:
Interrupciones en Arduino ¿Qué son, para qué sirve y cómo podemos crear una en nuestros proyecto?


"ACTUALIZADO ✅ ¿Quieres conocer más sobre la programación OpenSource con Arduino y sus placas? ⭐ ENTRA AQUÍ ⭐ y Aprende Todo ¡DESDE CERO! ✅"
Ebooks de IPAP
Ebooks IPAP

Veamos:

Sketch_may29a:4: error: expected ‘,’ or ‘;’ before ‘void’

Void setup()  {

Exit status 1

Expected ‘,’ or ‘;’ before ‘void’

Finalmente, en el editor aparecerá una franja roja que indicara que la línea donde se encuentra el error y donde se hace referencia en la consola. Lo siguiente será cambiar el código y colocar punto y coma al final de la línea 2 para que se compile. Como se puede ver el compilador no solo es exigente, sino que también ayuda a corregir los errores.

Variables

Las variables son uno de los conceptos más importantes en lo que es la programación del lenguaje de Arduino. Las mismas consisten en una herramienta de programación que permite almacenar y recuperar información de los programas.

Tipos de datos

No solo se trata de tenerle un nombre a la variable, sino de poder indicar el tipo de dato que se va a almacenar. Por lo tanto, los tipos de datos se encargan de indicar la información a guardar, especificando cada uno de los tipos de datos.

Esto permitirá que el proceso de recuperación y obtención de datos sea mucho más sencillo, no es lo mismo buscar algo desconocido a tener previas especificaciones de aquello que se busca. También hay que mencionar que cada variable sólo podrá almacenar un tipo de dato especificado cuando se declara dicha variable.

Funciones

En el caso de las funciones algunas de ellas requieren de parámetros como lo es la función digitalWrite, donde es importante poder conocer dos cosas como lo es el estado (HIGH o LOW) y el número de pin.

Seguramente te estarás preguntando ¿Cómo sé que parámetros admite la función?. En este caso lo más recomendable es acudir a la referencia del lenguaje, esto es como si fuera una guía o un manual de usuario. Prácticamente la mayoría de lenguajes cuenta con su referencia. Al ingresar a “DigitalWrite” podrás notar que el sitio se encuentra en inglés.

Siendo este su mayor inconveniente, pero podrás ver lo siguiente:

Funciones

En el apartado de referencias se puede encontrar todo lo necesario para saber cómo se utiliza la función:

  • Syntax (Sintaxis): Indica cómo se escribe y cuantos parámetros admite la función.
  • Parameters (Parámetros): Aquí se explica cada parámetro y que significan.
  • Returns (Retorno): En caso de que se devuelva un valor, la función te dirá el tipo de dato. La función digitalWrite no devuelve ningún valor por eso se coloca nada.

Función setup() y loop() de Arduino

Por último, encontramos lo que es la función setup y loop de Arduino, ambas son consideradas como las funciones más importantes de un programa y esenciales al momento de aprender Arduino.

Función setup()

Es un programa de Arduino, donde hay cosas que solo deben hacerse una sola vez como lo son las siguientes:

  • Iniciar la comunicación en serie con el ordenador a través del puerto USB.
  • Mostrar un mensaje de bienvenida en una pantalla LCD.
  • Configurar los pines de bienvenida en una pantalla LCD.
  • Iniciar un contador a cero.
  • Girar un servomotor a una posición lineal por defecto.

Debes tener presente que estos son tipos de tareas que se realizan una sola vez. De esta forma se puede decir que se tratan de las condiciones iniciales del programa, este tipo de tareas son las que van en función de setup(). Para poder comprender todo esto mejor, aquí veremos esta función más detalladamente.

En esta caso la función setup() tiene un color especial en el IDE de Arduino, tal cual como sucede con otros fundamentos del lenguaje. Dicho color indica que el IDE de Arduino pueda identificar la función como un tipo especial que es utilizada para el control de la estructura del código. Como toda función cuenta con un paréntesis que abre y otro que cierra.

Recomendado para ti:
Sombreado en Microsoft Word ¿Qué es, para qué sirve y cómo aplicarlo?

Pero a diferencia de la mayoría de las funciones, en este caso setup() no necesita de ningún argumento para poder operar:

Void setup() {

}

Como se puede ver al lado izquierdo de la palabra setup se encuentra la palabra void, lo que está indicando que esta función no devolverá ningún valor o dato. Por lo tanto, dicha función no necesita de ningún argumento y no devuelve ningún valor, pero si hace algo.

En este caso su trabajo consiste en ejecutar todo el código que hay dentro de ella, esto se delimita con las llaves de la siguiente manera:

Void setup() {

//Modos de los pines  5 y 8

pinMode(5, IMPUT);

pinMode(8, IMPUT);

//Saludo bienvenida en el LCD

LCD.write("Bienvenido a pizzería arduino");

//Posición por defecto del servomotor

Servo.move(90) ;

}

De esta manera, la función setup es lo primero que se ejecuta cuando se lanza el programa de Arduino. Una vez que se ejecuta la función setup, el programa irá línea por línea ejecutando cada una de ellas. Lo más importante de setup es que solo se ejecuta una vez tal cual como se mencionó anteriormente. Por lo que esto es muy importante, el código que hay entre esas dos llaves solo se ejecutará una vez.

Función loop()

Al igual que setup es un programa de Arduino, pero que esta vez se ejecuta después de la función setup.

El significado de loop es repetición y es la cual cuenta con un parecido a la de setup:

Void loop () }

{

La misma no requiere de ningún tipo de argumento a pesar de que tiene paréntesis de apertura y cierre. En este caso no devuelve ningún valor por lo que tiene la palabra void a su izquierda. Es así como a continuación te vamos a presentar como tiene la apertura y cierre de llaves ({}).

Aquí sucede lo mismo que en la función setup, al momento que se ejecuta la función loop va línea por línea ejecutándose como se puede ver en la siguiente código:

Void loop () {

Lectura pin 5

Int pinCinco = digitalRead(5);

//Pin 8 en estado alto

Digitalwrite(8, HIGT);

//Servomotor a posición 180°

Servo.mode(180);

}

Se puede decir que la gran diferencia que existe entre la función setup y loop es que cuando se está ejecutando el código de la función loop, el programa vuelve al principio y vuelve a ejecutar todo. Aquí entra en un bucle sin final una y otra vez. Ahora es importante tener en cuenta la velocidad con la que se ejecuta la función, ya que esto viene determinado principalmente por cada microcontrolador.

En el caso de la placa de Arduino UNO, el microcontrolador utilizado es el ATmega328P y cuenta con una velocidad de 20MHz (megahercios). Todo esto equivale a un total de 20.000.000 de instrucciones por segundos, pero esto no quiere decir que se trate de 20 millones de líneas de código. Es importante recordar que el código que se escribe se traduce a código de máquina.

Cada línea de código que tú escribes se puede traducir a múltiples traducciones, pero aun así si se cuentan con al menos 1.000 instrucciones esto demoraría 0,00005 segundos, por lo que la velocidad es increíble. En el caso del programa Arduino cada vez que llega a la última línea del código de la función loop, este volverá al comienzo para ejecutar todo nuevamente, por lo que no espera cualquier entrada externa para hacerlo.

Ebooks de IPAP
Ebooks IPAP

Si te quedaste con alguna duda, déjalas en los comentarios, te contestaremos lo antes posible, además seguro que será de gran ayuda para más miembros de la comunidad. Gracias! 😉

Más Trucos y Consejos cada día ¡Apúntate Aquí!


He leído y acepto los términos y condiciones

Temas

Autor: Félix Albornoz

Llevo más de 20 años trabajando en el sector tecnológico ayudando a empresas y usuarios a desarrollarse y formarse en este campo. Siempre aprendiendo cosas nuevas.

Recomendadas

Relacionadas


Populares


Deja un comentario

  ◀ Acepto los términos de privacidad