Microtutorial Arduino



Documentos relacionados
AUTOMATIZACIÓN - CURSO: Práctica 3: Automatización de una Puerta de Garaje mediante Arduino

Tema: Introducción a la Plataforma Arduino

NOTA DE APLICACIÓN AN-P002. Programando Wiring con NXProg

Instrumentación con Microcontroladores. Ing. Rodrigo Alejandro Gutiérrez Arenas 22/03/12 al 29/03/12

Descripción Plataforma Cloud del proyecto CloudPYME

Microtutorial. Software Defined Networking

El reto de las nuevas fuentes de información

TEMA 5. ELECTRÓNICA DIGITAL

Tema 11: Instrumentación virtual

Ardunio. Control Led desde Lazarus

CAPÍTULO 3 VISUAL BASIC

EL MICROCONTROLADOR ARDUINO

Programación de videjuegos

Guía de usuario de la Relay Control Shield v1.0

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

SERVIDOR WEB PARA ACCESO EN TIEMPO REAL A INFORMACIÓN METEOROLÓGICA DISTRIBUIDA

E-learning: E-learning:

2.- PLATAFORMA ARDUINO (HARDWARE)

Ingeniería en Mecatrónica

Proyecto Scratch:

Instituto Tecnológico de Colima

Introducción a las redes de computadores

Programación de dispositivos Arduino Asignatura Sistemas Digitales!

Arduino I. José Manuel Ruiz Gutiérrez

Taller de Introducción a Arduino. Impartido por Abel Arellano y Omar Valencia. Duración: 5 sesiones de 4 horas del -- al --- Presentación:

COMUNIDAD DE FORMADORES DEL EMPRENDIMIENTO TECNOLÓGICO FEMPRETEC

VIII. CONTROL USANDO SIMULINK Y ARDUINO

PROYECTO DE ELECTRÓNICA

Los mayores cambios se dieron en las décadas de los setenta, atribuidos principalmente a dos causas:

La utilización de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al llamado modelo cliente-servidor.

La actividad se tiene aplicación en diferentes contextos docentes:

UNIVERSIDAD DE SALAMANCA

Administración del conocimiento y aprendizaje organizacional.

Objetivo: Introducción conceptual y aplicación básica de los lenguajes del lado del servidor.

Desarrollo de una plataforma de enseñanza de laboratorio para educación a distancia.

La presente tesis pretende que los estudiantes observen la teoría de las acciones de control

Mundo Azul.

Una computadora de cualquier forma que se vea tiene dos tipos de componentes: El Hardware y el Software.

Como utilizar un servo motor con Arduino.

RESOLUCIÓN DE INCIDENCIAS PROCURADORES

Uso del Shield Ethernet con Arduino

Guía de Instalación. Glpi

Las TIC: una apuesta para la mejora de la educación en la Comunidad de Madrid

App para realizar consultas al Sistema de Información Estadística de Castilla y León

Informática 1 Grado en Matemáticas

FP BÁSICA Ofimática y archivo de Documentos

Manual de uso. Aula Digital Santillana. (Versión tablet)

Introducción a Arduino

Modulo I. Introducción a la Programación Web. 1.1 Servidor Web.

Fuente:

CAPÍTULO 1 Instrumentación Virtual

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

La netbook puede ser administrada durante su uso en el aula mediante el Software de Gestión del Aula.

IMPLEMENTACIÓN DE LAS NTIC S EN LOS LABORATORIOS DE CIENCIAS NATURALES MEDIANTE EL USO DE LA PLATAFORMA ARDUINO- PHYSICSSENSOR

1. INTRODUCCIÓN Y OBJETIVOS

MECATRÓNICA LISTADO DE MATERIAS CONTENIDO PLAN:

Taller. Computación Física y Arduino. Exploracion de la Plataforma Arduino

Capítulo 5. Cliente-Servidor.

Introducción. Metadatos

PROGRAMA ARDUINO 2.0

CAPITULO IV CONCLUSIONES Y RECOMENDACIONES

Introducción a Arduino

Capítulo VI. Diagramas de Entidad Relación

Técnica 2(Instrumental)

Creación y administración de grupos de dominio

CAPITULO 3 VRML-JAVA-WWW

Unidad 9. Entornos de Desarrollo

AUTOMATIZACIÓN INDUSTRIAL III

Creación de Funciones de Conducción

ikimap. Comparte cartografía.

Informática y Programación Escuela de Ingenierías Industriales y Civiles Grado en Ingeniería en Ingeniería Química Curso 2010/2011

Capítulo 3. Análisis y Diseño

Una computadora es un dispositivo electrónico, operando bajo el control de las instrucciones almacenadas en su propia unidad de memoria.

Manual de uso básico de la aplicación

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

Metodologías de diseño de hardware

Utilización del sistema operativo GNU/ Linux en las netbooks

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

Desde el punto de vista físico en un ordenador se pueden distinguir los siguientes elementos:

Workflows? Sí, cuántos quiere?

Algunas posibilidades Low Tech para la producción de Arte Electrónico

Software Computacional y su clasificación

Tema 16 ELECTRÓNICA DIGITAL LENGUAJES DE DESCRIPCIÓN DE LOS SISTEMAS DIGITALES (PARTE 1)

Soporte Técnico de Software HP

Anexo I. Gadgets y Widgets

Prezi: editor de presentaciones

Es el conjunto de programas y procedimientos ejecutados en un computador, necesarios para hacer posible la realización de una tarea específica.

Capítulo 9. Archivos de sintaxis

ArduLab. 1. Qué te pasa Nerea? 2.Este robot no funciona bien y no sé que le pasa

"Diseño, construcción e implementación de modelos matemáticos para el control automatizado de inventarios

Educación y capacitación virtual, algo más que una moda

Se ha confeccionado una aplicación sencilla para poder probar el interfaz de gestión explotación de MEGA, Modelo Estandarizado de Gestión de Agua.

INNOVACIÓN PARA UN MUNDO CAMBIANTE DÓNDE NACE ESTE PROGRAMA? QUIÉN HIZO ESTE PROGRAMA?

El control de la tesorería consiste en gestionar desde la aplicación los cobros y pagos generados a partir de las facturas de venta y de compra.

Sistemas de información

PRUEBAS DE SOFTWARE TECNICAS DE PRUEBA DE SOFTWARE

Implantar el iphone y el ipad Apple Configurator

UNIDADES DE ALMACENAMIENTO DE DATOS

Plataforma Educativa Manual del Docente Nivel II Módulo 3 Wiki

Control por Computador. Manual de arduino. Jorge Pomares Baeza. Grupo de Innovación Educativa en Automática 2009 GITE IEA

Transcripción:

Microtutorial Arduino

ii

Arduino Abstract Arduino es, probablemente, la plataforma más popular del ámbito del hardware libre. En esta plataforma se combinan el hardware propiamente dicho, placas y shields, con el software (sketches) y su entorno de desarrollo. Este microtutorial repasa los conceptos fundamentales de Arduino y sus elementos constituyentes. Hardware libre Arduino es, quizá, la iniciativa más conocida dentro de un movimiento mucho más amplio que podríamos denominar el movimiento del hardware libre o del hardware abierto y que surge algo así como una traslación al mundo del hardware del exitoso concepto del software libre o software abierto. La esencia de estos movimientos de tecnología libre es la creación comunidades que de forma colaborativa, construyen soluciones y las comparten con el resto de la comunidad permitiendo, sin ninguna limitación o con limitaciones muy laxas y sin contrapartida económica, el uso de esa tecnología, su reutilización y su modificación. Pero cómo se puede compartir hardware? En el caso del hardware, dos son realmente los elementos que se pueden compartir y reutilizar: Diseños: los diseños y especificaciones, típicamente en forma de ficheros procesables por una solución CAD (Computer Aided Design), de circuitos, placas, etc. De esta forma, cualquiera con los medios necesarios para la construcción de placas puede, simplemente, utilizar el diseño de terceros. En casos como por ejemplo es Arduino, además de ser libres los diseños, se ofrece la posibilidad de adquirir las placas ya construidas. Software: a pesar de que hablamos del hardware libre, en el ámbito de la electrónica digital donde existen elementos inteligentes programables como microprocesadores o microcontroladores, una parte muy importante del diseño de placas es el software de control. Por ello, otro elemento muy fundamental del hardware libre es la compartición de ese software que actúa sobre unas placas o microcontroladores definidos. Historia de Arduino Arduino, probablemente la más conocida plataforma de hardware libre, surge en 2005 en el Instituto Italiano de Diseño Interactivo Ivrea. Inicialmente nace como un proyecto de carácter educativo, para satisfacer la necesidad de disponer de un dispositivo de bajo coste e independiente de sistema operativo para ser utilizado en clases. 1

Massimo Banzi, con la ayuda del español David Cuartielles, hicieron el primer diseño del hardware. Poco después se les unió David Mellis para aportar el software y, finalmente, se integraron Gianluca Martino que realizaba las placas y Tom Igoe. El software de Arduino se apoya en Wiring el cual, a su vez, parte del Lenguaje Processing. La historia es como sigue: Processing es una plataforma (lenguaje más entorno de desarrollo) basada en Java y surgida en 2001 de los trabajos de Casey Reas y Benjamin Fry, y orientada a comunidades de diseño visual y arte electrónico. En la época en que surgió Arduino, Casey Reas desarrollaba su labor en El Instituto Italiano para el Diseño Interactivo Ivrea donde coincidió con Massimo Banzi. Un estudiante, el colombiano Hernando Barragán, había realizado su tesis sobre estos conceptos y, en concreto, había creado Wiring, apoyándose en Processing, como una plataforma de desarrollo para entornos hardware. El software de Arduino es una implementación de Wiring, el cual surge de Processing que, a su vez, es una extensión de Java con un IDE (Integrated Development Environment) propio. Elementos de Arduino Los elementos fundamentales de Arduino son tres: Las placas: placas de electrónica digital que, fundamentalmente, aportan una capacidades de entrada / salida tanto analógica como digital, y capacidades adicionales de procesamiento aportadas por un microcontrolador. Software y entorno de desarrollo: un lenguaje y un entorno de desarrollo para crear el software que ejecutará el microcontrolador, aportando la lógica del equipo. Shields: que son extensiones hardware a las placas base de Arduino. Veamos algo más sobre cada uno de estos elementos. Las placas. Arduino UNO El elemento hardware central de Arduino son las placas (boards). Las placas no son más que un equipamiento hardware digital, casi un computador muy sencillo, con capacidades para interactuar con el entorno, con sensores, activadores y transductores, y con posibilidades de programación. 2

En la breve historia de Arduino han existido varias placas diferentes como las denominadas Diecimila, Duemilanove o Mega. En el momento de escribir este microtutorial, la placa dominante es la denominada UNO. La placa UNO incluye, entre otras cosas: Un microcontrolador ATmega328 6 pines de entrada analógica. 14 pines para entrada / salida digital. De estos 14 pìnes, existen seis que, usando la técnica denominada PWM (Pulse Width Modulation) se pueden convertir en salidas analógicas. Un puerto USB utilizado fundamentalmente para conectar la placa al ordenador y realizar la carga y depuración de software. Un botón de reset. Las placas de Arduino pueden ser construidas utilizando los diseños disponibles pero también pueden ser adquiridas en línea ya construidas en store.arduino.cc El software y entorno de desarrollo El lenguaje de Arduino es, como se ha explicado, Wiring, una derivación de Java, por lo que su sintaxis básica es la de este conocido lenguaje, aunque añadiendo algunas funciones propias, una estructura de programa diferente y un muy sencillo entorno de desarrollo propio. Los programas de Arduino se denominan sketches y tienen siempre dos bloques fundamentales: Inicialización: que se incluye en una función siempre existente denominada setup(). Todo el código de inicialización de la placa debe incluirse en esa función. Funcionamiento permanente. Una vez inicializada, la placa ejecuta de forma repetitiva y sin fin el código contenido en una función denominada loop(). El lenguaje de Arduino es muy sencillo, e incluye los siguientes elementos: Variables y constantes Operadores: aritméticos, booleanos, de comparación y de composición. Estructuras de control: condiciones y bucles Funciones, que podríamos agrupar en varios bloques como son: o Gestión de entradas / salidas digitales y analógicas o Temporización 3

o o Comunicación por puerto serie Funciones matemáticas El entorno de desarrollo propiamente dicho, el IDE, es también muy sencillo y está pensado para ser ejecutado en un ordenador y en diferentes plataformas: Windows, Linux, Mac OS, etc. Los sketches desarrollados se cargan luego en el microcontrolador utilizando el puerto USB. El IDE ofrece algunas facilidades adicionales, por ejemplo, para depuración de programas. Como apoyo para entender el aspecto de un sketch de Arduino se muestra a continuación en sketch que enciende un LED situado en el pin 13. Este programa viene a ser el Hola mundo de Arduino: #define LED_PIN 13 void setup () { pinmode (LED_PIN, OUTPUT); } // establece el pin 13 como salida digital void loop () { digitalwrite (LED_PIN, HIGH); // enciende el LED delay (1000); // espera un segundo (1000 milisegundos) digitalwrite (LED_PIN, LOW); // apaga el LED delay (1000); // espera un segundo } El IDE de Arduino puede ser descargado en línea en www.arduino.cc Los shields Los shields son extensiones en forma de placas para labores concretas y que se encajan sobre una placa original de Arduino. Actualmente existen shields, por ejemplo, para: Control de motores Conexión Ethernet Conexión inalámbrica (WiFi) Los shields pueden, al igual que las placas, ser adquiridos en línea en store.arduino.cc Operativa Tras conocer los elementos, podemos ahora entender cómo funciona el conjunto, tal y como se esquematiza en la siguiente figura: 4

Arduino funciona, fundamentalmente, como una suerte de intermediario entre unas entradas del mundo exterior procedentes de sensores, y unas salidas que irán a activadores o transductores para actuar sobre ese mundo exterior. La lógica esas interacciones se gestionan desde el microcontrolador que ejecuta un programa, un sketch, desarrollado mediante el IDE. Para realizar un proyecto Arduino tenemos, pues que hacer lo siguiente. Diseñar e implementar la electrónica para la adquisición de señales del exterior. Diseñar e implementar la electrónica para actuación en el exterior Desarrollar y cargar en la placa el software (el sketch ) de control. De cara a diseñar la electrónica de sensores y activadores suele ser útil el uso de una placa de pruebas que permite de forma sencilla probar la inclusión de componentes y su conexionado. También son de utilidad en esta labor los shields que aportan soluciones ya construidas e, incluso, el Shield denominado Proto está orientado, precisamente, a facilitar la implementación de circuitos ad-hoc. El software que constituye los sketches se desarrolla, como hemos visto, con el IDE: La comunidad Arduino Como todas las iniciativas libres Arduino se construye alrededor de una comunidad que comparte ideas, diseños y soltare. El sitio web de la comunidad es www.arduino.cc y en él existen foros de discusión, una Wiki (Playground) y un blog. Conclusión Arduino es una implementación del concepto de hardware libre que ataca dos partes: el hardware propiamente dicho (mediante el diseño y construcción de placas y shields) y el software mediante la utilización de un lenguaje y un IDE propios (aunque fuertemente entroncados con Java y C++). La apertura se implementa por la compartición de diseños en lo que a hardware se refiere, y por la gratuidad del entorno de desarrollo y por la compartición en lo relativo a software. Quizá por su carácter pionero, Arduino es, probablemente, la plataforma más popular de hardware libre. 5

Referencias [1] Introducción a Arduino Massimo Banzi. Editorial O Reilly / Anaya Multimedia 2012. ISBN 978-84-415-3177-2. 6

Licencia Esta obra está bajo una licencia Reconocimiento-No comercial-sin obras derivadas 2.5 España de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-nc-nd/2.5/es/ o envie una carta a Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. 7

bluechip.ignaciogavilan.com @igrgavilan