Оглавление
German Tojeiro Calaza. Taller de Arduino. Experimentando con Arduino MKR 1010
Índice
Prólogo
Agradecimientos
CAPÍTULO 1. Empezando con Arduino MKR
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
Práctica 1.1 Parpadeo de un led (encabezado)
Práctica 1.1a Parpadeo de un led (inicialización)
Práctica 1.1b Parpadeo de un led (bloque repetitivo)
1.4 La familia Arduino MKR
Arduino MKR1000 WiFi
Características de Arduino MKR1000
Arduino MKR WiFi 1010
Características del Arduino MKR 1010
Arduino MKR1200 WIFI
Características de Arduino MKRFOX1200
Arduino MKR1300 WIFI
Características de Arduino MKR WAN 1300
Arduino MKR GSM 1400
Características de Arduino MKR GSM 1400
Arduino MKR ZERO
Características del Arduino MKR ZERO
CAPÍTULO 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
CAPÍTULO 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
Práctica 3.1 Empezar a programar. El coche fantástico
Práctica 3.2 Optimizar el código
Práctica 3.3 Encendido de un led con un pulsador
Práctica 3.4 Control de dos semáforos
Práctica 3.5 Contador de pulsaciones
3.2.2 Memoria FlashStorage
Práctica 3.6 Contar pulsaciones con memoria de recuperación
3.2.3 Modulación por amplitud de pulsos PWM
Práctica 3.7 Variar la luminosidad de un led
3.2.4 Funcionamiento de un pequeño altavoz
Práctica 3.8 Hacer sonar un pequeño zumbador
Práctica 3.9 Aumentar la potencia de sonido
Práctica 3.10 Reproductor de tonos
3.2.5 Introducción a las interrupciones en Arduino
Práctica 3.11 Control de un led mediante un pulsador sin interrupciones
Práctica 3.12 Control de un led mediante un pulsador con interrupciones
3.3 Entradas analógicas
Conversor digital-analógico (DAC)
Práctica 3.13 Mostrar los valores de un potenciómetro en el monitor serie
Práctica 3.14 Control del brillo de un led con un potenciómetro
CAPÍTULO 4. Sensores y actuadores
4.1 Sensor de temperatura DS18B20
Práctica 4.1 Termómetro (normal y de líquidos)
4.2 Relé para controlar dispositivos de corriente alterna
Práctica 4.2 Control automático del aire acondicionado
4.3 Sensor ultrasonidos HC-SR04
Práctica 4.3 Telémetro. Medidor de distancias
4.4 Servomotor
Práctica 4.4 Apertura de puerta automática
4.5 Termómetro de infrarrojos MLX90614
Práctica 4.5 Termómetro para la COVID-19
4.6 Sensor micrófono
Práctica 4.6 Control de luces con palmas
4.7 Control remoto y receptor IR
Cómo conectar un receptor IR a Arduino
Práctica 4.7 Descubrir los códigos del mando del televisor
Práctica 4.8 Control de la iluminación con el mando del televisor
4.8 Sensor de luz LDR
Cómo usar un LDR
Práctica 4.9 Apagado y encendido crepuscular
Práctica 4.10 Señal nocturna de seguridad
4.9 Detector de obstáculos con IR
Práctica 4.11 Alarma por infrarrojos
4.10 Pantallas gráficas TFT
Práctica 4.12 Mostrar la temperatura en una pantalla TFT
CAPÍTULO 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
Práctica 5.1 Configuración del módulo HC-05 por comandos AT desde MKR
5.2 Control de un led con BlueTerm
Práctica 5.2 Control de tres leds 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
Práctica 5.3 Control de un led mediante App Inventor 2
CAPÍTULO 6. Extender Arduino MKR con SHIELDS
6.1 Arduino MKR env shield
Práctica 6.1 Probar la shield ENV
Práctica 6.2 Probar la microSD de la shield ENV
6.2 Arduino MKR relay proto shield
6.2.1 EL RTC interno del MKR
Práctica 6.3 Probar el RTC interno
6.2.2 Aplicación completa con RTC y Shield Relay
Práctica 6.4 Temporizar el encendido de una bombilla
6.3 Arduino MKR motor shield
6.3.1 Servomotores
Práctica 6.5 Manejar un servomotor
6.3.2 Motores DC
Práctica 6.6 Manejar un MOTOR DC
CAPÍTULO 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
Práctica 7.1 Parpadeo con un led Grove
7.3 Práctica 7.2: Funcionamiento de un pulsador grove con zumbador
Práctica 7.2 Pulsador y zumbador Grove
7.4 Práctica 7.3: Funcionamiento de un potenciómetro grove
Práctica 7.3 Variar el brillo de un led
7.5 Práctica 7.4: Funcionamiento de un micrófono grove
Práctica 7.4 Representar valores captados por un micrófono
7.6 Práctica 7.5: Funcionamiento de un sensor de contacto
Práctica 7.5 Utilizar el sensor de contacto
7.7 Práctica 7.6: Funcionamiento de la LDR grove
Práctica 7.6 Simulación del encendido automático de luces con respecto a la luminosidad
7.8 Práctica 7.7: Funcionamiento del sensor de temperatura
Práctica 7.7 Medir la temperatura con un termistor
7.9 Práctica 7.8: Funcionamiento del LCD grove
Práctica 7.8 Mostrar la temperatura con un termistor en un LCD RGB
7.10 Práctica 7.9: El módulo relé grove
Práctica 7.9 Control del relé desde un pulsador
7.11 Práctica 7.10: El RTC (reloj en tiempo real)
Práctica 7.10 Utilización del RTC de alta precisión
7.12 Práctica 7.11: El módulo PIR grove
Práctica 7.11 Alarma antirrobo con sensor de movimiento PIR
7.13 Práctica 7.12: El módulo DHT grove
Práctica 7.12 Visualizar temperatura y humedad
7.14 Práctica 13: El módulo humedad grove
Práctica 7.13 Visualizar humedad
7.15 Práctica 14: El módulo display Oled 1.12”
Práctica 7.14 Probar OLED
7.16 Práctica 7.15: El módulo display triple color E-INK 1.54”
Práctica 7.15 Mostrar su propio logo
CAPÍTULO 8. IoTInternet de las cosas
8.1 Introducción al internet de las cosas
8.2 El origen del internet de las cosas
8.3 ¿Qué es el internet de las cosas?
8.4 Comunicación IoT
8.4.1 Comunicaciones “dispositivo a dispositivo”
8.4.2 Comunicaciones “dispositivo a la nube”
8.4.3 Comunicaciones “dispositivo a puerta de enlace”
8.4.4 Comunicaciones “intercambio de datos a través del back-end”
8.5 El mercado
Crecimiento constante
8.6 Aplicaciones del IoT
Wearables
Salud
Agricultura
Monitorización de tráfico
Ahorro energético
Suministro de agua
8.7 Protocolos de comunicación
8.7.1 Entorno doméstico
AllJoyn
HomePlug y HomeGrid
MFi (Made For iPhone/iPod/iPad)
OCF (Open Connectivity Foundation)
Thread (network protocol)
8.7.2 Entorno industrial
AMQP (Advanced Message Queuing Protocol)
CoAP (Constrained Application Protocol)
DDS (Data Distribution Service)
HTTP (REST/JSON) (Hypertext Transfer Protocol)
MQTT (Message Queuing Telemetry Transport)
OPC UA (Unified Architecture)
XMPP (Extensible Messaging and Presence Protocol)
8.8 Plataformas IoT
8.8.1 Thingspeak
8.8.2 IFTTT
8.8.3 THINGER.IO
8.8.4 ADAFRUIT.IO
8.8.5 Blynk
CAPÍTULO 9. Arduino MKR 1010 e IOT
9.1 Características wifi del 1010
9.1.1 La librería WiFiNINA
9.1.2 Escanear redes inalámbricas wifi
9.1.3 Implementar un simple control de ledes por wifi
9.2 Monitor continuo de casos de Covid-19 en España
Práctica 9.1 Monitor de datos del COVID_19
9.3 ADAFRUIT.IO
9.3.1 Feeds
9.3.2 Dashboard
9.3.3 Control de un led inalámbricamente
Práctica 9.2 Control del encendido/apagado de un led
9.3.4 Visualización remota de variables ambientales
Práctica 9.3 Control del encendido/apagado de un led
9.4 Automatización con IFTTT
Práctica 9.4 Automatización con IFTTT
9.5 Trabajar con ThingSpeak
Práctica 9.5 Monitorización de los sensores ambientales de la planta
CAPÍTULO 10. Arduino MKR 1010 + Blynk
10.1 ¿Cómo funciona Blynk?
Características
¿Cómo opera Blynk?
¿Qué necesita para Blynk?
Descargar lo necesario
Empezar con la APP Blynk
Crear una cuenta Blynk
Crear un nuevo proyecto
Práctica 10.1 Controla las luces de su hogar
Programación del código
Configuración de APP Blynk
Práctica 10.2 Recibir datos de humedad y temperatura en el teléfono
Programación del código
Configuración de APP Blynk
Práctica 10.3 Alarma de presencia
Programación del código
Configuración de APP Blynk
Práctica 10.4 Envío de emails desde un MKR
Programación del código
Configuración de APP Blynk
10.2 Cómo controlar varias placas en un mismo proyecto
Práctica 10.5 Control de varias placas MKR en el mismo proyecto
Programación del código para la MKR 1
Programación del código para la MKR 2
Configuración de APP Blynk
Práctica 10.6 Control de varias placas MKR con el mismo token (clon)
10.3 Cómo configurar placas diferentes en un mismo proyecto
Práctica 10.7 Control de diferentes placas (MKR + NodeMCU)
Programación del código (Arduino MKR)
Programación del código (NodeMCU)
Configuración de APP Blynk
Práctica 10.8 Control de diferentes placas, diferentes wifis y clones
Programación del código (Arduino MKR)
Programación del código (NodeMCU)
Configuración de APP Blynk
10.4 Comunicación entre placas
Práctica 10.9 Timbre inalámbrico
Emisor MKR
Programación del código (MKR EMISOR)
Receptor MKR
Programación del código (MKR RECEPTOR)
CAPÍTULO 11. Lorawan y Arduino MKR 1300
Dónde puede ser útil la tecnología LoRaWAN:
Donde NO puede ser útil la tecnología LoRaWAN:
11.1 Arduino MKR 1300
11.2 C omunicación entre dos Arduino MKR 1300
11.3 RAK 7258. GATEWAY LORAWAN.TTN
11.4 Envío de datos de temperatura a TTN
Práctica 11.1 Visualización de temperaturas a través de LoRa en TTN
CAPÍTULO 12. Los bricks y Arduino 1010
12.1 Bricks
12.2 Bricks y Arduino MKR 1010
Práctica 12.1 Parpadeo de ledes con los bricks
Práctica 12.2 Funcionamiento del convertidor A/D con una LDR
Práctica 12.3 Medida de temperaturas con una NTC
12.3 Bricks, Arduino MKR 1010 y la nube
Práctica 12.4 Visualización de valores del DHT11 en el puerto Serie
12.4. Visualización de valores del DHT11 en el puerto Serie. Práctica 12.5 Visualización de valores del DHT11 en la plataforma ThingSpeak