Ya posees tu nueva placa Arduino y estas ansioso por empezar a usarla en tus proyectos. ¡Excelente! El siguiente paso es aprender a usar el Arduino IDE.
La plataforma Arduino tiene como objetivo ser lo más amigable posible. El software que vas a instalar en tu ordenador es completamente gratuito, y está diseñado para ser muy fácil de usar.
El Arduino IDE (IDE – Integrated Development Environment, Entorno de Desarrollo Integrado), es básicamente un editor de textos, pero con otras funciones de peso, tales como verificar nuestro programa, compilar, enviar el programa compilado a la placa Arduino, etc. La instalación es realmente fácil y es muy poco probable que te de problemas
¿De donde puedo descargar el Arduino IDE?
Para descargar la última versión de Arduino IDE debes descargarla del sitio oficial de Arduino. Hay varias opciones de descarga según el sistema operativo de tu ordenador. Para el caso de ordenadores Windows, se recomienda descargar el archivo .exe, que instalará directamente todo lo necesario, incluidos los controladores.
Una vez descargado, inicia el proceso de instalación. Te recomendamos que elijas todas las opciones.
Puedes escoger el directorio, pero si no tienes preferencia, te recomendamos que elijas el predeterminado.
Durante el siguiente paso, que es el proceso de instalación, se extraerán todos los archivos necesarios para ejecutar correctamente el software Arduino IDE.
Como escribir código en Arduino IDE
Como se explicó anteriormente, el Arduino IDE es un programa similar a un editor de textos, que le permite escribir el código fuente para tu placa Arduino.
Usar el Arduino IDE es muy simple, solo debes llamar el programa, esperar que termine la presentación, y veras la ventana del editor de texto.
El texto que ves en el editor, es un boceto o sketch, y es la base que usaras para empezar a escribir tus programas Arduino.
Lenguaje de programación en Arduino IDE
El lenguaje de programación que se utiliza con Arduino es muy similar a C++, un lenguaje muy popular en el mundo de la informática.
La diferencia en el código Arduino respecto a C++, es que los programas o sketchs tienen su base de código en una librería especial llamada Wiring. La librería Wiring viene integrada por defecto en el Arduino IDE y la usaras todo el tiempo en todos los programas que vayas a desarrollar para tu placa.
Si ya sabes programar en lenguaje C o C++, te será muy fácil hacer programas para Arduino. Si no conoces el lenguaje, ¡no te preocupes! El código de programación de Arduino es muy fácil de aprender, y poco a poco iras ganando confianza y podrás aprender los detalles del lenguaje C++ a tu propio ritmo.
Compilación de programas en Arduino IDE
El proceso de compilación es la traducción del código fuente de nuestro programa a código objeto, que es un paso intermedio antes de generar el programa final que se cargara en la memoria de nuestra placa Arduino.
Una vez hayas escrito el programa, lo único que tienes que hacer es presionar el botón de compilación o verificación.
Alternativamente, puede también usar la opción de menú Programa->Verificar/Compilar
La verificación/compilación es una buena forma de saber si tu código es al menos sintácticamente correcto. Cometer errores en programación es algo muy normal, y no debes preocuparte si tienes algunos. El Arduino IDE te dirá mediante mensajes en la parte inferior del IDE (el cajetín negro) en donde se encuentran los errores, y adicionalmente resaltara la o las líneas que tiene problemas.
Existen muchos tipos de errores, casi siempre por palabras mal escritas, uso de funciones que no conoce el compilador, o, quizá el más común de todos, la omisión de un punto y coma ?
De alguna u otra manera, siempre te enfrentaras a algún error de compilación, pero medida que ganes experiencia en programación, los errores serán cada vez menos.
Enviar el programa a la placa desde Arduino IDE
Una vez el programa compila correctamente, es el momento de enviarlo a la placa Arduino. Para ello, usamos el botón subir o la opción de menú Programa->subir.
Si todo esta correctamente configurado, el programa se compilara y se enlazará, esto es, el código objeto será convertido en código de máquina, que es el código que entiende el microcontrolador de la placa Arduino.
Si no se ha configurado correctamente, puede ocurrir esto:
Deliberadamente, se han omitido dos pasos previos antes de proceder a compilar y enlazar. Estos pasos son la selección de la placa Arduino y la selección del puerto serie.
Antes de iniciar el Arduino IDE, se debe conectar la placa Arduino al puerto puerto USB del ordenador. Si es la primera vez que la conectas, el sistema operativo tardara unos segundos reconociendo la placa, y si todo sale bien, al final veras un nuevo puerto COM. Si deseas saber el puerto asignado por el sistema operativo entra en Administrador de dispostivos, y en el inciso Puertos COM y LPT lo veras.
El siguiente paso es asegurarte que Arduino IDE tenga prefijada la placa Arduino que vas a usar y el puerto COM de la placa. Para el ejemplo, vamos a usar una Arduino Pro Mini conectada al ordenador en el puerto COM5.
Una vez hechos los cambios, haz click nuevamente en el botón Subir, y si todo está configurado correctamente, tu programa estará subido a la placa Arduino y ejecutándose inmediatamente.
Codificación y sintaxis en Arduino IDE
Aprender a programar es un poco arte, un poco ciencia, pero como todo, la practica constante es lo que necesitas para mejorar y para que puedas programar tus propios proyectos.
Para alcanzar el nivel que deseas, los siguientes consejos te serán de mucha utilidad:
- Busca leer y aprender algo sobre algoritmos
- Consigue un buen libro introductorio de C y C++ y comienza por lo básico
- Aprende a usar la librería Wiring mediante los ejemplos
Para hacer programas en Arduino, no es necesario que te aprendas un montón de cosas sobre el lenguaje programación, al menos no inicialmente.
Pero a medida que tus proyectos se hagan más y más complejos, veras la necesidad de profundizar más en los temas que te he aconsejado.
Ahora, y como una forma de empezar, te explico con un pequeño tutorial los aspectos básicos de la sintaxis de programación en Arduino IDE.
El punto y coma ;
Como regla general, y es algo que exige los lenguajes como C y C++, es que cada línea de declaración de tu programa debe estar finalizada con punto y coma.
Por ejemplo…
1 |
int LEDpin = 9; |
En esta declaración, se está asignando un valor a una variable de tipo entero. Observa el punto y coma al final.
Esto le dice al compilador que ha terminado un trozo de código, esto es, una declaración completa, y debe continuar con la siguiente declaración.
La barra diagonal inversa doble para comentarios de línea única //
1 2 3 |
// Cuando escribes una doble barra invertida, // todo el texto que sigue en la misma línea // aparecerá en gris |
Los comentarios son lo que usas para hacer anotaciones en el código. Si quieres hacer buen código, debes escribir buenos comentarios.
Los comentarios son la forma ideal de aclarar el funcionamiento del código, explicar el funcionamiento de un algoritmo, o simplemente, una secuencia comentada, como una historia, de que hace el código.
Un buen comentario sería algo como esto …
1 2 |
// El LED está conectado al pin D9 en el Arduino int LEDpin = 9; |
Puedes escribir los comentarios que quieras, ya que el compilador los ignorará en el proceso de compilación.
Si necesitas hacer comentarios de más de una línea, puedes usar los bloques /* … */ como se muestra a continuación.
1 2 3 4 5 6 |
/* Este es un comentario de varias líneas, se abre con una sola barra invertida seguida de un asterisco. Todo lo que escribas estará atenuado y será ignorado por el compilador, hasta que cierres el comentario utilizando primero un asterisco y luego una barra invertida */ |
Parentesis de Llave { }
Los parentesis de llave o Curly braces se utilizan para agrupar sentencias o instrucciones adicionales, tanto en funciones como en bloques de código.
Siempre hay una llave de apertura y una llave de cierre para los bloques de código. Si olvidas cerrar una llave, al compilador arrojará un código de error.
1 2 3 4 5 |
void loop () { // esta llave se abre // Tu código va aquí… } // esta llave se cierra |
Funciones
Las funciones son bloques de código que permiten agrupar varias sentencias bajo un solo nombre, y por lo general se usan para actividades o funciones específicas (de allí viene su nombre).
Las sentencias o bloques de código que se utilizan con mucha frecuencia y tiene tendencia de repetirse varias veces en nuestro programa, son las candidatas ideales para convertirlas en funciones.
En Arduino, hay ciertas funciones que se utilizan con tanta frecuencia que se han integrado en el IDE. Cuando las escribas, el nombre de la función aparecerá en color naranja.
Por ejemplo, la función pinMode(), es una función utilizada para designar el modo de funcionamiento de un pin en la placa Arduino.
Por regla general, las funciones siempre estan terminadas con paréntesis curvos, es la forma de identificarlas.
Muchas funciones requieren argumentos para funcionar, esto es, es necesario pasarle datos para que hagan su tarea. Un argumento es información que la función usa cuando se ejecuta. Por ejemplo:
1 2 |
// Establece el pin D13 en modo salida pinMode (13, OUTPUT); |
El argumento 13 se refiere al pin D13, y OUTPUT es el modo en el que se desea que funcione el pin.
Cuando se ingresan estos argumentos, se están pasando datos a la función. No todas las funciones requieren argumentos, pero los paréntesis de apertura y cierre se mantendrán, aunque estén vacíos.
1 2 |
// Lee el tiempo en milisegundos que Arduino se ha estado funcionando Int time = millis (); |
Ten en cuenta que la palabra o parámetro OUTPUT es de color azul. Hay ciertas palabras clave en Arduino que se usan con frecuencia y el color azul ayuda a identificarlas.
La función void setup()
La función void setup () se usa para configurar la placa Arduino. La placa Arduino ejecutará todo el código que está contenido entre las llaves de void setup() solo una vez. La funcion es setup(), y la palabra que tiene delante, void, es un modificador, y le informa al compilador que la funcion no devuelve valores.
1 2 3 |
void setup () { // el código entre las llaves se ejecuta solo una vez para setup () } |
Para muchas tareas en la placa Arduino, la mayoría del hardware (puerto serie, I2C, SPI, etc) necesita ser inicializado, esto es, se debe llamar las funciones de control que definen de qué forma se debe comportar el hardware.
Un ejemplo de ello es la función pinMode(13, OUTPUT), que le indica al compilador de qué forma va a funcionar el pin D3. Esta acción de configuración solo es necesario hacerla una vez, y para el resto del tiempo, la placa Arduino recordara esa configuración mientras tenga energía.
También puede darse el caso que no sea necesario configurar nada desde el principio. Para dicho caso, la función void setup() se puede dejar vacía.
En resumen, void setup():
- Solo se ejecuta una vez.
- Debe ser la primera función en su sketch de Arduino.
- Debe tener llaves de apertura y cierre.
La función void loop ()
La función void loop() al contrario de la función void setup() se ejecuta continuamente, esto es, el código contenido en esta función se repite una y otra vez mientras la placa Arduino tenga energía. No en vano la palabra inglesa loop significa bucle. En esta función es donde residirá el cuerpo principal de tu programa.
Poe ejemplo, si tienes un sensor de temperatura conectado a tu placa Arduino, puedes usar el valor de la temperatura para activar o desactivar algo, digamos, un relé.
Podemos programar la placa Ardunio para que el relé este apagado si la temperatura está por debajo de 25 grados, y encendido si la temperatura es igual o mayor de 25 grados.
El código en el bucle comprueba constantemente el valor de la temperatura que indica el sensor, y decide si se debe activar o no el relé.