Con Arduino podrá realizar cualquier prototipo y objeto interactivo: desde un termostato o una impresora 3D, hasta drones y robots. No obstante, para construir circuitos, conectar sensores y actuadores, y escribir software deberá contar con un bagaje de habilidades y una buena dosis de intuición.
Tras el éxito del Manual de Arduino, Paolo Aliverti pone a su disposición más de 120 trucos y secretos para convertirse en un verdadero experto en Arduino. Tanto si es principiante como usuario avanzado, con esta guía aprenderá paso a paso nuevas técnicas y resolverá los problemas más habituales entre los diseñadores.
Algunos temas tratados
Programar Arduino: bucles, arrays, pruebas y algoritmos
LED y botones: medir el tiempo de pulsación de un botón, encender una caldera y jugar al Simon
Sensores: detectar la temperatura, la humedad, la presión, la inclinación, los obstáculos y las etiquetas RFID
Actuadores y visualización de informaciones: controlar motores y pantallas, generar sonidos, reproducir archivos de audio
Comunicar e intercambiar datos: wifi, RS232, Bluetooth, utilizar Arduino como servidor web, intercambiar e-mails y SMS
1.PARA EMPEZAR 9
1. Instalar Arduino 10
2. Cargar un sketch en Arduino.13
3. Programar Arduino con Arduino Web Editor15
4. Cargar un sketch con Arduino Web Editor17
5. Simular Arduino con TinkerCAD Circuits19
6. Programar Arduino por bloques con Bitbloq23
2.PROGRAMAR ARDUINO 29
7. Crear un sketch vacío 30
8. Utilizar una variable 31
9. Definir una constante 37
10. Manipular cadenas de caracteres 39
11. Utilizar las cadenas 42
12. Convertir una variable de un tipo a otro 45
13. Repetir una operación 49
14. Utilizar un array 55
15. Obtener la longitud de un array 56
16. Copiar o ampliar un array 58
17. Utilizar arrays bidimensionales (matrices) 61
18. Definir un test simple 63
19. Definir una prueba con más de una alternativa 68
20. Definir una función 70
21. Crear clases y objetos 75
22. Generar números aleatorios 81
23. Encontrar el número más alto en un array 82
24. Ordenar una matriz de números 85
25. Rellenar un array de números aleatorios 88
26. Transformar una cadena en una matriz (tokenizar) 90
27. Gestionar índices múltiples y periódicos 92
28. Trabajar con bits 94
29. Crear un módulo 102
30. Utilizar librerías externas 104
31. Crear librerías propias 105
3.LOS BÁSICOS: LED Y BOTONES 109
32. Encender un LED 110
33. Controlar la luminosidad de un LED 113
34. Utilizar un LED RGB 117
35. Crear un PWM en todos los pines (PWM software) 118
36. Generar una secuencia aleatoria de números
para encender varios LED 120
37. Conectar botones 123
38. Debouncing 127
39. Mantener el estado de un botón 130
40. Identificar la pulsación y la liberación de un botón (bordes ascendentes y
descendentes) 135
41. Medir el tiempo de pulsación de un botón 138
42. Obtener clics múltiples sobre un botón 141
43. Utilizar una entrada analógica 144
44. Botón en línea analógica 146
45. Utilizar un trimmer para configurar parámetros 148
46. Insertar pausas «largas» 150
47. Ganar seis pines digitales 152
48. Utilizar la consola para enviar y recibir comandos 153
49. Encender cuatro LED en secuencia con un botón 156
50. Convertir un valor de un intervalo al otro 159
51. Adivina el LED (programa por estados) 162
53. Controlar el llenado de una bañera (máquina con estados) 169
54. Encender una caldera 175
55. Simon 181
56. Marcar un número pulsando varios botones 1904.LOS SENSORES 195
57. Alimentar a Arduino 196
58. Medir una tensión 199
59. Medir una corriente 202
60. Conectar un sensor de temperatura (termistor) 206
61. Conectar un sensor de temperatura LM35 210
62. Conectar un sensor de luz 212
63. Conectar un sensor para la humedad 215
64. Utilizar un sensor digital para humedad y temperatura 217
65. Detectar un gas 219
66. Detectar campos magnéticos 225
67. Detectar la inclinación con un sensor tilt 229
68. Detectar el movimiento con un PIR 230
69. Crear un botón táctil o touch sensor 232
70. Utilizar un sensor de infrarrojos para descodificar un mando a distancia 235
71. Encender la TV con Arduino 239
72. Detectar un obstáculo con un sensor infrarrojo 242
73. Medir la distancia con un sensor de ultrasonidos 245
74. Utilizar la fecha y la hora actuales 249
75. Utilizar un teclado numérico 252
76. Detectar la orientación o el movimiento con acelerómetros y giroscopios 256
78. Encontrar el norte en una brújula 260
79. Conocer la posición geográfica con un GPS 264
80. Conectar un micrófono y realizar un «clap control» 270
81. Conectar una fuente de audio 273
82. Leer etiquetas RFID 276
83. Aislar una entrada 280
5.LOS ACTUADORES Y LA VISUALIZACIÓN DE INFORMACIÓN 283
84. Encender una bombilla de 12 V con un transistor 284
85. Controlar un relé con un transistor 286
86. Encender una bombilla de 12 V con un MOSFET 289
87. Controlar la velocidad de un motor 292
88. Controlar la dirección de rotación de un motor c.c 295
89. Utilizar un servomotor 298
90. Encender una bombilla a 220 V 302
91. Interruptor crepuscular para una bombilla de 220 V 304
92. Utilizar un motor paso a paso (stepper) 305
93. Aislar las salidas 309
94. Aumentar las salidas con un registro de desplazamiento 312
95. Utilizar una pantalla de siete segmentos 318
96. Utilizar una pantalla LCD 322
97. Controlar una pantalla con solo dos cables (I2C) 327
98. Diseñar caracteres personalizados en una pantalla LCD 329
99. Crear un terminal de pantalla LCD 330
100. Crear un menú multinivel con una pantalla LCD 334
101. Conectar una pantalla gráfica TFT 336
102. Generar sonidos 339
103. LED NeoPixel 342
104. Generar una señal analógica 345
105. Conectar un amplificador 348
106. Controlar un potenciómetro digital 350
107. Reproducir un archivo de audio mp3 o wav 355
6.COMUNICAR E INTERCAMBIAR DATOS 361
108. Añadir un nuevo puerto serie (SoftwareSerial) 362
109. Conectarse a un puerto RS232 364
110. Conectarse con un puerto RS485 367
111. Comunicar dos arduinos con el protocolo I2C 372
112. Comunicar dos arduinos con el protocolo SPI 375
113. Controlar Arduino con Firmata 380
114. Utilizar Arduino como consola para Processing 385
115. Controlar un LED por Bluetooth con un smartphone 387
116. Encender un LED con Python 392
117. Transmitir datos de Arduino a Python 395
118. Conectarse a Internet y ver una página web 396
119. Arduino como servidor web 402
120. Publicar una página web dinámica 407
121. Encender un LED con el navegador 413
122. Enviar un e-mail con Arduino pulsando un botón 417
123. Enviar SMS con Arduino 423
124. Recibir SMS 426
125. Leer y escribir un archivo desde una tarjeta SD 428
126. Generar una señal de TV 431
127. Emular un ratón USB 432
128. Emular un teclado USB 435
7.ÍNDICE ANALÍTICO 437
Paolo Aliverti. Ingeniero de telecomunicaciones, artesano digital y escritor. Ha escrito los best seller El manual de Arduino, Electrónica para makers y Reparar (casi) cualquier cosa (Editorial Marcombo), Il manuale del maker (Edizioni FAG, tr. ingl. The Maker’s Manual, Maker Media Press) y Stampa 3D - Stazione futuro (Hoepli). Organiza cursos y talleres sobre la fabricación digital y hace poco ha inaugurado un taller de reparaciones industriales que está teniendo un gran éxito (www.reelco.it). En 2011 fundó el Frankenstein Garage y más tarde el FabLab Milano. Su sitio web es www.zeppelinmaker.it.