El mundo GENUINO-ARDUINO Curso práctico de formación

  

El mundo GENUINO-ARDUINO 
Curso práctico de formación 

 

Descargar

 

INTRODUCCIÓN ..................................................................................................... XV
CAPÍTULO 1. ELECTRÓNICA BÁSICA .......................................................................... 1
CONCEPTOS TEÓRICOS SOBRE ELECTRICIDAD ............................................................... 1 
¿Qué es la electricidad? .......................................................................................................... 1 
¿Qué es el voltaje? .................................................................................................................. 2 
¿Qué es la intensidad de corriente? ....................................................................................... 3 
¿Qué es la corriente continua (DC) y la corriente alterna (AC)? ............................................. 4 
¿Qué es la resistencia eléctrica? ............................................................................................. 5 
¿Qué es la Ley de Ohm? .......................................................................................................... 5 
¿Qué es la potencia? ............................................................................................................... 6 
¿Qué son las señales digitales y las señales analógicas? ........................................................ 7 
¿Qué son las señales periódicas y las señales aperiódicas? .................................................... 9
CIRCUITOS ELÉCTRICOS BÁSICOS ................................................................................. 11 
Representación gráfica de circuitos ...................................................................................... 11 
Circuitos abiertos, cerrados y cortocircuitos ......................................................................... 12 
Conexiones en serie y en paralelo ........................................................................................ 13 
El divisor de tensión .............................................................................................................. 16 
Las resistencias "pull-up" y "pull-down" ............................................................................... 17
FUENTES DE ALIMENTACIÓN ELÉCTRICA ..................................................................... 19 
Tipos de pilas/baterías .......................................................................................................... 19 
Voltaje de corte, capacidad y capabilidad de las pilas/baterías ............................................ 22 
Conexiones de varias pilas/baterías ...................................................................................... 24 
Compra de pilas/baterías ...................................................................................................... 25 
Compra de portapilas (con distintos conectores) ................................................................. 26 
Compra de cargadores .......................................................................................................... 28 
Breve nota sobre los conectores y el protocolo USB ........................................................ 30 
Características de los adaptadores AC/DC ............................................................................ 31 
Breve nota sobre las fuentes de alimentación solares ..................................................... 35
COMPONENTES ELÉCTRICOS ....................................................................................... 36 
Resistencias ........................................................................................................................... 36 
Potenciómetros ..................................................................................................................... 39
  EL MUNDO GENUINO-ARDUINO 
Breve nota sobre los "softpots" o potenciómetros de "membrana" ............................... 41 
Otras resistencias de valor variable ...................................................................................... 42 
Diodos (y LEDs) ..................................................................................................................... 42 
Breve nota sobre los "datasheets" ................................................................................... 43 
Un tipo de diodo muy particular: el LED .......................................................................... 45 
Breve nota sobre los LEDs RGB ........................................................................................ 47 
Condensadores ..................................................................................................................... 48 
Usos comunes de los condensadores: desacople y filtro ................................................. 51 
Transistores ........................................................................................................................... 52 
Pulsadores ............................................................................................................................ 56 
Otros tipos de interruptores (o conmutadores) ................................................................... 57 
Reguladores de tensión ........................................................................................................ 59 
Breve nota sobre los elevadores DC/DC .......................................................................... 62 
Placas de prototipado ........................................................................................................... 64 
Cables ................................................................................................................................... 68 
USO DE UNA PLACA DE PROTOTIPADO ........................................................................ 70 
Breve nota sobre cómo alimentar circuitos en placas de prototipado ............................ 70 
USO DE UN MULTÍMETRO DIGITAL .............................................................................. 77
CAPÍTULO 2. HARDWARE GENUINO ...................................................................... 83
¿QUÉ ES UN SISTEMA ELECTRÓNICO? ......................................................................... 83
¿QUÉ ES UN MICROCONTROLADOR? .......................................................................... 84
¿QUÉ ES GENUINO/ARDUINO? ................................................................................... 86
¿CUÁL ES EL ORIGEN DE ARDUINO? ............................................................................ 88
¿QUÉ QUIERE DECIR QUE ARDUINO SEA "SOFTWARE LIBRE"? ................................... 89
¿QUÉ QUIERE DECIR QUE ARDUINO SEA "HARDWARE LIBRE"? .................................. 90
¿POR QUÉ ELEGIR ARDUINO? ..................................................................................... 92
EL MICRO DE LAS PLACAS ARDUINO (y del modelo UNO en particular) ..................... 93 
El encapsulado del microcontrolador ................................................................................... 93 
DIP .................................................................................................................................... 94 
SMD ................................................................................................................................. 95 
El modelo del microcontrolador ........................................................................................... 97 
Arquitectura AVR ............................................................................................................. 98 
Arquitectura ARM ............................................................................................................ 98 
Breve nota sobre AVR vs. ARM (y x86) ............................................................................. 99 
El chip ATmega328P ....................................................................................................... 100 
Las memorias del microcontrolador ................................................................................... 101 
Breve nota sobre las unidades de medida de la información ........................................ 102 
Breve nota sobre las diferencias entre memorias Flash y EEPROM ............................... 105 
Los registros del microcontrolador ..................................................................................... 106 
La comunicación serie con el exterior ................................................................................ 106 
ÍNDICE 
Comunicación asíncrona ................................................................................................ 108 
Comunicación síncrona .................................................................................................. 108 
El gestor de arranque ("bootloader") del microcontrolador ............................................... 113 
Los gestores de arranque de las placas Due y Zero (ARM) ............................................. 115 
Otros gestores de arranque más exóticos ...................................................................... 116
CARACTERÍSTICAS DE LA PLACA ARDUINO UNO ....................................................... 117 
La alimentación eléctrica .................................................................................................... 117 
El chip ATmega16U2 ............................................................................................................ 121 
Breve nota sobre la tecnología TTL y sus niveles HIGH/LOW aceptados ....................... 121 
Reprogramación del chip ATmega16U2.......................................................................... 123 
Breve nota sobre los "pogo pins" ................................................................................... 124 
Breve nota sobre los VID y PID ....................................................................................... 126 
Las entradas y salidas digitales ........................................................................................... 126 
Las entradas analógicas ...................................................................................................... 127 
Las salidas analógicas (PWM) ............................................................................................. 129 
Otros usos de los pines-hembra de la placa ....................................................................... 133 
El conector ICSP .................................................................................................................. 136 
SPI ................................................................................................................................... 136 
ISP ................................................................................................................................... 137 
Breve nota sobre cómo realizar una programación ISP con el entorno Arduino ........... 140 
El reloj ................................................................................................................................. 141 
Los temporizadores ("timers") del microcontrolador .................................................... 143 
El botón de "reset" .............................................................................................................. 144 
Obtener el diseño esquemático y de referencia ................................................................. 145
¿QUÉ OTRAS PLACAS ARDUINO OFICIALES EXISTEN? ............................................... 146 
Arduino Pro ......................................................................................................................... 146 
Los pines-hembra (y otros) ............................................................................................. 147 
Los adaptadores USB-Serie ............................................................................................ 148 
Arduino Pro Mini ................................................................................................................. 149 
Arduino Nano ...................................................................................................................... 150 
Arduino Mega 2560 ............................................................................................................ 151 
Arduino Micro ..................................................................................................................... 151 
El "auto-reset" del micro ATmega32U4 .......................................................................... 153 
Arduino Yún ......................................................................................................................... 153 
Breve nota sobre cómo conseguir cargar programas en la placa Yún vía WiFi .............. 157 
Arduino Lilypad, Lilypad Simple, Lilypad SimpleSnap y LilypadUSB .................................... 161 
Arduino Gemma .................................................................................................................. 163 
Arduino Due ........................................................................................................................ 163 
Arduino Zero ....................................................................................................................... 165 
Arduino 101 ........................................................................................................................ 167 
Tablas comparativas de los diferentes modelos de placas .................................................. 168 
Breve nota sobre las regulaciones del espectro electromagnético ................................ 170
¿QUÉ "SHIELDS" ARDUINO OFICIALES EXISTEN? ....................................................... 170 
Arduino Ethernet Shield ..................................................................................................... 171 
Breve nota sobre Ethernet ............................................................................................. 172 
PoE ("Power Over Ethernet") ......................................................................................... 174 
Arduino WiFi Shield 101 ..................................................................................................... 177 
Arduino GSM Shield ............................................................................................................ 178 
Arduino Motor Shield ......................................................................................................... 179 
Arduino Proto Shield ........................................................................................................... 181
¿QUÉ SHIELDS NO OFICIALES EXISTEN? .................................................................... 182 
Proto Shields ....................................................................................................................... 182 
Power Shields ..................................................................................................................... 183
¿QUÉ PLACAS ARDUINO NO OFICIALES EXISTEN? ..................................................... 184 
CAPÍTULO 3. SOFTWARE ARDUINO ...................................................................... 191
¿QUÉ ES UN IDE? ....................................................................................................... 191
INSTALACIÓN DEL IDE ARDUINO ............................................................................... 192 
Cualquier sistema Linux ...................................................................................................... 192 
Posible problema: la configuración del gestor de ficheros Nautilus .............................. 193 
Posible problema: los permisos de usuario ................................................................... 193 
Breve nota sobre el reconocimiento y uso de dispositivos USB-ACM en Linux ............. 194 
Cualquier sistema Linux (a partir del código fuente) .......................................................... 195 
Windows ............................................................................................................................. 195 
Posible problema: instalación del "driver" .................................................................... 196 
Breve nota sobre el reconocimiento y uso de dispositivos COM en Windows .............. 196 
OS X .................................................................................................................................... 196
PRIMER CONTACTO CON EL IDE ................................................................................ 197
HERRAMIENTAS EXTRA INTEGRADAS EN EL IDE ........................................................ 203 
Las librerías y el "Library Manager" .................................................................................... 203 
Concepto de librería ...................................................................................................... 203 
Cómo instalar librerías (de terceros) manualmente ...................................................... 204 
Cómo instalar librerías (de terceros) usando el "Library Manager" ............................... 205 
Cómo importar librerías ................................................................................................. 206 
El "Boards Manager" .......................................................................................................... 207 
El "Serial Monitor" y otros terminales serie ....................................................................... 210 
Ejecución del "auto-reset" al abrir el "Serial Monitor" .................................................. 211
COMPROBACIÓN DEL CORRECTO FUNCIONAMIENTO DEL IDE ................................. 213
USO DEL IDE EN EL INTÉRPRETE DE COMANDOS ...................................................... 215
USO DEL IDE "ARDUINO CREATE" .............................................................................. 217
OTROS IDEs ALTERNATIVOS ....................................................................................... 218 
Entornos "online" ............................................................................................................... 220 
Entornos de programación gráfica ...................................................................................... 221
MÁS ALLÁ DEL LENGUAJE ARDUINO: EL LENGUAJE C/C++ ........................................ 223 
ÍNDICE 
Herramientas de compilación C/C++ y carga incluidas en el IDE ........................................ 225 
Herramientas invocadas mediante el botón "Verify" ..................................................... 225 
Herramientas invocadas mediante el botón "Upload" ................................................... 227
CAPÍTULO 4. LENGUAJE ARDUINO ....................................................................... 229
MI PRIMER SKETCH ARDUINO ................................................................................... 229
ESTRUCTURA GENERAL DE UN SKETCH ..................................................................... 230 
Sobre las mayúsculas, tabulaciones y los punto y coma ................................................ 231
COMENTARIOS .......................................................................................................... 232
VARIABLES ................................................................................................................. 233 
Declaración e inicialización de una variable ........................................................................ 233 
Asignación de valores a una variable .................................................................................. 234 
Ámbito de una variable ....................................................................................................... 235 
Tipos posibles de una variable ............................................................................................ 236 
Tipos simples .................................................................................................................. 236 
Breve nota sobre ASCII, ISO-8859-1 y UTF-8 .................................................................. 238 
Breve nota sobre el uso de los sistemas binario y hexadecimal ..................................... 240 
Breve nota sobre la importancia de los rangos de valores válidos ................................. 241 
Tipos complejos .............................................................................................................. 244 
Breve nota sobre los arrays de caracteres y el tipo de datos String ............................... 246 
Breve nota sobre los punteros ....................................................................................... 247 
La instrucción sizeof() .......................................................................................................... 250 
Cambio de tipo de datos (numéricos) ................................................................................. 251
CONSTANTES ............................................................................................................. 254
PARÁMETROS DE UNA INSTRUCCIÓN ....................................................................... 255
VALOR DE RETORNO DE UNA INSTRUCCIÓN ............................................................. 256
LA COMUNICACIÓN SERIE CON LA PLACA ARDUINO ................................................ 257 
Instrucciones para enviar datos desde la placa al exterior ................................................. 258 
Uso del "Serial Plotter" ................................................................................................... 262 
Instrucciones para recibir datos desde el exterior .............................................................. 263 
Los objetos serie de otras placas Arduino diferentes de la UNO ........................................ 271
INSTRUCCIONES DE GESTIÓN DEL TIEMPO ............................................................... 273
INSTRUCCIONES MATEMÁTICAS, TRIGONOMÉTRICAS Y DE 
PSEUDOALEATORIEDAD ....................................................................................... 275
INSTRUCCIONES DE GESTIÓN DE CADENAS .............................................................. 282
CREACIÓN DE INSTRUCCIONES (FUNCIONES) PROPIAS ............................................. 287 
Funciones con parámetros opcionales ("sobrecarga") ....................................................... 291 
Funciones con estructuras como parámetros o valor de retorno ....................................... 292 
Funciones con más de un valor de retorno ("paso por referencia") ................................... 294 
Las variables static .............................................................................................................. 296 
BLOQUES CONDICIONALES ........................................................................................ 297 
Los bloques if e if/else ........................................................................................................ 297 
El bloque switch .................................................................................................................. 303
BLOQUES REPETITIVOS (BUCLES) .............................................................................. 305 
El bloque while ................................................................................................................... 305 
El bloque do ........................................................................................................................ 308 
El bloque for ....................................................................................................................... 308 
Las instrucciones break y continue ..................................................................................... 312
CAPÍTULO 5. LIBRERÍAS ARDUINO ....................................................................... 315
LAS LIBRERÍAS OFICIALES .......................................................................................... 315 
Librería LiquidCrystal .......................................................................................................... 316 
Librería SD ........................................................................................................................... 316 
Librería Ethernet ................................................................................................................. 316 
Librería WiFi101 .................................................................................................................. 317 
Librería Temboo .................................................................................................................. 317 
Librería GSM ....................................................................................................................... 317 
Librería SPI .......................................................................................................................... 317 
Librería Wire ....................................................................................................................... 318 
Librería SoftwareSerial ....................................................................................................... 318 
Librería Firmata .................................................................................................................. 319 
Librerías Servo y Stepper .................................................................................................... 320 
Librerías Keyboard y Mouse (solo para placas basadas en el chip  ATmega32U4 y 
   para los modelos Due y Zero) .......................................................................................... 320 
Librería EEPROM (para todas las placas excepto los modelos Due y Zero) ........................ 321 
Librerías USBHost y Scheduler (solo para los modelos Due y Zero) ................................... 321 
Librería Audio (solo para el modelo Due) ........................................................................... 322 
Librerías AudioZero y RTCZero (solo para el modelo Zero) ................................................. 322 
Librerías Bridge y SpacebrewYún (solo para el modelo Yún) .............................................. 323
USO DE PANTALLAS LCD ............................................................................................ 324 
Las pantallas de cristal líquido (LCDs) ................................................................................. 324 
La librería LiquidCrystal ...................................................................................................... 327 
Librerías de terceros interesantes para usar con LCDs ....................................................... 334 
2
Módulos LCD de tipo I
C o TTL-Serie .................................................................................. 335 
2
Backpacks I
C ................................................................................................................. 336 
Backpacks serie .............................................................................................................. 337 
Shields que incorporan LCDs .............................................................................................. 339 
Shields y módulos que incorporan GLCDs .......................................................................... 341 
Breve nota sobre los convertidores de nivel bidireccionales ......................................... 343 
Breve nota sobre la visualización de imágenes "al vuelo" ............................................. 345
USO DE PANTALLAS TFT ........................................................................................... ..347 
Shields y módulos que incorporan pantallas TFT ............................................................... 347 
Breve nota sobre la librería "Adafruit GFX" ................................................................... 348 
Shields y módulos que incorporan pantallas TFT táctiles ................................................... 351 
Pantallas TFT táctiles resistivas vs. pantallas TFT táctiles capacitivas ............................ 351 
De tecnología resistiva ................................................................................................... 352 
De tecnología capacitiva ................................................................................................ 357
USO DE PANTALLAS OLED .......................................................................................... 359 
Las pantallas OLED .............................................................................................................. 359 
Módulos OLED de 4DSystems ............................................................................................. 359 
Módulos OLED de Adafruit ................................................................................................. 360
USO DE OTRAS PANTALLAS ........................................................................................ 362 
7-segmentos........................................................................................................................ 363 
Necesidad de aumentar el número de pines de salida .................................................. 364 
Shields y módulos que incorporan displays 7-segmentos .............................................. 365 
Matrices de LEDs ................................................................................................................. 369
USO DE LA MEMORIA EEPROM ................................................................................. 371
USO DE TARJETAS SD ................................................................................................. 375 
Características de las tarjetas SD ........................................................................................ 375 
Shields y módulos que incorporan zócalos microSD ........................................................... 377 
La librería SD ....................................................................................................................... 379
USO DE PUERTOS SERIE SOFTWARE .......................................................................... 388
USO DE MOTORES ..................................................................................................... 392 
Conceptos básicos sobre motores ...................................................................................... 392 
Tipos de motores ................................................................................................................ 394 
Los motores DC .............................................................................................................. 394 
Los servomotores ........................................................................................................... 396 
Los motores paso a paso ................................................................................................ 399 
La librería Servo .................................................................................................................. 402 
La librería Stepper ............................................................................................................... 407
CAPÍTULO 6. ENTRADAS Y SALIDAS ...................................................................... 411
USO DE LAS ENTRADAS Y SALIDAS DIGITALES ........................................................... 411 
Ejemplos con salidas digitales ............................................................................................. 414 
Evitando el uso de la función delay() –y de delayMicroseconds()– ................................ 418 
Múltiples salidas en paralelo .......................................................................................... 424 
Ejemplos con entradas digitales (pulsadores) ..................................................................... 437 
Implementación de pulsadores momentáneos .............................................................. 440 
Implementación de pulsadores mantenidos .................................................................. 444 
Evitando el rebote ("bounce") en los pulsadores ........................................................... 450 
Juegos ............................................................................................................................. 452 
Keypads digitales ................................................................................................................. 458
USO DE LAS ENTRADAS Y SALIDAS ANALÓGICAS ...................................................... 461 
Ejemplos con salidas analógicas ......................................................................................... 464 
Control interactivo (mediante pulsadores) .................................................................... 466 
Control interactivo (a través del canal serie) ................................................................. 467 
Uso de LEDs RGB ............................................................................................................ 469 
Ejemplos con entradas analógicas (potenciómetros) ......................................................... 471 
Medias y calibraciones ................................................................................................... 474 
Entradas y salidas ........................................................................................................... 475 
Ejemplo de uso de joysticks como entradas analógicas ..................................................... 478 
Ejemplo de uso de pulsadores como entradas analógicas ................................................. 480 
Cambiar el voltaje de referencia de las lecturas analógicas ............................................... 484
CONTROL DE MOTORES DC ....................................................................................... 487 
El chip L293 ......................................................................................................................... 492 
Módulos de control para motores DC ................................................................................ 494 
La placa TB6612FNG ...................................................................................................... 495 
Otros módulos ............................................................................................................... 497 
Shields de control para motores DC (y paso a paso) .......................................................... 497 
El "Adafruit Motor Shield" ............................................................................................. 497 
Otros shields .................................................................................................................. 499
EMISIÓN DE SONIDO ................................................................................................. 502 
Uso de zumbadores ............................................................................................................ 502 
Las funciones tone() y noTone() .......................................................................................... 505 
Uso de altavoces ................................................................................................................. 510 
Amplificación simple del sonido ......................................................................................... 512 
Sonidos pregrabados .......................................................................................................... 515 
La librería "SimpleSDAudio" ........................................................................................... 515 
Breve nota sobre las características de un fichero de audio .......................................... 515 
El "Wave Shield" de Adafruit.......................................................................................... 517 
Shields que reproducen MP3 ......................................................................................... 518 
Módulos de audio .......................................................................................................... 519 
Reproductores de voz .................................................................................................... 523
APÉNDICES
A. DISTRIBUIDORES DE ARDUINO Y MATERIAL ELÉCTRICO ................................... 529 
Kits ...................................................................................................................................... 532
B. CÓDIGOS IMPRIMIBLES DE LA TABLA ASCII ...................................................... 535
C. RECURSOS PARA SEGUIR APRENDIENDO ......................................................... 537 
Plataforma  Arduino ............................................................................................................ 537 
Electrónica general ............................................................................................................. 538 
Proyectos ............................................................................................................................ 539 

ÍNDICE ANALÍTICO ……………………………………………………………………………………………..541 

Comentarios