sábado, 25 de mayo de 2019

Programación de Arduino de Simon Monk

Programación de Arduino. Introducción a Sketches es un tutorial escrito por Simon Monk y publicado por Ediciones Anaya Multimedia en la colección "Títulos especiales".

jarban02_pic110: Programación de Arduino de Simon Monk
edición: año 2018

El autor


Simon Monk es uno de los autores de referencia en todo lo relativo a publicaciones sobre placas electrónicas programables para proyectos educativos y cultura maker. Habiendo publicado más de 25 libros sobre este tema y vendido más de 500.000 ejemplares a nivel mundial.

El libro


La programación de las placas de Arduino es una de las partes fundamentales a la hora de realizar este tipo de proyectos. Los programas (sketches) se pueden escribir y compilar en distintos entornos de programación (IDE de Arduino, Scratch, Matlab, Visualino, etc.), aunque el IDE de Arduino es el entorno oficial de programación de Arduino y el lenguaje C++ el lenguaje nativo de Arduino. En este libro se explica como implementar los sketches para programar la placa Arduino Uno Rev3 utilizando el IDE.

El libro consta de una introducción, once capítulos: 
  1. Esto es Arduino 
  2. Primeros pasos 
  3. Nociones básicas sobre el lenguaje C 
  4. Funciones 
  5. Matrices y cadenas 
  6. Entrada y salida 
  7. Biblioteca estándar de Arduino 
  8. Almacenamiento de datos 
  9. Pantallas 
  10. Programar Arduino para el Internet de las cosas 
  11. Lenguaje C++ y bibliotecas 
Y de un índice alfabético.

El libro se publicó originalmente en inglés con el título "Programing Arduino: Getting Started with Sketches" por la editorial McGraw-Hill Education

Mi opinión personal


Al contrario que en la mayoría de libros que se escriben sobre Arduino, donde el hardware prima sobre el software, este libro se centra en la programación. El autor comienza detallando las características del IDE y de la placa Arduino Uno. Para, posteriormente, ir introduciendo los conceptos de programación necesarios para ir redactando los códigos, compilarlos, cargarlos en el microcontrolador de la placa y proceder a su ejecución en diferentes pruebas prácticas.

En lo que se refiere al software, se explica como utilizar un programa (Blink) que viene preinstalado en la placa, se detallan nociones básicas del lenguaje C (comandos, funciones, variables, matrices, etc.), se enseña como crear sketches para controlar las señales de entrada y salida de la placa, como utilizar la Biblioteca estándar de Arduino, como gestionar el almacenamiento de datos en la placa, como utilizar bibliotecas para controlar placas shield (placas que se ensamblan a las placas de Arduino y añaden a estas funcionalidades adicionales) y, al final, se esbozan algunas nociones del lenguaje C++ con el propósito de realizar programas orientados a objetos.

En lo que se refiere al hardware que se utiliza en las prácticas, hay tres tipos de prácticas:
  1. Prácticas en las que se utiliza solo la placa de Arduino Uno: este tipo de prácticas tienen como objetivo hacer nuestros primeros sketches para controlar la placa Arduino Uno. Para realizar este tipo de prácticas se necesitan una placa Arduino Uno, cables, un interruptor, resistencias y un multímetro digital (los usuarios más avanzados pueden utilizar un osciloscopio para realizar algunas mediciones adicionales). 
  2. Prácticas en las que se utilizan placas Arduino Uno equipadas con placas shield del tipo pantalla LCD alfanumérica y pantalla OLED: con este tipo de prácticas se pretende hacer sketches donde se integran librerías externas. Para realizar este tipo de prácticas se necesitan los mismos componentes que en el primer tipo de prácticas más las placas shields y las librerías específicas para controlar estos tipos de placas que estén disponibles en el IDE. 
  3. Prácticas en las que se utilizan placas Arduino Uno equipadas con placas shield para el Internet de las cosas: con este tipo de prácticas se pretende desarrollar proyectos donde la placa Arduino actúe como un servidor Web o donde la placa Arduino sea controlada desde la Web. Para realizar este tipo de prácticas se necesitan los mismos componentes que en el primer tipo de prácticas más placas shield del tipo Ethernet, Ether Ten y NodeMCU ESP8266 y librerías específicas para controlar este tipo de placas que estén disponibles en el IDE.
Resumiendo, este libro puede resultar muy útil para aquellas personas que tengan conocimientos previos de implementación de algoritmos y de programación. Partiendo de unos conocimientos previos en estos temas se puede llegar a tener un nivel adecuado para comprender todo el libro y desarrollar programas para realizar una gran variedad de proyectos.

La mayoría de los códigos de los programas están escritos en lenguaje C, ya que es un lenguaje más sencillo que el lenguaje C++, y en el IDE de Arduino se pueden escribir los códigos en ambos lenguajes (el lenguaje C++ es una extensión del lenguaje C que se emplea para la programación orientada a objetos). Solo se utiliza el lenguaje C++ en el capítulo 11.

También hay que tener en cuenta que la del software de Arduino que se utiliza en el libro es la 1.6, cuando a fecha de publicación de esta entrada es posible descargar la versión 1.8.7

Enlaces de interés relacionados con el libro

Actualización

  • Actualización con fecha 28/11/2022: al parecer el libro ha sido descatalogado (ya no figura en la página web de la editorial). También he quitado todos hipervínculos de los enlaces que son del tipo http.