Taller de Arduino
Experimentando con Arduino MKR 1010
Segunda edición, 2021
© 2021 Germán Tojeiro Calaza y Gerardo Reino Bértoa
© 2021 MARCOMBO, S. L.
www.marcombo.com
Diseño de cubierta: ENEDENÚ DISEÑO GRÁFICO
Maquetación: Giancarlo Salinas
Correctora: Nuria Barroso
Directora de producción: M. aRosa Castillo Producció del ebook: booqlab
«Cualquier forma de reproducción, distribución, comunicación publica o transformación de esta obra solo puede ser realizada con la autorización de sus titulares, salvo excepción prevista por la ley. Diríjase a CEDRO (Centro Español de Derechos Reprográficos, www.cedro.org) si necesita fotocopiar o escanear algún fragmento de esta obra».
ISBN: 978-84-267-3235-4
A todas las personas afectadas directa o indirectamente por la COVID-19.
A Marga Abeal, por su sonrisa.
Prólogo Prólogo Después de muchas ideas, proyectos, tareas inacabadas, idas y vueltas y embrollos que fueron constantes a lo largo de 2019, Gerardo y el presente que redacta estas líneas, decidimos darle una vuelta definitiva a esa idea embrionaria de realizar un nuevo libro de Arduino. En la feria de SIMO Educación 2019, durante la primera semana de noviembre, nos pusimos serios y con el ceño fruncido comenzamos a darle forma a este libro. ¿Alee, otro libro de Arduino? Como si no hubiera cientos de ellos en las librerías técnicas, además de miles de tutoriales por YouTube. Si nos ponemos a ello, deberíamos darle un acento propio e innovador. ¡Qué bien suena la frase! Gerardo y yo estábamos inmersos en una de esas discusiones tontas sobre la nueva familia de Arduino MKR y si esta, realmente, iba a sustituir al clásico Arduino UNO. Tomando lo que, si mal no recuerdo, era la segunda caña de cerveza en el bar del hotel, cuando empezamos a darle vueltas a la idea de realizar una segunda edición del libro anterior, y en un verdadero ataque de ilusión nos preguntamos: ¿y por qué no nos arriesgamos y empezamos a exponer este tema de Arduino desde cero, pero abordándolo desde una nueva perspectiva más ambiciosa? ¿Por qué no empezamos a escribir prácticas y proyectos utilizando el Arduino 1010 de la familia MKR? Los fundamentos básicos son los mismos que en Arduino UNO, el precio de Arduino MKR 1010 es similar, pero su potencia infinitamente mayor. Y ya puestos, por qué no diseñar algún proyecto sencillo con Arduino MKR 1300 y exponer conceptos nuevos sobre LoRaWAN. Además, y ya que estamos, por qué no hacerlo todo con tecnología de componentes Groove, que nos va a evitar el cableado engorroso y, sobre todo, esos gráficos de fritzing tan liosos. En ese punto de la conversación, Gerardo esbozó una amplia sonrisa, ya que sería el encargado de realizar los gráficos del libro. Finalmente, y tras dos horas de palique y cuatro cañas, apostamos por dedicar un capítulo a los bricks con Arduino y IoT, sumamente didáctico y triunfando en las escuelas alemanas como un sistema tipo Lego de aprendizaje de la electrónica. Hasta ahora, no existe ningún libro parecido con estas novedades. El propósito fundamental del futuro libro sería el de mostrar al lector otras cosas, otras vías, otras plataformas relacionadas con Arduino que simplifiquen la tarea de diseñar y proyectar electrónica. Crucemos los dedos y empecemos. Germán Tojeiro Calaza Gerardo Reino Profesores de electrónica (Carballo, La Coruña) Julio de 2020
Agradecimientos Agradecimientos En primer lugar, agradecer a Ana y Abel de Maker Store by ALLNET, en Carballo, el apoyo técnico y la aportación de material educativo de bricks cuyo contenido se expone en el capítulo 12. Y como viene siendo habitual en todas mis publicaciones a lo largo de estos últimos años, agradecer nuevamente el apoyo técnico incondicional de José Abelenda García. En este libro, concretamente, la redacción y revisión del capítulo 11.
1. Empezando con Arduino MKR CAPÍTULO 1 Empezando con Arduino MKR En el primer capítulo vamos a acercarnos a Arduino MKR y a la instalación de su entorno de desarrollo (a partir de ahora: IDE). Se explicará el Arduino más básico desde nuestro punto de vista: El modelo MKR 1010. Más adelante, se describirá a toda su familia, por así decirlo. Primeramente, se trabajará con el más versátil y se examinarán sus características principales y se llevará a cabo una primera práctica sencilla. Con posterioridad, podrá comprobar que el modelo 1010 tiene hermanos mayores y menores. Por último, se recomendarán algunas herramientas, tanto de software como de hardware, para que puedan hacer realidad sus proyectos electrónicos.
1.1 ¿Qué es Arduino y para qué sirve?
1.2 Configuración e instalación
1.2.1 Instalación del entorno de desarrollo
1.2.2 Instalación de controladores para el MKR 1010
1.3 Una primera práctica: parpadeo de un LED
1.4 La familia Arduino MKR
2. El lenguaje de programación de Arduino
2.1 Introducción al concepto de programación
2.2 Cuerpo de un programa en Arduino
2.2.1 Estructuras
2.2.2 Variables
2.2.3 Operadores aritméticos, lógicos y booleanos
2.2.4 Estructuras de control: condicionales y ciclos
2.3 Funciones
2.4 Librerías
3. Transmisión en serie. Pines analógicos y digitales
3.1 Monitor serie
3.2 Pines digitales
3.2.1 Funcionamiento de los interruptores, pulsadores y potenciómetros
3.2.2 Memoria FlashStorage
3.2.3 Modulación por amplitud de pulsos PWM
3.2.4 Funcionamiento de un pequeño altavoz
3.2.5 Introducción a las interrupciones en Arduino
3.3 Entradas analógicas
4. Sensores y actuadores
4.1 Sensor de temperatura DS18B20
4.2 Relé para controlar dispositivos de corriente alterna
4.3 Sensor ultrasonidos HC-SR04
4.4 Servomotor
4.5 Termómetro de infrarrojos MLX90614
4.6 Sensor micrófono
4.7 Control remoto y receptor IR
4.8 Sensor de luz LDR
4.9 Detector de obstáculos con IR
4.10 Pantallas gráficas TFT
5. Comunicaciones inalámbricas Bluetooth
5.1 Comunicaciones inalámbricas Bluetooth
5.1.1 Tipos de módulos Bluetooth
5.1.2 Comandos AT
5.1.3 Conexión y configuración de Bluetooth HC-05 a MKR 1000
5.2 Control de un led con BlueTerm
5.3 App Inventor 2 y MKR 1010
5.3.1 Funcionamiento básico de App Inventor 2
5.3.2 Encendido y apagado de un led
6. Extender Arduino MKR con shields
6.1 Arduino MKR env shield
6.2 Arduino MKR relay proto shield
6.2.1 EL RTC interno del MKR
6.2.2 Aplicación completa con RTC y Shield Relay
6.3 Arduino MKR motor shield
6.3.1 Servomotores
6.3.2 Motores DC
7. El sistema grove y sus módulos básicos
7.1 El sistema grove
7.2 Práctica 7.1: Funcionamiento de un led grove
7.3 Práctica 7.2: Funcionamiento de un pulsador grove con zumbador
7.4 Práctica 7.3: Funcionamiento de un potenciómetro grove
7.5 Práctica 7.4: Funcionamiento de un micrófono grove
7.6 Práctica 7.5: Funcionamiento de un sensor de contacto
7.7 Práctica 7.6: funcionamiento de la LDR grove
Читать дальше