A

Apéndice A
Arduino

He decidido incluir únicamente un breve apéndice sobre Arduino, porque existen muchísimos recursos para aprender a utilizar este pequeño microcontrolador. El primero de ellos es el sitio web oficial (http://www.arduino.cc), donde encontraréis tutoriales y lecciones en vídeo. En librerías podéis encontrar muchos libros, desde Getting started with Arduino (Empezar con Arduino) de Massimo Banzi, hasta el completísimo Make things talk, de Tom Igoe.

¿Qué es Arduino?

Arduino es una plataforma para realizar rápidamente prototipos electrónicos. Es una pequeña placa que dispone de un microcontrolador ATmega328 de Atmel. Arduino se programa con un software gratuito y cuenta con el apoyo de una amplia comunidad y de un sitio web con un foro muy activo y actualizado.

La potencia de Arduino se encuentra en su simplicidad de programación. El lenguaje utilizado es C, pero se han creado librerías que simplifican muchísimo cualquier operación. Además, no se necesita ningún tipo de programador para transferir el programa del ordenador a la placa; basta con un cable USB.

Para realizar una prueba, solo necesitamos una placa Arduino (la UNO funciona de maravilla), un cable USB de tipo A-B y el software, que podemos descargar desde el sitio web oficial (http://www.arduino.cc). La instalación es muy sencilla y no supone ningún peligro. En el sitio web disponemos de todas las instrucciones necesarias. Conectamos la placa al ordenador con el cable USB y la placa se enciende porque está alimentada con los 5 voltios presentes en el puerto USB. Si la placa es nueva, debería parpadear un pequeño led amarillo.

image

Figura A.1 – La placa Arduino UNO.

image

Figura A.2 – El entorno de desarrollo de Arduino.

Arduino no utiliza código, es decir, secuencias de instrucciones, sino sketches, que son lo mismo, pero con un nombre distinto y un poco más creativos. Un programa de ordenador está formado por un listado de instrucciones que se traducen en un código comprensible para la CPU del ordenador y, después, se ejecutan una tras otra. El sketch de Arduino dispone de dos secciones, denominadas setup y loop.

En el setup incluiremos todas las instrucciones que deberán ser ejecutadas solo cuando se enciende Arduino, mientras que las instrucciones incluidas en el loop se repetirán hasta el infinito.

El sketch está escrito en un lenguaje comprensible, pero para transferirlo a la placa necesita ser compilado, es decir, traducido en instrucciones que el microcontrolador pueda leer y ejecutar. La transferencia se lleva a cabo, simplemente, mediante el cable USB. El programa que cargaréis en Arduino permanecerá en la memoria del microcontrolador incluso una vez apagado.

La placa está dotada de un número determinado de pines de entrada y de salida, puertos de comunicación y alimentación.

Sobre la placa podemos ver:

14 pines de entrada o salida digitales;

6 entradas analógicas;

una alimentación a 3,3 voltios;

una alimentación a 5 voltios;

un puerto serie;

un bus I2C (Inter Integrated Circuit), un estándar definido por Philips para la comunicación entre varios chips. I2C utiliza dos cables denominados SDA (Serial DAta), para los datos (pin A4), y SCL (Serial CLock) para la sincronización (pin A5);

un bus SPI (Serial Peripheral Interface), un estándar que permite la comunicación entre varios circuitos integrados. El bus es accesible en los pines 10 (SS), 11 (MOSI), 12 (MISO) y 13 (SCK).

En la placa también encontramos:

un botón para el RESET – para interrumpir la ejecución del programa actual y reiniciar la placa;

un conector para la alimentación externa – para alimentar a Arduino con una pila o un alimentador. Las tensiones que admite van de 5 hasta unos 20 voltios;

el conector USB – para conectar el cable USB para la programación. El cable sirve también para alimentar la placa cuando se encuentra conectada a un ordenador.

Los comandos fundamentales con los cuales se trabaja en los pines son:

digitalWrite

digitalRead

analogWrite

analogRead

El mínimo sketch debe contener las dos secciones: loop y setup. Podemos copiar el siguiente código o bien utilizar el sketch de ejemplo que encontraremos en Archivo > Ejemplos > Basicos > BareMinimum.

image

Aunque el lenguaje para programar Arduino ha sido muy simplificado, continúa siendo C y, por tanto, debemos respetar algunas reglas que podrían parecer un poco extrañas, sobre todo si la programación no es nuestro fuerte. Por alguno de estos motivos es necesario que antes de loop y setup aparezca la palabra void, que al final de cada operación se incluya un punto y coma y que se utilicen llaves para separar bloques de código. Los pines digitales pueden funcionar como entradas o salidas. Los podemos utilizar para encender ledes o enviar señales al mundo exterior, o para detectar la presión de un botón o recibir información. Antes de utilizar un pin, debemos declarar qué tipo de comportamiento tiene que asumir, es decir, si será una entrada o una salida. Esta operación es necesario llevarla a cabo solo una vez, cuando la placa se enciende y el ATmega328 empieza a leer el sketch. Para utilizar el pin once como salida, en el bloque setup debemos escribir:

image

Para utilizar el pin como entrada, escribiremos:

image

digitalWrite

Para activar un pin digital, se utiliza digitalWrite, indicando el número de pin que se desea activar y el estado del mismo: alto o bajo. Para que un led, que se encuentra conectado al pin once, parpadee, se utiliza el siguiente sketch:

image

En una placa de pruebas insertamos un led y una resistencia de 330 Ω y conectamos el pin once de Arduino al ánodo del led y un terminal del resistor al pin GND, como se indica en la siguiente figura.

image

Figura A.3 – Arduino conectado a un led insertado sobre una placa de pruebas.

Abrimos el entorno de desarrollo de Arduino y creamos un nuevo sketch utilizando File > New. Se abre una nueva ventana en la cual debemos copiar las líneas de código. Conectamos la placa al ordenador y comprobamos en Tools > Serial Port que aparece el puerto serie y que está seleccionado.

Pulsamos el botón Verify (el primero de la barra de herramientas) y esperamos a que el sketch sea analizado y compilado. Si no hay errores, normalmente mostrados en el pequeño panel de color negro al final de la ventana, pulsamos el botón Upload (el segundo de la barra de herramientas) y esperamos la transferencia del sketch. Los ledes de la placa parpadean brevemente durante unos segundos y, después, el led de la placa de pruebas debería empezar a parpadear.

image

Figura A.4 – Los botones Verify y Upload.

Analicemos el sketch. En la sección setup configuramos el pin 11 como salida digital. La primera instrucción de loop activa el pin, llevándolo al estado alto, es decir, a 5 voltios. El pin permanece activo hasta que otro cambie su estado. La siguiente instrucción, delay(1000), impone una pausa de 1000 milisegundos, es decir, un segundo, tras lo cual un nuevo comando digitalWrite apaga el pin. El último comando es, de nuevo, una pausa de un segundo. Las instrucciones del bucle han terminado y, a continuación, Arduino volverá a empezar un nuevo ciclo, repitiendo las instrucciones que se encuentran en loop. La instrucción digitalWrite se utiliza para encender o apagar los pines de Arduino. El comando digitalWrite requiere dos parámetros: el número del pin y el estado que se le debe asignar (que solo puede ser HIGH o LOW). Un pin, utilizado como salida digital, puede asumir solo dos valores, correspondientes a encendido y apagado, es decir, 5 o 0 voltios. Un pin digital configurado como salida suministra también una corriente al que le conectamos. Si la solicitud de corriente es excesiva, el pin quedará dañado irremediablemente. Con Arduino, el límite de corriente es de unos diez miliamperios. Por ese motivo, no se puede conectar directamente un relé o un motor que requieren centenares de miliamperios, sino que deben utilizarse transistores o MOSFET de control.

digitalRead

A continuación, intentaremos utilizar un pin como entrada digital para detectar la presión de un botón. El pin configurado como entrada digital puede detectar si la tensión aplicada es de 0 o de 5 voltios. Para comprobar el funcionamiento, conectamos una placa de pruebas a Arduino. Sobre la placa de pruebas colocamos un botón y una resistencia de 10 kΩ que conectaremos al pin 10. También necesitaremos el led con la resistencia de 470 Ω que hemos utilizado en el experimento anterior.

image

Figura A.5 – Arduino conectado a un botón en el pin 10 y a un led en el pin 11.

El botón tiene dos contactos: uno de los dos se encuentra conectado a tierra mediante la resistencia de 10 kΩ y al pin 10. El otro está a conectado a los 5 voltios de la alimentación. De este modo, la entrada de Arduino está conectada de forma estable a 0 voltios mediante la resistencia. No circula corriente y, por lo tanto, el pin 10 se puede considerar a nivel bajo. Cuando pulsamos el botón, conectamos los 5 voltios a la resistencia y, así, al pin 10. Si no hubiera resistencia, pulsando el botón uniríamos directamente los 5 voltios con la masa, creando un cortocircuito.

El sketch es un poco más complicado:

image
image

En el setup debemos indicar que el pin 10 se comporta como entrada y que el pin 11 es una salida digital. En el loop, leeremos el estado del pin 10 mediante digitalRead. La función digitalRead requiere un único parámetro, el número del pin que hay que leer, y proporciona el estado del pin, que puede ser HIGH o LOW. La primera línea del bucle lee el estado del pin y, si este es HIGH porque alguien ha pulsado el botón, entra en el bloque de las instrucciones delimitado por dos llaves, enciende el pin 11 y espera un segundo. Si nadie pulsa el botón, la lectura del pin devuelve LOW y Arduino ejecuta las instrucciones del bloque que va después del if, pasando directamente a la última digitalWrite, la cual apaga el pin al que se encuentra conectado el led.

analogWrite

La función analogWrite se utiliza para generar una señal PWM, es decir, una onda cuadrada de la cual podemos modificar según nuestras preferencias el porcentaje de señal encendida o apagada. Se necesitan dos parámetros: el pin de salida y un número que indica la relación entre encendido y apagado. El número no es un porcentaje, sino un valor que va del 0 al 255. No todos los pines de Arduino pueden generar una señal de este tipo. Los que están habilitados son los siguientes: 3, 5, 6, 9, 10 y 11. Se reconocen porque sobre la placa, junto al número, aparece una pequeña tilde (~).

Vamos a hacer una prueba modificando el sketch del ejemplo anterior y utilizando el mismo circuito. Necesitamos solo el led conectado al pin 11. Con una señal PWM podemos ajustar la luminosidad del led como nos plazca. Si nos parece incómodo utilizar un número del 0 al 255, podemos utilizar la función map(), que ejecuta una proporción y remapea los números de 0 a 255 sobre valores del 0 al 100.

image

En el sketch hemos introducido también un par de variables: luminosidad y pwm. Una variable es una pequeña porción de memoria en la cual se puede escribir información temporal. En C, el lenguaje que se utiliza para programar Arduino, las variables no pueden ser contenedores genéricos, sino que debemos especificar primero qué es lo que contendrán. Por este motivo, la primera vez que se utilizan es preciso anteponer al nombre de la variable una palabra especial: int. int significa integer, es decir, un número entero. Las variables luminosidad y pwm solo podrán contener números enteros. Para asignar un valor a una variable, basta con escribir su nombre, el símbolo = y el valor deseado.

Las variables funcionan un poco como si fueran pequeños cajones en los cuales podemos aplicar una etiqueta para acordarnos de qué contienen e incluir información, a veces escribiéndola en un pequeño trozo de papel.

image

La función map toma la variable luminosidad, que utilizaremos como si fuera un porcentaje y a la cual asignaremos valores entre 0 y 100, y la remapea entre 0 y 255. Si luminosidad vale 10, map devolverá 25,5, pero, como debe ser un número entero, obtendremos 26.

Intentad cargar el sketch en Arduino y observad el led. Modificad el valor de la variable luminosidad y observad cómo cambia la luminosidad del led.

Serial Monitor

No es fácil entender lo que ocurre sobre una placa. Si el sketch es sencillo y todo funciona, no hay problema, pero si algo va mal, nos gustaría saber más y, seguramente, recibir información por parte de Arduino. Esto es posible utilizando el puerto serie que usamos para la programación. Si el puerto no está ocupado en la programación del microcontrolador, podemos utilizarlo para intercambiar información que podemos leer en una ventana de nuestro ordenador.

Para utilizar el puerto serie de Arduino, es necesario configurarlo en el setup:

image

La configuración del puerto serie requiere un único parámetro, la velocidad de comunicación, que ajustamos a 9600 baudios. Ahora podemos escribir en el puerto serie mediante:

image

¿Dónde van a parar estos mensajes? Son enviados a nuestro ordenador y podemos leerlos abriendo un terminal. En el IDE de Arduino, el último icono de la barra de herramientas sirve para abrir el Serial Monitor, es decir, una ventana que recibe y muestra los mensajes enviados por Arduino.

image

Figura A.6 – Para abrir el Serial Monitor, pulsamos el botón situado en la barra de Arduino.

Este es el sketch para mostrar el texto Hola Mundo y el valor de una variable, a intervalos de un segundo:

image

Hemos añadido la variable recuento. Esta variable está fuera de loop y setup para que pueda ser accesible en ambos bloques de instrucciones. En setup inicializamos el puerto serie y en loop mostramos un texto con Serial.println. La segunda instrucción utiliza print en lugar de println; la diferencia está en que println escribe algo y vuelve al inicio. El tercer comando de impresión escribe en el terminal la variable recuento. Observamos una pausa de un segundo y, después, el texto recuento++, que sirve para aumentar en una unidad el valor contenido en la variable recuento.

analogRead

Arduino puede leer valores analógicos y convertirlos en un número entre 0 y 1023. En la placa se encuentran reservados seis pines para llevar a cabo esta operación. Los pines se denominan A0, A1, A2, A3, A4 y A5. Podemos conectar cualquier tipo de sensor analógico que produzca una tensión entre 0 y 5 voltios. Vamos a intentar conectar un termistor a Arduino y leer su valor. El termistor tiene un valor de resistencia en reposo de unos 10 kΩ, razón por la cual lo conectaremos en serie a una resistencia de 10 kΩ, formando un divisor conectado entre GND y los 5 voltios de Arduino. Conectaremos el pin A0 al punto central del divisor.

image

Figura A.7 – Esquema de conexión de Arduino a un termistor (sobre una placa de pruebas).

Para utilizar una entrada analógica, no es necesario declararlo en el setup. Intentemos cargar un sketch que lee la tensión a los extremos del termistor y, si esta supera un determinado umbral, enciende y apaga un led. Utilizaremos también el puerto serie para visualizar los valores leídos por el sensor.

image
image

En setup configuramos el puerto serie y el pin 11 que se comportará como salida. En loop, el valor detectado por analogRead se conserva en la variable lectura. Si el valor de la variable lectura es superior a un umbral de 400, el led del pin 11 se encenderá. Tenemos un retraso de 100 milisegundos para limitar el número de lecturas. Sería inútil leer una temperatura miles de veces por segundo. Hemos ajustado el valor del umbral de forma arbitraria y, probablemente, al principio parecerá que el circuito no funcione. Abrimos el Serial Monitor de Arduino y observamos los valores que se van sucediendo: los utilizaremos para ajustar correctamente el umbral.

Otros comandos

Lo creáis o no, estos son los cuatro comandos más utilizados en los proyectos con Arduino. Existen muchas otras funciones que podéis consultar en Internet o mediante la ayuda en línea de Arduino. A continuación, os indico otras funciones interesantes. La función tone() genera una nota musical con la frecuencia deseada. Arduino puede tocar una sola nota a la vez. Para escuchar las notas, debemos conectar un pequeño zumbador (buzzer) piezoeléctrico o un altavoz al pin deseado. La frecuencia se indica en hercios y la duración de la nota en milisegundos.

image

Para saber durante cuántos milisegundos se enciende Arduino utilizamos millis(), que devuelve una variable de tipo long (que es capaz de contener números enteros mucho más grandes que los que puede contener int). El número proporcionado aumenta hasta un valor máximo (unos cincuenta días) y, después, vuelve a empezar de cero.

image

Es posible tener precisiones mayores con la función micros(), que trabaja en microsegundos.

Para detectar la duración de un impulso en un pin, podemos utilizar pulseIn(), que devuelve un número en milisegundos. Si esperamos un impulso de tipo HIGH en un pin, en cuanto el pin pasa a nivel alto, la ejecución del sketch se bloquea a la espera del final del impulso. Podemos detectar impulsos de tipo alto o bajo y ajustar un timeout, para que, si tras un tiempo determinado el impulso no conmuta, pulseIn termina y el programa puede continuar.

image

B

Apéndice B
Arduinoscopio

No todos podemos permitirnos un osciloscopio caro, pero muchos de nosotros podríamos tener en un cajón un Arduino. Podríamos utilizarlo en combinación con un software para visualizar gráficos, para construir un sencillísimo osciloscopio DIY. Este instrumento es muy limitado y tiene muy pocas prestaciones, pero, a pesar de estas limitaciones, puede resultar muy útil para echar un vistazo, aunque de un modo muy aproximado, a las señales que circulan por un circuito.

El principio de funcionamiento es simple. Se utiliza una de las entradas analógicas de Arduino para medir una señal lo más rápidamente posible. Los números medidos se envían después a un ordenador mediante el puerto serie. Un software recibe la lectura y la dibuja sobre un gráfico.

El proyecto del osciloscopio con Arduino es de código abierto y se puede descargar desde: http://accrochages.drone.ws/en/node/90.

Para que funcione, necesitamos también Processing, una plataforma que se utiliza para realizar programas gráficos en Java. Processing también es un programa de código abierto que se puede descargar desde la siguiente dirección: http://www.processing.org.

Para su instalación, en primer lugar, es preciso cargar el sketch de Arduino en la placa y después podemos cerrar el entorno de trabajo de Arduino. ¡El sketch es mínimo! Basta con leer los valores que se presentan en el pin analógico (A0) y escribirlos en el puerto serie con el comando Serial.write(). En el setup del sketch, la velocidad de transmisión de los datos está ajustada a 9600 baudios. Vamos a intentar modificarla para obtener mejores lecturas. Lo importante es configurar la misma velocidad en el sketch de Processing.

image
image

Tras haber cargado el firmware, dejamos conectada la placa al ordenador. El siguiente paso es cargar en Processing el archivo pmscope_display.pde, escrito por Sofian Audry y publicado en http://accrochages.drone.ws con licencia Free Software.

Abrimos una nueva ventana en Processing y pegamos el código descargable desde la dirección http://bit.ly/elmaker_oscilloscopio. Processing debería resultarnos bastante familiar, puesto que es la misma plataforma que utiliza Arduino. Para ejecutar un sketch, pulsamos el botón con un triángulo que vemos en la barra de herramientas. Antes de iniciarlo, sin embargo, debemos modificar los ajustes del puerto serie. También en Processing el sketch dispone de una sección setup(). En ella, veremos la siguiente instrucción:

image

El programa detecta la lista de puertos serie del ordenador y se conecta al primero de la lista, que obviamente podría no ser el de Aduino. Si aparecen mensajes de error y no se muestra ninguna lectura, probad a modificar el número entre corchetes. Con 0 indicamos el primer puerto de la lista. Escribimos 1 o 2 y vemos si el circuito funciona. Para realizar una lectura, conectamos la masa (GND) de Arduino a la masa del circuito en pruebas y, después, insertamos un jumper en A0 y lo utilizamos como sonda.

image

Figura B.1 – Onda sinusoidal.

image

Figura B.2 – Onda triangular.

A partir del proyecto original nacieron otros proyectos similares, entre los cuales destaco: https://code.google.com/p/arduinoscope/.

Esta variante es ligeramente más compleja porque requiere la instalación de dos librerías en Processing y un patch para Arduino. La interfaz de Processing es más completa; puede congelar la visualización de las señales, puede leer más pines y muestra la tensión también en voltios.

Bibliografía

Il manuale del Maker – Paolo Aliverti e Andrea Maietta – LSWR

Ed. Ing. The Maker’s Manual – Paolo Aliverti e Andrea Maietta – Maker Media

Un libro que presenta el mundo de los makers y de la Digital Fabrication. Un resumen de todos los argumentos necesarios para llevar a cabo cualquier idea. Las tecnologías aditivas y sustractivas, la electrónica y el software que todo maker debería conocer.

Il manuale dello scienziato – M. Johnson, J.G. McPherson, A. Ward - Arnoldo Mondadori

El manual con el cual empecé a estudiar electrónica y a realizar experimentos. Un libro ilustrado y muy intuitivo que habla de física, química y electrónica.

Elettrotecnica figurata – G.Busher – Hoepli

Es un manual de electrotecnia ilustrada. Cada concepto está explicado con analogías hidráulicas. Hace tiempo que se encuentra descatalogado.

Practical Electronics for Inventors – Paul Scherz – McGraw-Hill

Un completo libro sobre electrónica. Cada argumento se explica de manera sencilla y poco a poco se va estudiando hasta el más mínimo detalle. Adecuado para el principiante y para el maker experto, porque es siempre fuente de inspiración con sus múltiples ejemplos prácticos. El libro está en inglés.

Microelettronica – Millman – McGraw-Hill

Es un libro de electrónica universitario, muy completo y profundo. Para leerlo se necesitan conocimientos de matemáticas y física.

Arduino – La guida ufficiale – Massimo Banzi – Tecniche Nuove

La guía introductoria de Arduino escrita por su fundador. Un pequeño libro que enseña todo lo que hay que saber para empezar a dar los primeros pasos en el mundo de Arduino.

Making things talk – Tom Igoe – Maker Media

Este libro es maravilloso: clarísimo y completo. Explica cómo coger confianza con sensores, actuadores y sistemas de transmisión de datos. Los proyectos están descritos con ejemplos y los resultados son siempre asombrosos. En inglés.

Make: Electronics – Charles Platt – Maker Media

Un libro que explica la electrónica de un modo sencillo e intuitivo. Las explicaciones están siempre vinculadas a experimentos prácticos. Está bien escrito y es comprensible. En inglés.

Raspberry Pi. Guida all’uso – Walter Minute – Edizioni FAG

Un manual óptimo sobre la placa Raspberry Pi. Se muestra cómo instalar el sistema, desarrollar software y controlar las entradas GPIO.

Stampa 3D. Guida completa – Andrea Maietta – LSWR

Un manual claro y completo para conocer todos los secretos de la impresión 3D.

Bi-directional level shifter for I2C-bus and other systems - Herman Schutte

APPLICATION NOTE - AN97055

Philips Semiconductors Systems Laboratory Eindhoven, The Netherlands

http://www.nxp.com/documents/application_note/an97055.pdf

Vínculos y referencias online

Breve lista de distribuidores y tiendas de componentes electrónicos:

Adafruit (http://www.adafruit.com/)

Arduino (http://arduino.cc/)

BeagleBone (http://beagleboard.org/)

DigiKey (http://www.digikey.it/)

Farnell (http://it.farnell.com/)

Mouser (http://www.mouser.it/)

OpenPicus (http://www.openpicus.com/)

Raspberry Pi (http://www.raspberrypi.org/)

Robot Italy (http://www.robot-italy.com/)

Robot Store (http://www.robotstore.it/)

RS component (http://it.rs-online.com/web/)

SeedStudio (http://www.seeedstudio.com/)

Sparkfun (http://www.sparkfun.com/)

Wiring (http://wiring.org.co/)

Vínculos útiles

Tutorial para la programación de los ATtiny en highlowtech.org - http://bit.ly/makersattiny.

Instrucciones para construir el programador FabISP publicadas en el sitio del MIT - http://bit.ly/makersfabisp.

www.zeppelinmaker.it – os indico también mi sitio web, en el cual publico posts relacionados con la Digital Fabrication. El sitio contiene una sección dedicada a este libro, donde encontraréis ideas y proyectos.

StackExchange – un sitio donde podéis publicar preguntas y dudas para obtener respuestas por parte de otros usuarios – http://electronics.stackexchange.com/.

En el sitio Instructables (http://www.instructables.com/) podéis encontrar la descripción completa de proyectos electrónicos con las instrucciones detalladas para llevarlos a cabo.

Hojas de especificaciones

Para buscar las hojas de especificaciones, yo utilizo el sitio de RS Components o de Farnell. En la página de cada componente, se adjuntan los archivos técnicos con medidas y características. No es preciso registrarse en el sitio para acceder a los archivos.

App para smartphone

Electrodroid: es una app para Android y iPhone que todo electrónico debería tener en su teléfono. El programa contiene fórmulas, pinouts y muchas herramientas para resolver problemas cotidianos y frecuentes de sus proyectos.

1

Circuitos electrónicos, corrientes y tensiones

Para diseñar circuitos y entender el comportamiento de los dispositivos electrónicos, cabe empezar por los conceptos básicos. Hablaremos de corrientes, tensiones, resistencias y de las coincidencias que las unen. Para explicar todos estos conceptos, compararemos la corriente eléctrica con una corriente de agua.

Empezamos nuestra aventura con una parte un poco aburrida, cosa que, por otro lado, siempre es así. Para escalar una montaña debemos dejar el coche abajo para, después, sumergirnos por aburridos caminos escondidos en el bosque antes de ver aparecer las majestuosas cimas cubiertas de nieve. En las siguientes páginas, repasaremos un poco de teoría y trataremos de entender qué son y cómo se comportan las corrientes eléctricas. Tomemos una placa electrónica y observémosla con atención. Parece una ciudad en miniatura con bandas de líneas que parecen calles que la recorren de forma ordenada uniendo entre ellas pequeños cilindros o cubos, normalmente negros y llenos de misteriosos textos. Estamos observando el producto final de un trabajo de diseño y producción que empezó, probablemente, meses o años atrás. El circuito que tenemos en las manos ha sido, en primer lugar, diseñado conectando una serie de símbolos sobre un papel o una pantalla y, después, transformado en un objeto real, hecho con plástico, resinas y metales de distintos tipos. Las pequeñas líneas, de color verde, se denominan pistas y son la equivalencia a un cable eléctrico. Los pequeños objetos de forma cilíndrica o cúbica son componentes electrónicos que se utilizan para modificar el flujo de la corriente. Este artefacto se denomina circuito impreso o PCB (Printed Circuit Board) y... estamos invadidos por ellos.

Cuando los circuitos impresos todavía no existían (surgieron después de la Segunda Guerra Mundial), los circuitos se realizaban conectando con cables distintos elementos. Construir circuitos así no es demasiado eficiente: es muy fácil equivocarse y la operación solo puede hacerse a mano. Hoy en día todavía se realizan circuitos de este modo, aunque solo para crear prototipos. Los circuitos impresos permiten obtener en poco tiempo resultados fiables. Los circuitos modernos están hechos para ser montados en máquinas, ahorrando así mucho tiempo y produciendo miles de ejemplares al día.

Dipolo

El material base para construir circuitos son los componentes electrónicos. Un dispositivo electrónico genérico dotado de dos terminales se denomina dipolo. No lo pidáis nunca en una tienda de electrónica porque es un componente que no existe: es solo teórico y, por tanto, corréis el riesgo de hacer el ridículo. Los dipolos sirven para estudiar las conexiones y la forma de los circuitos (en términos cultos: la topología de los circuitos). Enseguida los veremos en detalle y les daremos una forma y un nombre más precisos.

image

Figura 1.1 - Símbolo del dipolo eléctrico.

El dibujo en papel del dipolo es el símbolo que lo representa. Para facilitar la comprensión de los fenómenos eléctricos, diremos que la corriente es comparable al agua que circula por una tubería. Esta metáfora ayuda mucho a comprender ciertos fenómenos, pero presenta limitaciones y puede inducir a conceptos erróneos, por lo que la utilizaremos solo cuando sea necesario para abandonarla en cuanto sea posible. Un cable eléctrico por el cual pasa corriente puede ser comparable a la tubería por la cual circula el agua. Un dispositivo electrónico es comparable a una tubería que modifica el flujo del agua; en realidad, es un objeto construido con materiales o formas concretas, que utiliza fenómenos físicos, químicos y eléctricos para modificar la corriente que lo atraviesa.

Un circuito eléctrico está formado por un conjunto de dipolos conectados entre ellos por cables eléctricos. Podemos conectar los dipolos y los cables con infinitas combinaciones, aunque existen reglas que se deben respetar:

los dipolos tienen siempre y solo dos terminales;

las conexiones entre dipolos se llevan a cabo desde sus terminales (¡nunca sobre el cuerpo!);

si retomamos la analogía del agua, el fluido que entra por un terminal del dipolo debe salir por completo por el otro terminal;

puesto que los dipolos son solo símbolos, sus terminales pueden ser tan largos como nos plazca;

cuando conectamos juntos los terminales de varios dipolos, creamos un nodo;

nuestra composición de dipolos no puede tener terminales libres.

La electrónica tiene mala fama. Se dice de ella que es difícil, porque está estrechamente vinculada con las matemáticas y la física. Yo creo que, en realidad, las matemáticas están presentes en todo, por lo que no debemos preocuparnos demasiado por la electrónica. Cuando conectamos entre sí un “puñado” de dipolos, creamos lo que un matemático denominaría grafo.

image

Figura 1.2 - Un grafo de dipolos.

El dibujo de un circuito eléctrico es parecido a una partitura musical. Las notas del pentagrama son una manera de seguir la música y detenerla, además de para indicar a cualquier músico cómo reproducirla con su instrumento. Un esquema eléctrico sirve para realizar un seguimiento del circuito y para especificar cómo deberá llevarse a cabo. Tanto la partitura como el esquema eléctrico son convenciones que podemos utilizar para compartir con los demás lo que hemos hecho. Al finalizar los primeros capítulos, seremos capaces de leer un esquema eléctrico y de crearlo, sustituyendo los símbolos dibujados sobre el papel por elementos reales. Durante la creación del circuito, encontraremos una serie de pequeñas dificultades, puesto que a menudo no existe una correspondencia directa entre el símbolo y el objeto real. Aprenderemos también a solventar estos pequeños dilemas electrónicos.

Si ahora, siguiendo atentamente el esquema de la figura 1.2, sustituyéramos cada dipolo por un dispositivo real, crearíamos un circuito electrónico. Si el esquema es muy complejo, podemos tener cruces de líneas: en este caso, los cables se consideran conectados si en cada cruce existe un nodo. Para evidenciar que los cables no están en contacto, hay quien dibuja un pequeño arco que se corresponde con el punto de cruce, como para indicar que uno de los cables pasa por encima y el otro, por debajo.

image

Figura 1.3 - El contacto entre dos cables se muestra mediante un punto muy destacado.

Otras veces nos encontraremos con componentes que tienen tres o más terminales, si bien hemos dicho que los dipolos solo tienen dos. Desde el punto de vista de los gráficos, estos objetos se pueden considerar como compuestos por varios dipolos conectados. Los transistores tienen tres terminales, pero podrían representarse con una composición de dipolos. Por razones de brevedad, esta composición se resume con un símbolo más sencillo y rápido de usar.

image

Figura 1.4 - El símbolo del transistor tiene tres terminales; es una sencilla simplificación de su modelo con dipolos.

Como íbamos diciendo, en muchas partes no existe una correspondencia directa entre el símbolo y el dispositivo propiamente dicho. Por ejemplo, los tres terminales de los transistores se denominan E, B y C, pero no todos los transistores respetan este orden. Los símbolos de los circuitos integrados son simples rectángulos y sus terminales aparecen siempre para simplificar el diseño del circuito, nunca como son realmente. ¿Cómo podemos conocer todas estas informaciones? Hace tiempo, antes de Internet, se utilizaban libros en los cuales se listaban las características de los transistores, diodos y circuitos integrados. Las empresas electrónicas publicaban obras repletas de hojas de especificaciones, es decir, de páginas muy detalladas con las características eléctricas y mecánicas y las instrucciones de uso de sus productos. Hoy en día, gracias a Internet, en pocos segundos podemos obtener cualquier hoja de especificaciones. Entrad y visitad los sitios web de RS Components o de Farnell, en los cuales no es necesario registrarse para acceder a sus contenidos.

La corriente eléctrica

Empecé a interesarme por los fenómenos eléctricos cuando tenía diez años. Curioseando entre los libros de mi abuelo Gino, encontré Elettrotecnica figurata, de la editorial Hoepli. Era un texto simple y muy claro, que incluso un niño podía leer y entender. En las páginas de aquel libro, el autor explicaba cada concepto y dispositivo eléctrico con analogías acuáticas. Las transmisiones por radio se explicaban con dibujos de un aspersor para el césped.

image

Figura 1.5 - La cubierta del libro Elettrotecnica figurata.

A menudo, los profanos tienden a confundir algunos términos como: electricidad, corriente, tensión, potencia, etc. que, obviamente, son conceptos muy distintos. Según el diccionario, la electricidad es una propiedad de la materia fácilmente observable que se manifiesta con la atracción o repulsión de cuerpos por efecto de las cargas eléctricas presentes. El nombre procede del griego y significa ámbar, porque si frotamos repetidamente con un trapo un trozo de ámbar este se carga negativamente y es capaz de atraer objetos de poco peso, como plumas o trozos de papel. Ahora hablaremos de corriente eléctrica como si fuera una cosa en sí misma, aunque en realidad corriente, tensión, resistencia y potencia son entidades relacionadas entre ellas y con dependencias recíprocas que pueden describirse con fórmulas matemáticas, pero por el momento no hablaremos de ello.

La corriente eléctrica es un fenómeno producido por el movimiento de partículas cargadas eléctricamente dentro de un material conductor, como el cobre o el hierro. Antes se creía que estas partículas tenían una carga positiva, pero en realidad son electrones, es decir, partículas con carga negativa. Los metales están formados por átomos repletos de electrones que pueden moverse fácilmente. Por este motivo, la corriente circula bien por el cobre y el hierro, que se definen como conductores. Imaginemos que tenemos una batería y una lámpara y lo conectamos todo con cable eléctrico. Del polo positivo de la batería surgirán cargas eléctricas, desplazándose a lo largo del cable y encendiendo la lámpara, para posteriormente regresar al punto de partida, en el polo negativo. El cable puede compararse con una tubería y los electrones con las moléculas de agua que circulan por ella. El polo positivo de la batería puede ser sustituido por un grifo y el polo negativo por el desagüe en el cual termina el agua al finalizar su recorrido.

image

Figura 1.6 - El agua y los electrones se comportan (a veces) de forma muy parecida.

La corriente tiene una dirección, indicada también con el término polaridad, porque las cargas circulan siempre del polo positivo al negativo. El primero que presentó esta idea fue Benjamin Franklin, quien no tenía los instrumentos ni los conocimientos físicos necesarios para darse cuenta de que, en realidad, la corriente era producida por los electrones con carga negativa y no por las hipotéticas partículas positivas. Franklin describió simplemente lo que podía observar con sus propios ojos. Hemos permanecido siempre vinculados a esta convención, si bien en realidad los electrones se mueven del polo negativo al positivo. El polo positivo habitualmente se indica con el signo + o con color rojo, mientras que el polo negativo se indica con el signo - o con color negro. ¿Cómo se mide la corriente? Medir el flujo de un conducto es bastante sencillo: necesitamos un cronómetro y un contador para medir los litros de agua que salen de la tubería. El flujo depende del diámetro del tubo y de la velocidad del agua, y es igual al número de litros que atraviesan la sección de la tubería por segundo. Podrían pasar diez, cien o mil litros por segundo. Para medir la corriente se procede de un modo parecido, solo que, en lugar de medir litros de agua, debemos contar las cargas eléctricas o la cantidad de electrones que pasan por un cable eléctrico en un segundo (o mejor dicho, por una sección del cable).

image

Figura 1.7 - La corriente se mide contando el número de cargas que atraviesan la sección de un cable por segundo.

La unidad de medida de la corriente es el amperio, que viene también del nombre de su descubridor, el físico francés André-Marie Ampère (1775–1836). El símbolo del amperio es una A y en las fórmulas la corriente se indica normalmente con la letra I. Cuando las corrientes son pequeñas, se pueden expresar en miliamperios (mA), y si son muy pequeñas, como las corrientes interceptadas por las radios, también en microamperios (μA). Un miliamperio es igual a 0,001 amperios y un microamperio es igual a 0,000001 amperios.

image

Figura 1.8 - André-Marie Ampère (1775–1836).

Ríos como el Po o el Nilo, por los cuales circulan enormes cantidades de agua por segundo, se pueden comparar con grandes conductos eléctricos, también denominados líneas eléctricas, que desde las centrales eléctricas llegan hasta las ciudades. Un río como el Ticino o el Lambro podría compararse con el cable por el cual pasa la corriente necesaria para mover un tranvía de la ATM1. La manguera de los bomberos podría compararse con el cable que hace funcionar una gran máquina, como una prensa o un torno industrial. Y el grifo de casa podría compararse con el cable que va desde la toma de pared hasta nuestra tostadora.

Tabla 1.1 – ¿Cuánta corriente se necesita?

tren o tranvía 100 ÷ 500 A horno 10 ÷ 20 A batidora 1 A lector mp3 0,1 A

La corriente eléctrica se mide con un amperímetro, que, a diferencia de lo que hemos visto, no mide el número de electrones que pasan por un cable, sino que utiliza un sistema distinto, aunque muy eficaz. El clásico amperímetro es un instrumento electromecánico dotado de una lanceta y una escala graduada y se encuentra normalmente en los cuadros eléctricos industriales. Para nuestras medidas, utilizaremos un multímetro o tester, un instrumento que puede ejecutar distintos tipos de medidas eléctricas, entre las cuales la de corriente.

image

Figura 1.9 - Amperímetro con lanceta.

Corriente alterna y continua

La corriente que utilizaremos en nuestros circuitos es de tipo continuo: su valor se mantiene constante en el tiempo. Es la corriente que puede proporcionar una batería o un alimentador. En los libros ingleses se indica también con las letras DC (Direct Current). La corriente alterna es una corriente que varía periódicamente en el tiempo: circula en una dirección y, después, en la dirección opuesta. Volviendo una vez más a la analogía del agua, es como si tuviéramos una bomba rotativa que empuja el agua, dentro de una tubería, en una dirección y en otra.

image

Figura 1.10 - Analogía hidráulica para la corriente alterna: una bomba de pistón empuja el agua en un sentido y en otro, periódicamente.

La corriente que llega a nuestras casas es de este tipo y fue utilizada por primera vez por el genial Nikola Tesla. A finales de 1800, las primeras empresas de distribución eléctrica decidieron utilizar este tipo de corriente porque es más fácil de distribuir y es menos peligrosa que la corriente continua, si bien tiene un voltaje elevado. La corriente alterna que encontramos en las tomas de corriente domésticas tiene un valor que varía cíclicamente en el tiempo, pasando de valores negativos a positivos, y se indica con las letras AC (Alternate Current). En Europa cumple cincuenta ciclos por segundo (50 hercios), mientras que en los Estados Unidos y en otros estados de América del Sur cumple los sesenta ciclos por segundo. La corriente alterna no se puede almacenar, a diferencia de la corriente continua, y origina una serie de fenómenos secundarios que la hacen un poco más complicada de tratar: se necesitan ciertos conocimientos matemáticos y un poco más de experiencia. En este libro no la trataremos, pero si os interesa profundizar en este tema, os aconsejo que consultéis un libro de electrotécnica.

Tamaños y multiplicadores: números de ingenieros

En electrónica se utilizan números muy variados; en una misma fórmula podemos tener tamaños enormes combinados con otros microscópicos. Para realizar cálculos, deberíamos utilizar números con muchísimos ceros. Para evitar escribir cada vez todos estos números deberíamos utilizar la notación exponencial con base diez: un tema para ingenieros y científicos que a cualquiera de nosotros podría provocarnos dolor de estómago. Por ejemplo, el número 100 podría escribirse como 10·10 o bien con la forma 102 (diez elevado a dos). 1.000 se convierte en 10·10·10 que se escribe como 103 (diez elevado a tres). 200 pasa a ser 2·102. Los números con coma pueden escribirse así:

image

Aunque esta manera de expresar los números es un poco extraña, ayuda muchísimo en los cálculos, porque no debemos indicar todos los ceros y porque los exponentes tienen interesantes propiedades, entre las cuales la que reza que si dos números tienen la misma base (el diez) y se insertan en la misma multiplicación, sus exponentes pueden ser sumados:

image

En una división, los coeficientes de números con la misma base se pueden restar:

image

Del ejemplo anterior, podemos entender que si un número con exponente se encuentra en el denominador de una fracción, puede ser colocado en el numerador cambiándole el signo al exponente:

image

Para hacerlo todavía más sencillo, los electrónicos decidieron eliminar también los exponentes y utilizar abreviaturas. En los libros y artículos de electrónica podemos encontrarnos con siglas como las siguientes:

image

Para los tamaños que van más allá de la unidad tenemos:

image

La tensión o diferencia de potencial

Muchas veces hemos formulado preguntas como estas: “¿A cuánto funciona este electrodoméstico?, A 220 V, o bien ¿Con qué baterías funciona este juguete?, Utiliza una pila de 9 V”.

Recuperemos la metáfora del agua, la cual puede circular si existe un desnivel. Por razones similares, la corriente eléctrica puede circular si existe un desnivel o una diferencia de potencial, que es como decir que dos extremos se sitúan en alturas distintas.

image

Figura 1.11 - El agua puede circular por una tubería si existe un desnivel entre sus dos extremos.

Si tomamos un tubo muy largo, lo ponemos en el suelo y lo llenamos de agua, esta saldrá por el otro extremo con poca fuerza. Ahora bien, si elevamos uno de los dos extremos, el agua saldrá con mucha más fuerza. Cuanto mayor sea el desnivel, mayor será la fuerza (o presión) a la salida del tubo. Podemos imaginarnos la tensión como el desnivel desde el cual cae el agua: es como la altura de una cascada de agua.

Supongamos que podemos acumular un cierto número de cargas positivas en un punto y colocar a cierta distancia un segundo grupo de cargas negativas. Entre ambos grupos de cargas se crea un campo eléctrico, del mismo modo que, si pusiéramos una pequeña carga positiva en este campo, esta se desplazaría hacia el grupo con signo negativo modificando su energía. Una carga eléctrica, quieta en un campo eléctrico, posee un determinado nivel de energía potencial solo por el hecho de estar en un punto preciso y de permanecer quieta en él. La energía potencial depende únicamente de la posición, de nada más (por eso se asemeja a la altura a la cual ponemos el tubo con el agua). El voltaje se obtiene dividiendo la energía potencial entre la cantidad de carga de la partícula y expresa la cantidad de energía necesaria para desplazarla. Se habla de diferencia de potencial porque resulta difícil realizar medidas absolutas y es más fácil hacer comparaciones y proporcionar medidas relativas.

La unidad de medida de la tensión es el voltio, del nombre del conde y científico Alessandro Volta (1745–1827), famoso también por ser el inventor de la pila y descubrir el metano.

image

Figura 1.12 - Alessandro Volta (1745–1827).

Las diferencias de potencial se miden con un voltímetro. Existen voltímetros electromecánicos con galvanómetro, que, normalmente, se encuentran en los cuadros eléctricos. Nosotros utilizaremos un práctico multímetro o tester, un instrumento que puede ejecutar distintos tipos de medidas eléctricas, entre las cuales se encuentra la de la tensión.

Si queremos utilizar un tubo muy largo para que salga el agua con cierta fuerza o cubrir distancias largas, es preciso que la diferencia de altura entre los extremos del tubo sea importante. Es lo que ocurre en las centrales eléctricas que generan corriente de alto voltaje (incluso cientos de miles de voltios), para después introducirla en una línea de alta tensión que viaja cientos de quilómetros. Al final de la línea la tensión se reduce con un transformador antes de ser transportada hasta las casas o las fábricas.

image

Figura 1.13 – Para recorrer grandes distancias es preciso que la tensión sea muy elevada.

La tensión de la corriente que llega a nuestras casas y que utilizan la mayor parte de los electrodomésticos es de unos 220 voltios. Los pequeños electrodomésticos utilizan tensiones inferiores, de 12 o 15 voltios. En los cables USB que conectamos a nuestro ordenador tenemos 5 voltios. Las diferencias de potencial elevadas son muy peligrosas (aunque por norma general cuenta la combinación de corriente y tensión), porque las tensiones elevadas pueden superar obstáculos e, incluso, perforar capas de aislante: pensemos en los rayos que atraviesan miles de metros de aire para acabar en el suelo.

Para evitar que un circuito quede dañado, y que nosotros mismos nos hagamos daño, es necesario comprobar que:

la tensión sea correcta;

exista suficiente corriente.

La alimentación de un circuito la proporciona un generador, término mediante el cual se designa un alimentador, una batería o cualquier cosa capaz de proporcionar corriente o tensión. La tensión que proporciona el generador y la que necesita el circuito deben coincidir. Supongamos que el alimentador sea una pequeña cascada de agua y el circuito, un pequeño molino. Si la rueda del molino es demasiado grande, la cascada no conseguirá llenar la rueda del molino y hacer que se mueva. En cambio, si la cascada es demasiado alta y la rueda del molino es muy pequeña, la caída del agua dañará o destruirá por completo la rueda.

image

Figura 1.14 - Para hacer rodar la rueda del molino, la cascada debe tener la altura adecuada.

Si la tensión del alimentador es inferior a la tensión que necesita el circuito, este no funcionará. Si intentamos alimentar un dispositivo eléctrico que necesita tres pilas de 1,5 voltios con una única pila, difícilmente el dispositivo dará señales de vida. Si conectáramos el dispositivo a cuatro o cinco pilas, seguramente lo quemaríamos.

image

Figura 1.15 – Para funcionar, cada dispositivo necesita una tensión adecuada.

Todo circuito consume una cantidad determinada de corriente. Si le proporcionamos poca corriente, el circuito no funcionará o se encenderá de modo incorrecto. Imaginemos que estamos en la orilla del Po. Por este río circula una gran cantidad de agua. Sumergimos un tubo en el río y sacamos agua para hacer girar nuestro molino. ¿Qué ocurrirá? El tubo se llenará con el agua suficiente para hacer trabajar la rueda del molino.

image

Figura 1.16 – Un río con una gran capacidad puede proporcionar toda el agua necesaria.