Guía de Usuario de Arduino
Rafael Enríquez Herrador
13 de noviembre de 2009
I.T.I. Sistemas
Universidad de Córdoba
[email protected]
Este trabajo está publicado bajo la licencia
Creative Commons Attribution-Noncommercial-Share Alike 3.0.
Para ver una copia de esta licencia, visita:
http://creativecommons.org/licenses/by-nc-sa/3.0/
O envía una carta a:
Creative Commons
171 Second Street, Suite 300
San Francisco, California, 94105, USA
2
Índice general
1. PREFACIO
2. INTRODUCCIÓN
2.1. ¾Qué es ARDUINO? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2. ¾Por qué ARDUINO? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
8
8
8
3. HARDWARE
10
3.1. Placas E/S . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2. Arduino Diecimila . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.1. Visión General
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.2. Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.3. Alimentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.2.4. Memoria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2.5. Entrada y Salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2.6. Comunicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2.7. Programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2.8. Reseteo Automático (Software)
. . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2.9. Protección de Sobrecarga del USB . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2.10. Características Físicas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4. SOFTWARE
4.1.
4.2.
16
Instalar el Software Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.1.1. Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1.2. MAC OS X (v. 10.3.9 o posterior) . . . . . . . . . . . . . . . . . . . . . . . . 23
4.1.3. GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Introducción al Entorno Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2.1. Barra de herramientas
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2.2. Menús . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2.3. Preferencias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5. COMENZANDO CON ARDUINO
30
5.1. Estructura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.2. Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.3. Tipos de datos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.4. Aritmética . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3
5.5. Constantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.6. Control de ujo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.7. E/S digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.8. E/S analógica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.9. Tiempo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.10. Matemáticas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.11. Aleatorio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.12. Serie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
A. Ejemplos de Aplicación con Arduino
45
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
A.1. Salida digital
A.2. Entrada digital
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
A.3. Salida PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
A.4. Entrada de potenciometro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
B. Esquemático de Arduino Diecimila
49
4
Índice de cuadros
3.1. Características técnicas de Arduino Diecimila . . . . . . . . . . . . . . . . . . . . . 12
5.1. Relación valor-salida con analogWrite() . . . . . . . . . . . . . . . . . . . . . . . . . 41
5
Índice de guras
3.1. Placa Arduino Diecimila (USB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.1. Descripción de componentes de la placa Arduino Diecimila . . . . . . . . . . . . . . 17
4.2. Conexión del cable USB a la placa Arduino
. . . . . . . . . . . . . . . . . . . . . . 18
4.3. Asistente para Nuevo Hardware MS-Windows - Paso 1 . . . . . . . . . . . . . . . . 18
4.4. Asistente para Nuevo Hardware MS-Windows - Paso 2 . . . . . . . . . . . . . . . . 19
4.5. Asistente para Nuevo Hardware MS-Windows - Paso 3 . . . . . . . . . . . . . . . . 19
4.6. Asistente para Nuevo Hardware MS-Windows - Paso 4 . . . . . . . . . . . . . . . . 20
4.7. Entorno Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.8. Administrador de Dispositivos MS-Windows . . . . . . . . . . . . . . . . . . . . . . 21
4.9. Menú de selección de puerto del Entorno Arduino . . . . . . . . . . . . . . . . . . . 22
4.10. Menú de selección de placa del Entorno Arduino . . . . . . . . . . . . . . . . . . . . 22
4.11. Botón de subida de la rutina a la placa . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.12. Instalación de drivers en Mac OS-X . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.13. Conexión del cable USB a la placa Arduino
. . . . . . . . . . . . . . . . . . . . . . 24
4.14. Entorno Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.15. Menú de selección de puerto del Entorno Arduino . . . . . . . . . . . . . . . . . . . 25
4.16. Menú de selección de placa del Entorno Arduino . . . . . . . . . . . . . . . . . . . . 26
4.17. Botón de subida de la rutina a la placa . . . . . . . . . . . . . . . . . . . . . . . . . 26
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
A.1. Esquema de salida digital
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
A.2. Esquema de entrada digital
A.3. Esquema de salida PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
A.4. Esquema de entrada de potenciometro . . . . . . . . . . . . . . . . . . . . . . . . . 47
6
Capítulo 1
PREFACIO
Esta guía de usuario intenta ser una forma de acercarse al diseño y desarrollo de proyectos
basados en Arduino para aquellas personas que nunca han trabajado con él pero que poseen un
buen nivel en programación y electrónica. Por esta razón y para hacerlo fácil, se ha excluido mucha
información existente en Internet y otros manuales para centrarse en los aspectos más básicos de
las características y la programación de Arduino.
Otro de los objetivos de esta guía es organizar un poco la gran cantidad de información sobre
este tema existente en la red. Para ello casi toda la información se ha obtenido a través de la
fuente http://www.arduino.cc o de manuales basados en ella pero algo más estructurados. En
general, el texto es una traducción libre al español del documento original Arduino Programming
Notebook escrito y compilado por Brian W. Evans.
Por último, la guía está pensada para aquellas personas que no han usado Arduino pero les
gustaría iniciarse en este campo, por lo que si eres un usuario avanzado de esta plataforma no te
aportará nada nuevo (sólo te servirá para repasar conceptos básicos).
Espero que les sea de utilidad.
7
Capítulo 2
INTRODUCCIÓN
2.1.
¾Qué es ARDUINO?
Arduino es una plataforma de prototipos electrónica de código abierto (open-source) basada
en hardware y software exibles y fáciles de usar. Está pensado para artistas, diseñadores, como
hobby y para cualquiera interesado en crear objetos o entornos interactivos.
Arduino puede sentir el entorno mediante la recepción de entradas desde una variedad de
sensores y puede afectar a su alrededor mediante el control de luces, motores y otros artefactos. El
microcontrolador de la placa se programa usando el Arduino Programming Language (basado
en Wiring1) y el Arduino Development Environment (basado en Processing2). Los proyectos de
Arduino pueden ser autonomos o se pueden comunicar con software en ejecución en un ordenador
(por ejemplo con Flash, Processing, MaxMSP, etc.).
Las placas se pueden ensamblar a mano3 o encargarlas preensambladas4; el software se puede
descargar5 gratuitamente. Los diseños de referencia del hardware (archivos CAD) están disponibles
bajo licencia open-source, por lo que eres libre de adaptarlas a tus necesidades.
Arduino recibió una mención honoríca en la sección Digital Communities del Ars Electronica
Prix en 2006.
2.2.
¾Por qué ARDUINO?
Hay muchos otros microcontroladores y plataformas microcontroladoras disponibles para compu-
tación física. Parallax Basic Stamp, Netmedia's BX-24, Phidgets, MIT's Handyboard, y muchas
otras ofertas de funcionalidad similar. Todas estas herramientas toman los desordenados detalles
de la programación de microcontrolador y la encierran en un paquete fácil de usar. Arduino tam-
bién simplica el proceso de trabajo con microcontroladores, pero ofrece algunas ventajas para
profesores, estudiantes y acionados interesados sobre otros sistemas:
1Más información en http://wiring.org.co
2Más información en http://www.processing.org
3Más información en http://www.arduino.cc/en/Main/USBAssembly
4Más información en http://www.arduino.cc/en/Main/Buy
5Más información en http://www.arduino.cc/en/Main/Software
8
Barato: Las placas Arduino son relativamente baratas comparadas con otras plataformas
mi
Comentarios de: Guía de Usuario de Arduino (0)
No hay comentarios