Story Transcript
Arduino
Eduardo Sacristán Ruiz-Funes
Arduino
●
Introducción al Arduino
●
El hardware
●
El software
●
La Comunidad
Arduino Una plataforma de electrónica abierta para la creación de prototipos basada en software y hardware flexibles y fáciles de usar.
Arduino Los Origenes ●
Desarrollado en Italia –
●
● ●
Instituto Italiano de Diseño Interactivo-Ivrea
Una plataforma de desarrollo para computación interactiva o computación física Pensado para diseñadores y artistas Por el equipo Arduino (Arduino team): –
Massimo Banzi, David Cuartielles, Tom Igoe, Gianluca Martino y David Mellis
Arduino
Arduino Los Objetivos ● ● ● ● ● ● ●
Para ser usado en la enseñanza De uso fácil para los estudiantes Para crear prototipos rápidamente Usando herramientas que ya conocían Que funcionara en los 3 sistemas operativos De bajo costo en hardware y software Como Hardware y Software Abierto o Libre
Arduino
Arduino
Arduino
Arduino El Proyecto Arduino ●
Toda una plataforma de desarrollo con: –
El Hardware
–
El Software
–
La Comunidad
Arduino El Hardware ● ●
Diversos modelos de tarjetas Con las componentes básicas –
● ● ●
microcontrolador, alimentación y comunicación
Con la facilidad para conectar componentes Con tarjetas para extenderlas, shields Con diversas opciones para comunicación
Arduino Las Tarjetas ●
Distintos Modelos –
●
Oficiales y libres –
●
Diversas capacidades, tamaños, usos, ... No usar el nombre de arduino, única restricción
Página del hardware: –
http://arduino.cc/en/Main/Hardware
Arduino Arduino Uno
Arduino Características físicas (mod. UNO) ●
Microcontrolador ATMEL ATMega328 –
●
Memoria –
● ●
microcontrolador de 8 bits, 16 Mhz. 32 kb Flash, 2 kb SRAM, 1 kb EEPROM
Puertos - 14 Digitales y 6 Analógicos. Conexión a la PC por el puerto USB.
Arduino Conexión de actuadores y sensores ●
14 pines digitales, de entrada y salida –
● ● ● ●
6 con PWM de salida
6 pines análogicos de entrada Pines para Voltajes, Tierra, Reset Pines de interrupt Pines para comunicación –
Serial RS232, SPI, I2C, ...
Arduino Para poder conectarle ●
Componentes electrónicas sencillas
●
Componentes activas
●
Circuitos integrados
●
Tarjetas con sus propios transductores
●
Shields construidos para el Arduino
Arduino Arduino Leonardo
Arduino Arduino Due
Arduino Arduino Micro
Arduino Arduino Esplora
Arduino LilyPad
Arduino Arduino Yun
Arduino Shields ● ● ● ●
Gran cantidad de shields Para extender la capacidad del arduino Con una conexión estándar y compatible Para muy diversos propósitos –
●
Desarrollo, comunicación, control, ...
Una lista de shields –
http://shieldlist.org/
Arduino Proto Shield
Arduino Wifi Shield
Arduino GSM Shield
Arduino Un servidor WWW
Arduino Alimentación eléctrica ●
Por el puerto USB
●
Por un conector
●
Con un transformador de CD
●
Con baterias
●
De 7 a 12 volts
Arduino El Software ●
Tiene su propio lenguaje de programación
●
Se programa desde un IDE
●
Se edita y compila el programa en la PC
●
Se sube al microcontrolador por el USB
●
Se queda ejecutandose indefinidamente
Arduino El lenguaje de programación ●
Es un lenguaje basado en C/C++
●
Con las bibliotecas de Wiring para el Arduino
●
Y una gran cantidad de bibliotecas externas
●
Simplifican el uso del microcontrolador
●
●
Se utiliza el AVR-GCC para la compilación –
es una compilación cruzada
Arduino Componentes del lenguaje ●
Tiene prácticamente todo lo que tiene C
●
●
●
●
Con un conjunto de funciones para el manejo del arduino Bibliotecas internas para tareas comunes Gran cantidad de bibliotecas externas para muy diversas tareas o dispositivos
Arduino Algunas funciones del lenguaje ●
Para configurar los pines o puertos: –
●
Para leer de un sensor digital: –
●
valor = digitalRead(pin);
Para controlar un actuador digital: –
●
pinMode(pin, OUTPUT/INPUT);
digitalWrite(pin, HIGH/LOW);
Para leer de un sensor analógico: –
valor = analogRead(pin);
Arduino Programación Física o Interactiva Entrada => Control => Salida Sensores => Controlador => Actuadores Info entrada => Programa => Info salida Analógicos y/o Digitales
Arduino Programas o sketchs ●
A los programas se les llama sketchs
●
Los sketchs tiene una estructura básica
●
Todos deben tener al menos dos funciones: void setup() void loop()
// preparación del arduino // ejecución en un ciclo continuo
Arduino Como programamos ●
Editamos, compilamos y cargamos –
●
Se carga un sólo sketch en la memoria del microcontrolador –
●
utilizando un bootloader en el arduino
Se ejecuta una vez cargado en el arduino –
●
y corregimos muchas veces :-)
o al prenderlo o con el botón de reset
El último sketch permanece en la memoria
Arduino El IDE del Arduino ●
Utiliza un IDE muy simple
●
Basado en el IDE de Processing
●
Implementado en Java
●
Corre en los 3 sistemas operativos –
Windows, MacOS y Linux
Arduino El IDE ●
Se divide en 2 secciones –
●
edición y mensajes
Con 2 menus – –
manejo del los sketchs - toolbar manejo general del IDE - menu
Arduino
Arduino
●
Barra de herramientas ●
Verify – Verificar: verificar o compilar
●
Upload – Cargar: subir el ejecutable
●
New – Nuevo: crear un nuevo sketch
●
Open – Abrir: abrir un sketch
●
Save – Guardar: guardar un sketch
●
Serial Monitor: abre el monitor serial
Arduino
El entorno de programación de Arduino es fácil de usar para principiantes y lo suficientemente flexible para los usuarios avanzados
Arduino La Comunidad ●
Un proyecto con una gran comunidad –
●
Como todo proyecto abierto y libre –
●
●
desarrolladores, fabricantes, usuarios, ... muy similar a las comunidades de software libre
Con las particularidades de ser software y hardware libre o abierto Con una página del proyecto muy completa –
http://arduino.cc/
Arduino Materiales muy diversos en la red ●
Desde un comic a un video documental
●
Una gran cantidad de sitios en la WWW –
●
cursos, tutoriales, proyectos, videos, ...
Un gran número de proveedores – creadores, fabricantes, distribuidores, ...
●
Una gran cantidad de libros y materiales educativos
Arduino
Arduino Creando prototipos ●
Se pueden crear rápidamente
●
Con herramientas de fácil uso
●
Procesos simples de prueba y depuración
●
Fáciles de modificar y mejorar
●
Apoyándose en muchos otros ya creados
Arduino Con muy diversos componentes ●
●
Se facilita la interconexión con componentes muy diversos Con todo tipo de sensores y actuadores
●
●
Con cada vez más dispositivos electrónicos
●
Cada vez más diversos, baratos y accesibles
Arduino Sensores ●
Desde componentes simples –
● ●
Circuitos integrados de todo tipo Digitales y Analógicos –
● ●
botones, potenciometros, ...
resistivos, capacitivos, infrarrojos, sonido, ...
Gran diversidad de shields Equipos electrónicos comerciales –
consolas de juegos y otros
Arduino Actuadores ●
Desde componentes simples –
●
Sistemas de manejo de cargas y conexión –
● ● ●
el led transistores, relevadores, circuitos integrados
Todo tipo de motores Gran diversidad de shields Controlando cualquier dispositivo electrónico
Arduino Diversas formas de comunicación ●
Entre arduinos
●
Con todo tipo de computadoras o equipos
●
Utilizando distintos medios –
●
directamente, cables, inalámbricas, ...
Con todo tipo de protocolos –
serial RS232, I2C, Xbee, IR, ethernet, GMS, ...
Arduino Etapas de construcción ●
Desde el desarrollo en un protoboard
●
Hasta un circuito impreso más permanente
●
●
O un shield para conectarlo directamente
●
Fáciles de reproducir si hace falta
●
Flexibles en su uso final
Arduino Los Costos de los equipos ● ●
Los costo siempre han sido una limitante El arduino es una computadora muy barata –
● ●
●
un arduino = $ 350.00 - $ 400.00
Además podemos armar los nuestros Se le pueden conectar todo tipo de componentes de muy distintos costos Es hardware y software abierto y libre
Arduino David Cuartielles: “El hardware abierto significa tener la posibilidad de mirar lo que hay dentro de las cosas, que eso sea éticamente correcto y que permita mejorar la educación. Educar en cómo funcionan las cosas…El hardware, aunque sea libre, no puede ser gratuito, es físico y cuesta dinero, lo que hicimos fue buscar el precio justo. Arduino no fabrica nada, diseña y mantiene un sitio web”
Arduino
La Impresora 3d
Arduino
La Rep Rap
Arduino
El Cuadricoptero
Arduino
El Ardusat
Arduino
Wearables
Arduino
Botanicals
Arduino
Un Cubo de Leds
Arduino
Makey Makey
Arduino
El Robot Arduino