Aprender Arduino, electrónica y programación con 100 ejercicios prácticos. Rubén Beiroa Mosquera
GSM, WIFI, ETHERNET, SD, potencia, RFID, pantallas táctiles. etc. A todo esto podemos añadir una gran cantidad de sensores. Por lo tanto, Arduino nos permite interactuar con la tecnología de otra forma, ya no como usuarios sino como desarrolladores, y por lo tanto entender mejor el mundo tecnológico que nos rodea.
No cabe duda de que todos estos recursos, unidos al bajo coste, convierten a Arduino en la herramienta ideal para el aprendizaje teniendo cada vez mayor implantación en las aulas
IMPORTANTE
El hecho de que Arduino cumpla las normativas electromagnéticas nos asegura que las señales que se generan en los dispositivos electrónicos no generen interferencias entre ellas, entre esas señales podemos encontrar:
WIFI
Bluetooth
Telefonía
etc.
008
Software Arduino
IMPORTANTE
¿Qué es una librería?
El término “librería” hace referencia a un programa que tenemos o podemos tener instalado en nuestro IDE, que podemos usar en cualquier momento.
Que incorpora funciones que nos facilitan la programación y que simplemente haciendo referencia al inicio del programa del uso de una determinada librería, adquirimos los permisos para usar sus funciones.
Llegado el momento veremos como utilizar las funciones de una librería
1.Una vez que disponemos de nuestro Arduino lo conectamos a nuestro PC y empezamos a desarrollar nuestro programa. Para ello necesitamos un entorno de programación. Arduino dispone de un entorno de programación integrado conocido como IDE de Arduino. A partir de ahora nos referiremos a este entorno de programación como IDE de Arduino
2.El IDE de Arduino es un entorno multiplataforma: lo podemos instalar en cualquier sistema informático (Windows, Mac Os o Linux).
3.Este entorno nos permite escribir un programa, verificarlo (comprobar errores) y cargarlo a nuestro Arduino. Dispone de una herramienta como es el Monitor Serie que permite recibir o enviar información a través del puerto USB de nuestro PC. Si, por ejemplo, programamos nuestro Arduino para que, cuando reciba un mensaje por el puerto USB que ponga «encender leds», debe encender los leds que tenga conectados a sus salidas, a través del Monitor Serie, podemos enviar el mensaje «encender leds». Entonces, si programamos adecuadamente el Arduino, podemos controlarlo a través del IDE.
4.El Monitor Serie también permite mostrar información que reciba por el puerto USB del PC. Si, por ejemplo, programamos nuestro Arduino para que tome las lecturas de unos sensores a los cuales esté conectado, y que envíe esos valores por el puerto USB, podemos visualizarlos en el IDE de Arduino. Por lo tanto, también podemos decir que con el IDE podemos monitorizar un Arduino. Y por supuesto, con la programación adecuada podemos controlar y monitorizar nuestro Arduino simultáneamente.
5.Disponemos de un creador de gráficas que nos permite representar datos que recibamos por el puerto USB de nuestro PC. También disponemos de ejemplos y librerías para que nos sea más sencillo aprender a programar. Las librerías que tiene instaladas son las oficiales.
¿Un Arduino solo se puede programar con el IDE de Arduino? ¿El IDE de Arduino solo puede programar Arduinos? No, podemos programar un Arduino con otro entorno de programación siempre y cuando sean compatibles. Si tenemos práctica con un entorno de programación determinado podemos comprobar si es posible programar con ese software nuestro Arduino, seguramente necesitemos instalar alguna extensión. Y con el IDE de Arduino pasa lo mismo, con las extensiones correctas podemos programar otros módulos.
En conclusión, Arduino pone a nuestra disposición un entorno sencillo y gratuito que nos permitirá de una forma rápida empezar a crear nuevos proyectos.
009
Lenguaje de programación
IMPORTANTE
El lenguaje máquina nos obliga a conocer la estructura y funcionamiento interno de un MCU
Por su importancia, a lo largo del libro haremos algunos casos con este tipo de lenguaje, para disponer de una báse sólida en cuanto a programación de MCU.
Con nuestro Arduino conectado a nuestro ordenador y el IDE instalado, solo nos falta empezar a programar. En cuanto al lenguaje de programación (idioma artificial diseñado para expresar instrucciones que pueden ser llevadas a cabo por una máquina), podemos diferenciar varios niveles. El lenguaje a más bajo nivel sería el lenguaje máquina: es el lenguaje capaz de almacenar e interpretar una máquina, en nuestro caso, un MCU.
En los inicios de los MCU, estos se programaban en lenguaje máquina (a día de hoy también se hace). El lenguaje máquina consiste en instrucciones a nivel binario, lo que nos obliga a encadenar una cierta cantidad de ellas para poder realizar tareas sencillas. Además, cada máquina puede tener su propio lenguaje.
Con este lenguaje de programación surgen ciertos inconvenientes: primeramente, un mismo programador debe aprender un lenguaje diferente para cada máquina. Por lo general, no son lenguajes intuitivos (lo que los hace difíciles de recordar) y programas sencillos pueden llegar a alcanzar un gran tamaño.
Un programa desarrollado en lenguaje máquina se convierte en difícil de interpretar y modificar. Viendo todo esto, se empezó a evolucionar en la programación hasta llegar a lo que conocemos a día de hoy como lenguaje a alto nivel o lenguaje estructurado.
Existen varios lenguajes a alto nivel: C, Python, C++, Java… El lenguaje a alto nivel está formado por instrucciones más complejas que el lenguaje máquina, lo que significa que una instrucción en este lenguaje puede equivaler a varias en lenguaje máquina.
Con esto conseguimos programas más cortos, más fáciles de interpretar y modificar. El lenguaje a alto nivel que emplea el IDE de Arduino se basa en el lenguaje C, aunque es cierto que la mayoría de los lenguajes comparten estructuras o funciones similares, como pueden ser los bloques de control de flujo (if, esle, while). Aparte del lenguaje compartido con C, dispone de instrucciones propias para un Arduino.
Independientemente de si programamos en lenguaje estructurado o máquina, la carga de un programa al MCU del Arduino conlleva una serie de pasos que se conoce como compilación. La compilación se puede considerar como una traducción del programa que hemos desarrollado a un lenguaje que pueda almacenar e interpretar el MCU.
El proceso de compilación es complejo, puesto intervienen varios pasos:
•Precompilador
•Compilador
•Linker
•Carga de programa
Por la complejidad de cada uno de estos procesos no entraremos a estudiarlos, pero debemos recalcar que hoy en día podemos programar una máquina en lenguaje estructurado porque los entornos de programación han evolucionado, introduciendo una serie