Saltar al contenido

Cómo programar en Arduino

Después de haber hablado de como instalar el Arduino IDE en Windows y en Linux, e incluso de haber hecho nuestro primer «Hola mundo», toca aprender algunos conceptos básicos sobre como programar en Arduino.

Suscríbete al blog para acceder al curso gratuito y recibir contenidos exclusivos de mis proyectos cada semana.

Sí, me quiero subscribir

Programar Arduino consiste en traducir a líneas de código las tareas automatizadas que queremos hacer leyendo de los sensores y en función de las condiciones del entorno programar la interacción con el mundo exterior mediante unos actuadores.

[click_to_tweet tweet=»Cómo programar en Arduino desde cero» quote=»Cómo programar en Arduino desde cero»]

Lo bueno es que Arduino ofrece una forma de programar sencilla, potente y las herramientas necesarias para compilar nuestro programa en la memoria flash de la placa. Por otro lado el Arduino IDE ofrece un sistema de gestión de librerías muy practico con las que nos facilitará nuestro trabajo.

Estructura de un proyecto

Todo proyecto de Arduino se guarda en un archivo con extensión .ino y la estructura del proyecto, o también llamado skectch, se forma de al menos dos partes de código muy importantes.

Estas dos partes, las cuales son dos funciones llamadas [mark]setup()[/mark] y [mark]loop()[/mark], son obligatorias y en ellas iniciaremos variables, modos de pin, librerías, realizar bucles consecutivos, etc.

Así que ya sabemos de las dos funciones que deberán estar en todo proyecto hecho para nuestra placa Arduino, por lo que ahora explicaré sobre las diferentes variables y funciones que veremos y usaremos.

Comentarios

Los comentarios, como su propio nombre indica, sirve para comentar partes de nuestro código, ya sea para interés nuestro o para terceras personas.

Arduino ignora todo aquello que se encuentre entre [mark]/*[/mark] y [mark]*/[/mark] por lo que podremos agregar una pequeña explicación del programa, cómo funciona o para que sirve.

También podremos agregar comentarios para una sola línea agregando [mark]//[/mark] antes del texto.

Variables

Las variables se emplean para almacenar cierto tipo de información y estas, están formadas por un nombre un tipo y un valor. Por ejemplo en la línea anterior tenemos de nombre [mark]ledPin[/mark], el tipo [mark]int[/mark] ya que es un número íntegro y el valor inicial [mark]13[/mark].

Ahora en cada parte de nuestro código donde aparezca [mark]ledPin[/mark] se recuperará el valor 13, y así de esta forma nos ahorramos el poner el valor 13 en todas partes. Además nos ayudará a la hora de hacer alguna modificación ya que tan solo lo tendremos que cambiarlo una vez.

Suscríbete al blog para acceder al curso gratuito y recibir contenidos exclusivos de mis proyectos cada semana.

Sí, me quiero subscribir

Funciones

Las funciones son fragmentos de código que pueden usar desde cualquier parte de nuestro proyecto. Por ejemplo la función [mark]setup()[/mark].

La primera línea del código establece el nombre, en este caso [mark]setup[/mark] y el código entre [mark]{[/mark] y [mark]}[/mark] se llama el cuerpo de la función, que básicamente es lo que hace la función.

Este código llamaría a una función ya definida. Por ejemplo, la línea [mark]pinMode(ledPin, OUTPUT);[/mark] llama a la función [mark]pinMode()[/mark], pasándole dos parámetros: [mark]ledPin[/mark] y [mark]OUTPUT[/mark]. La función [mark]pinMode()[/mark] utiliza estos parámetros para decidir qué pin y que modo usar.

pinMode(), digitalWrite(), digitalRead() y delay()

La función [mark]pinMode()[/mark] configura un pin como entrada o como salida, por lo que para usarlo tan solo tendremos que especificar el número del pin y configurarlo como [mark]INPUT[/mark] o [mark]OUTPUT[/mark].

La función digitalWrite() establece el valor de un pin, el cual puede ser [mark]HIGH[/mark] o [mark]LOW[/mark].

Esta línea establece [mark]ledPin[/mark], que recordemos que los habíamos establecido en el valor 13, como HIGH o 5 voltios. Si estuviera como LOW el pin se establecería en 0 voltios.

Con la función [mark]digitalRead()[/mark] podremos leer el valor de un pin. Que como en la función digitalWrite(), puede ser HIGH o LOW.

La función delay() hace que Arduino espera un número especifico de milisegundos antes de continuar con la siguiente línea.

Con esta simple línea estableceríamos un retraso de un segundo hasta continuar nuestro código.

Y bueno, estas serían las funciones más importantes que usaremos en nuestros futuros proyectos Arduino. En próximas entradas del blog escribiré sobre otras funciones que también nos van a venir muy bien.

Suscríbete al blog para acceder al curso gratuito y recibir contenidos exclusivos de mis proyectos cada semana.

Sí, me quiero subscribir