Página traducida.

Capitulo 1: Introducción

Prototipando con Arduino

La plataforma de prototipado Arduino está basada en el simple principio de utilizar entradas y salidas. Las entradas generalmente son algún tipo de botón, pulsador o sensor. Un botón solo tiene dos estados accionado o no accionado pero con un sensor se pueden medir un amplio rango de magnitudes del entorno. Sonido, movimiento, temperatura y luz pueden ser procesados por Arduino y si puedes pensar en alguna otra variable física que desees medir la cuestión es encontrar un sensor para ello.

De la misma forma que se pueden conectar una gran cantidad de entradas se pueden conectar una gran cantidad de salidas. Un salida puede ser desde algo tan sencillo como una luz, movimiento o calor a tipos de salidas más complejas como el envío de un SMS o apagar un aparato de TV en la otra punta del mundo. En muchos casos ya existe una solución técnica para su prototipo, solo hay que encontrarla.

Como Arduino es esencialmente un microcontrolador todo lo que se le conecte debe ser eléctrico. Lo bueno es que prácticamente todo puede ser convertido en una señal eléctrica. Por ejemplo, cuando un humano es tocado por algo se envía una señal al cerebro para que este perciba la sensación que se produce en cualquier parte de su cuerpo. De la misma manera podemos hacer una conexión eléctrica desde Arduino y hacer que vuelva a el. Si algo interrumpe esa conexión eléctrica una señal se envía de vuelta al cerebro del Arduino para decirle que no hay electricidad en la conexión.

Heckear: ahorrar dinero, aprender más

Una vez que has comenzado a jugar un poco con la fabricación de prototipos electrónicos propios pronto te darás cuenta que tener una gran cantidad de componentes electrónicos cuesta una buena cantidad de dinero. Por ello la mayoría de la gente interesada en el prototipado electrónico tiene un pie puesto en el hackeo de hardware. El hackeo de hardware, también conocido como cacharreo, describe la actividad de tomar productos electrónicos comerciales para “ver su interior”. El cacharreo no es una buena forma de aprender más sobre como funcionan los aparatos electrónicos, pero es una forma eficiente de ahorrar dinero. Un montón de componentes que puedes necesitar para tus proyectos los puedes encontrar en lo que normalmente se considera chatarra. Una impresora vieja tiene un motor que todavía puede ser funcional, un viejo teléfono tiene baterías y pequeños motores vibradores y los juguetes baratos electrónicos son, prácticamente, minas de oro. No hay una forma buena o mala de hacer hackeo o cacharreo, lo que significa que tampoco hay unas instrucciones oficiales sobre como hacerlo. Pero internet está llena de información y trucos sobre cacharreo, además la página web de Arduino, www.arduino.cc/playground, www.makezine.com y www.instructables.com son buenas formas de empezar.

Como funciona la electricidad

Hay algunas cosas que debes saber sobre la electricidad para hacer tus propios prototipos electrónicos. Lo primero es que la electricidad siempre necesita volver a su punto de origen para hacer un circuito.

En el siguiente ejemplo tenemos conectado un LED a una batería con un pulsador: la energía de la batería viajará a través del cable hasta una patilla del LED y saldrá por la otra hacia el pulsador y volverá a la batería.

Un pulsador normalmente conecta una pequeña pieza de metal con otra cuando es accionado. Si el pulsador no es accionado no pasa nada, pero cuando se acciona se tocan las piezas metálicas y la energía de la batería puede volver allí de donde salió. Cuando regresa a la batería el LED se enciende. En el ejemplo anterior la batería es de 3.3v y el LED puede manejar 3.3v. Si conectamos una batería de 9v en su lugar el LED se quemará. Esto se debe a que la electricidad tiene diferentes voltajes y amperajes y estos viajan con resistencia. Imagina la electricidad como si fuese agua. La velocidad del agua puede ser lo mismo que el voltaje y la cantidad de agua que se mueve puede ser lo mismo que los amperios. Vamos a decir que nuestra agua está pasando por una manguera de jardín, que es la analogía más utilizada para entender la resistencia eléctrica. Entonces, conectando el LED a la batería de 9v viene a ser como bombear mucha agua a mucha presión por la manguera de jardín. Si la manguera de jardín no resiste el paso de toda el agua estallará. Es muy raro que las cosas exploten cuando hacemos prototipos con Arduino ya que la mayoría de prototipos utilizan corrientes tan pequeñas que no pueden ser siquiera consideradas peligrosas. Pero aún así nunca es una buena idea conectar más potencia de la que puede manejar a algo ya que hay muchas probabilidades de que se rompa. Por ello hay que seguir siempre las recomendaciones sobre limitación de potencia de nuestros componentes. Se pueden encontrar estas en el “datasheet” del componente. Un datasheet se puede encontrar online buscando el número del componente combinado con la palabra ‘datasheet’.

Capítulo 2: Hardware

Arduino

Arduino es una placa microcontroladora de diseño abierto utilizada para prototipado electrónico. Arduino puede recibir datos de sensores para recoger información de su entorno y se puede utilizar para controlar otros dispositivos electrónicos como luces, motores y mucho más. Hay diferentes versiones de Arduino disponibles, la más común es la última versión de la placa Arduino estándar, la cual es como esta:

El conector USB (1) se utiliza para conectar Arduino al ordenador. La placa Arduino se alimenta a través del cable USB y mientras está conectada se puede subir código y establecer comunicaciones desde y hacia la placa Arduino.

El conector (2) se utiliza cuando no quieres alimentar tu Arduino a través del cable USB. En su lugar se puede utilizar un transformador normal (adaptador de corriente) en el rango de 6V a 20V. Sin embargo se recomienda el uso de uno que proporcione un voltaje de entre 7V y 12V, pues el uso de voltajes más altos puede causar daños en el regulador interno de la placa. Arduino también puede funcionar con baterías. En modelos antiguos como la Duemilanove es necesario cambiar manualmente un selector de alimentación. Esto se hace cambiando un puente (3) situado entre el conector USB y el conector de alimentación. Si quieres alimentar tu Arduino por USB sitúa el puente entre los dos pines más cercanos al conector USB, en caso de querer alimentarlo desde una fuente de alimentación externa sitúa el puente entre los dos pines más cercanos al conector de alimentación. En las versiones desarrolladas tras la Duemilanove, el Arduino conmuta automáticamente entre un tipo u otro de alimentación. En un Arduino hay 13 pines digitales (4) y estos pueden ser utilizados indistintamente como entrada o como salidas dependiendo de como las establezcamos mediante la programación: Los pines analógicos (5) funcionan únicamente como entradas pero pueden leer un rango de información más amplio que los pines digitales: A la izquierda de los pines digitales se encuentran los pines de alimentación (6). Desde aquí se pueden extraer 3.3V o 5V. El pin marcado como Vin da el mismo voltaje que entra por el conector de alimentación, esto es, si alimentas con 12V a través del conector de alimentación obtendrás el mismo voltaje en ese pin. Aquí se pueden encontrar dos pines GND.

El pulsador de reset (7) se utiliza para inicializar cualquier programa en Arduino y que vuelva a empezar. En Arduinos más antiguos que el Diecimila el botón de reset debía ser pulsado cada vez que se quería subir código.

Para los ejemplos de este libro se ha utilizado una Arduino estándar, ya que en nuestra opinión es la mejor placa para prototipar. Cuando estés cerca de finalizar tus prototipos puede ser útil migrar a alguno de los modelos más pequeños para ahorrar espacio. Estas otras placas trabajan de la misma forma y cualquier programa escrito para una Arduino estándar funcionará en cualquier otro modelo de Arduino.

Los siguientes son dos ejemplos de placas Arduino disponibles.

LilyPad

La Arduino LilyPad es un microcontrolador diseñado para “vestibles” y e-textiles. Puede ser cosida sobre tela y, utilizando hilo conductor, alimentarla desde una fuente de alimentación, conectarle sensores y actuadores. Esta placa esta basada en el chip ATmega328V (la versión de bajo consumo del ATmega328). La Arduino LilyPad fue diseñada y desarrollada por Leah Buechley y SparkFun Electronics. El + de la Lilypad acepta voltajes de 2.7V a 5.5V.

Alimentarla con más de 5.5V puede destruir la Lilypad. Siempre hay que tener cuidado a la hora de conectar baterías, las cuales pueden dar voltajes iniciales superiores a los especificados en sus etiquetas. Es un hábito muy recomendable medir el voltaje de las baterías antes de conectarlas

Arduino Mini

La Arduino Mini es un pequeño micro controlador basado en el ATmega168, utilizado para su montaje en placas de prototipado y cuando el espacio está limitado. Tiene 14 entradas/salidas digitales (6 de las cuales puedes ser utilizadas como salidas PWM), 8 entradas a analógicas y un cristal oscilador de 16 MHz. Puede ser programado mediante un adaptador mini USB o con un adaptador de USB o RS232 a TTL serie (www.arduino.cc). Si se eliminan los pines macho de esta placa puede ser cosida igualmente a un trozo de tela mediante hilo conductor.

Componentes electrónicos básicos para prototipado textil

"Hilo de coser conductor"

Este tipo de hilo parece hilo de coser normal de color gris pero tiene la particularidad de poder transportar corriente eléctrica para alimentación o para señales. El hilo de coser conductor más común es de metal plateado, esto significa que una capa de metal se ha puesto sobre el hilo textil y esta capa es conductora. El hilo de coser conductor puede utilizarse igual que los cables normales y es muy apropiado para el prototipado “blando”.

Los hilos de coser conductores vienen en diferentes grosores y con diferentes resistencias. La resistencia en el hilo baja la presión del voltaje en la fuente de alimentación que estés utilizando. Esto significa que menos corriente puede pasar a través del hilo. La resistencia del hilo puede ser calculada por metro o medida con un multímetro. Recuerda el simple principio que a mayor longitud mayor resistencia. Con hilos de coser conductores y tela el tamaño de la superficie también influye en la resistencia. Una gran superficie conductora tendrá una menor resistencia, esto significa que para la misma longitud un hilo de coser más grueso tendrá menor resistencia que uno más fino. Si la resistencia del hilo de coser conductor se hace demasiado alta para tu circuito y tu diseño requiere un gran recorrido puede ser una buena idea utilizar cinta de tela conductora o combinar múltiples hilos conductores en un solo hilo de coser más grueso.

Cuando uses hilo conductor con una máquina de coser siempre es más sencillo utilizarlo como hilo inferior - este es el llamado hilo de la canilla. Alguno hilos de coser conductores se pueden utilizar como hilo superior, pero asegúrate de ajustar correctamente la tensión. El uso de hilo de coser conductor no apropiado para máquina de coser/bordar también puede funcionar, pero el hilo puede romperse y como resultado dar algunas imperfecciones y más trabajo para terminar que si el hilo de coser utilizado hubiese sido para máquina.

Algunos hilos de coser constan de un hilo metálico unido a un hilo textil resistente al calor o son puramente metálicos. Estos cables se pueden soldar directamente a una superficie metálica como un botón metálico o una cremallera. Este tipo conexiones son generalmente más rápidas y más fiables que las conexiones cosidas.

“Resistencias”

Una resistencia es un componente electrónico diseñado para oponerse al paso de una corriente eléctrica produciendo una caída de voltaje entre sus terminales en proporción a la corriente. La resistencia siempre se mide en Ohmios y también puede ser representada por el símbolo Ω. Los múltiplos mas comunes para los cálculos de resistencias son: el Kilo Ohm (kΩ), el cual equivale a 1000 Ω. 
Mega Ohm (MΩ), lo que es igual a 1,000,000 Ω.

Las resistencias están codificadas con colores, pueden tener 4, 5 o 6 bandas de color y son estas bandas de color las que te indicarán su valor.

En una resistencia de 6 bandas de color las 3 primeras son dígitos que siguen el siguiente esquema de color:

negro 0 marrón1
 rojo 2
 naranja 3 amarillo 4
verde 5 azul 6
 violeta 7 gris 8
 blanco 9

Si las tres bandas fueran marrón, rojo y azul deberían interpretarse como 126. La cuarta banda es el multiplicador, multiplicas los tres primeros dígitos por esta banda para obtener el valor total de tu resistencia. La cuarta banda sigue el siguiente esquema de color:

plata 0.01
 oro 0.1 negro 1
 marrón10
 rojo 100
naranja 1k
 amarillo 10k
 verde 100k
 azul 1M
 violeta 10M

La quinta banda es la tolerancia de la resistencia y la sexta banda se utiliza para su coeficiente de temperatura. Es difícil aprender a calcular resistencias mentalmente, por ello recomendamos el uso de calculadoras online para estar seguros, si buscas en google “calcular resistencia colores” encontrarás montones de ellos. Otra forma – más rápida – de leer el valor de una resistencia es leerla directamente con un multímetro.

"LED"

Un diodo emisor de luz (LED por sus siglas en ingles) es un semiconductor que se enciende cuando una corriente eléctrica lo atraviesa en el sentido adecuado. Hay tres formas de encontrar el sentido adecuado de un LED, la primera es mirando sus patillas, una es más larga. Esta patilla más larga es la que se debe conectar a la fuente de alimentación y la patilla corta debe conectarse a un pin GND (1). La segunda forma es de averiguar el sentido de un LED es mirar el borde del encapsulado plástico (2), en el borde inferior del encapsulado debe haber una porción plana o dentado.

La patilla cercana al borde plano va a GND y la otra patilla va a power. La tercera forma es orientar el LED hacia una luz y mirar en su interior, hay dos terminales, uno pequeño y otro grande (3). La patilla que va al terminal pequeño debe ser conectada a power y la patilla del terminal grande va a GND.

Los LEDs más comunes se alimentan en torno a los 3.3V y los 20mA. Nótese que Arduino proporciona siempre 5V en los pines digitales, por lo que se hace obligatorio el uso de una resistencia de 220 Ω para reducir el voltaje y no quemar el LED. Para estar seguro de los requerimientos de sus LEDs vea los correspondientes datasheets, esta información siempre está disponible para cualquier componente electrónico que compres. Si necesitas calcular la resistencia necesaria para tus LEDs te recomiendo que utilices un calculador online de resistencias. 
(www.dannyg.com/examples/res2/resistor.htm).

"Telas conductoras"

Las telas conductoras tienen la cualidad de conducir la electricidad. Normalmente son una combinación de metales altamente conductores y telas ligeras. Normalmente se utilizan como material de protección.

"Sensor de inclinación"

Un sensor de inclinación puede detectar si un objeto se esta inclinando hacia un lado o hacia otro. El tipo más barato de sensor de inclinación también se puede utilizar para detectar de movimiento. El inconveniente de este tipo de sensor de inclinación es que funcionan como un pulsador, por lo que no puede decir en que dirección el objeto se está inclinando o cuanto, solo que se está inclinando. Dentro del sensor de inclinación hay una pequeña bola metálica en el interior de una carcasa, cuando la bola toca los laterales de la carcasa metálica cierra el circuito y podemos leer el movimiento de inclinación desde la placa Arduino.

"Sensor LDR"

La LDR (por las siglas en ingles de Light Dependent Resistor) también llamada foto-resistencia. Una LDR esta hecha de un semiconductor de muy alta resistencia. Una LDR es similar a una resistencia normal con la excepción de que una resistencia normal tiene un valor fijo y la resistencia de una LDR depende de la luz que haya en sus alrededores. Es difícil determinar una cantidad exacta de luz en los valores proporcionados por una LDR, pero son buenas para detectar luz en un sentido más amplio - si está oscuro o si hay luz.

"NTC sensor"

El sensor NTC (por las siglas de su denominación en inglés Negative Temperature Coefficient) también es conocido como termistor. Un termistor es un tipo de resistencia cuyo valor cambia de acuerdo con la temperatura. Es difícil medir temperaturas con precisión con un termistor, pero permiten determinar si algo está caliente o frío.

"Motores"

Si quieres que algo se mueva probablemente necesitas algún tipo de motor. Un motor es más o menos un actuador que transforma la electricidad en movimiento. Cuando trabajas con prototipos “vestibles” ocultos los motores pueden ser un problema si necesitas mucha fuerza. La mayoría de los motores siguen un principio muy simple “grandes fuerzas, grandes motores”, no obstante hay montones de pequeños motores que nos será útiles para nuestro tipo de aplicaciones y con un poco de creatividad se pueden integrar bien en nuestros prototipos.

Hay tres tipos principales de motores: los motores DC, los servos y los motores paso a paso. No hemos incluido ejemplos de motores paso a paso en este libro. Aunque los motores paso a paso son buenos para rotación completa y por pasos no son apropiados para su implementación en tecnología “vestible” ya que son muy pesados para su tamaño y muy voluminosos de forma. Si estás considerando utilizar un motor es recomendable que busques un motor DC o un servo que se adapte a tu prototipo.

"Cables"

Los cables son finos hilos metálicos conductores recubiertos de plástico en un amplio rango de colores y tamaños. Es bueno prototipar siguiendo un código de colores de forma que los uses de forma consistente. Comúnmente se usa el negro para GND y rojo para PWR, para el resto de pines se puede utilizar cualquier otro color.

Capítulo 3: Software

El software usado para escribir programas para tu placa Arduino es llamado Arduino IDE (Integrated Development Enviroment). El Arduino IDE está basado en otro lenguaje de programación open-source llamado Processing, el cual es usado para programar imágenes, animaciones e interacciones con una computadora. El Arduino IDE parece muy similar al Processing IDE: Arriba está el Processing IDE y debajo puedes ver el Arduino IDE.

El lenguaje de Processing forma el molde para el lenguaje de Arduino. El lenguaje de Arduino está basado en comandos fáciles de usar. Cada vez que tu presionas el botón de Upload en el Arduino IDE, éste traduce tu programa a código en C y la placa Arduino puede entender tu programa. El lenguaje está construido de esta forma por que la programación en C es difícil para quienes programan por primera vez.

Instalando el software

El software se obtiene en el sitio wwww.arduino.cc en el apartado downloads. Una vez que has encontrado la página de descarga, escoge la versión correcta para tu sistema operativo. Cuando hayas copiado el software, descomprime el paquete y coloca el directorio Arduino en tu escritorio.

Esta guía solo contempla la placa Arduino Uno. Si utilizas una versión más antigua pega un vistazo a la web de Arduino para obtener información sobre como instalarla.

“Para usuarios de XP”

Después de efectuar los pasos de arriba, toma tu cable USB y conéctalo a un puerto USB en tu computadora. Windows tratará de instalar el controlador pero fallará. No te preocupes, esto es normal.

Una vez que el proceso de instalación falló, abre el Menú Inicio y haz clic derecho en Mi PC y selecciona Propiedades. Esto abrirá la ventana de Propiedades del Sistema, selecciona la pestaña Hardware y en la parte superior derecha encontrarás la opción Administrador de Dispositivos. Haz clic en Administrador de Dispositivos y abrirá otra ventana con una lista de dispositivos en tu computadora. Navega a Puertos (COM y LPT), y debes encontrar un dispositivo llamado ‘Arduino UNO (COMxx)’. Haz clic derecho en él y selecciona la opción ‘Actualizar Controlador’. Esto abrirá una ventana de instalación donde tu deberás elegir la opción Instalar desde una lista o ubicación específica’. Éste paso final consiste en dirigir el instalador hacia el directorio que está adentro del directorio Arduino en tu computadora. Asegúrate que el directorio seleccionado se llame Driver y no FTDI USB Driver que es otro directorio dentro de Driver. Presiona siguiente y windows finalizará la instalación. Algunas veces Windows muestra un mensaje de advertencia el cual puedes ignorar y elegir la opción de instalar el controlador.

“Para usuarios de OSX”

Monta la imagen de disco (arduino-00xx.dmg) y una ventana aparecerá. En esta ventana verás dos iconos, uno que dice Arduino y una carpeta que dice Aplicaciones. Solo arrastra el icono de Arduino sobre el icono de Aplicaciones dentro de la ventana y haz terminado. No se necesitan controladores para las placas Uno. Después de que tu instalación está completa, deberías encontrar el software Arduino dentro de tu directorio de aplicaciones.

“Para usuarios de Linux”

El proceso de instalación para Arduino en Linux puede ser diferente de una distribución a otra. Por favor consulta la página web de Arduino y/o página web de tu distribución para información actualizada sobre la instalación para tu distribución.

Capítulo 4: Utilizando el IDE


El IDE consiste en dos grandes espacios, uno blanco y otro negro. El espacio blanco es donde escribirás tu programa. Ten en cuenta que cualquier cosa que escribas ahí se considerará código si no la "comentas". Para aprender más sobre como esconder texto en tu código, vete a la página 80.

El espacio negro es donde recibirás los errores y mensajes de confirmación. Encima de el espacio blanco encontrarás los botones del IDE. Con estos botones controlas la mayoría de las acciones en el IDE.

El primero de ellos es el botón Compilar. Este botón comprueba tu programa para ver si hay cualquier error lógico en tu código. El segundo botón es el botón Parar. Este botón se utiliza para apagar el monitor del puerto serie. El compilador se tomará el tiempo que necesite, pero no te preocupes, compilar normalmente solo lleva unos cuantos segundos dependiendo como de grande sea tu programa.

El tercer botón es el botón Nuevo Sketch. En el IDE Arduino todos los programas que tu abres o escribes se llaman sketches. El botón Nuevo Sketch abrirá un nuevo sketch, pero te preguntará primero si quieres guardar el sketch actual. El cuarto botón es el botón Abrir Sketch. Este botón abre la carpeta de sketches y ahí puedes elegir que sketch abrir de los que ya estaban guardados.

El quinto botón es el botón Guardar Sketch. Este botón guarda el actual sketch en una carpeta llamada sketchbook. El sexto botón es el botón Subir. Este botón subirá el programa actual a tu placa Arduino asumiendo que no hay ningún error en tu código. El botón Subir primero intentará compilar tu código y si encuentra cualquier error, parará de compilar y aparecerá un mensaje de error en la ventana negra del IDE, informándote cual es el problema. A continuación el IDE resaltará la línea de código que está causando el problema.

El ultimo botón es el botón Monitor de puerto Serie. Este botón abrirá el monitor de puerto serie en una nueva ventana, en la cual encontrarás una lista desplegable, un botón de enviar y un campo de texto. Para parar el monitor, utiliza el botón Parar. En la parte superior del IDE encontraras menús desplegables como en cualquier otro programa.

En el menú Archivo encontrarás todas las funciones de los botones, tu carpeta sketchbook y las preferencias. En el menú Edición encontraras las funciones y comandos para deshacer, rehacer, cortar, copiar, pegar, seleccionar todo, buscar, y buscar siguiente. En el menú Sketch puedes verificar/compilar tu código, parar, importar librerías, mostrar la carpeta sketchbook y añadir un nuevo archivo. Las dos funciones mas importantes del menú Herramientas son el modelo de placa y el puerto serie. La opción de modelo de placa es donde seleccionas el tipo de Arduino que vas a conectar. En puerto serie es donde seleccionas el puerto USB donde tienes conectado tu Arduino. La manera mas fácil de determinar en que puerto está tu placa, ya que puede aparecer mas de un puerto en el menú, es desenchufar tu placa y fijarte que puertos están conectados. Una vez hecho esto, conecta de nuevo tu placa y el puerto nuevo que aparecerá en la lista es tu placa Arduino.

Subiendo código

Para comprobar si tu software está bien instalado abre el código de ejemplo blink que encontraras en:

Archivo/sketchbook/examples/digital/blink.

Una vez tengas el código, asegúrate de que tienes seleccionado correctamente el tipo de placa y el puerto serie en el menú Herramientas. Haz click en el botón Subir y si todo va sin ningún problema, el LED de la placa cercano al pin 13 deberá empezar a parpadear encendiéndose y apagándose con un retardo de un segundo.

Share