Seminario Arduino
Seminario Arduino
ARDUINO
PG Cert Industrial Automation - Julian Leonardo Cárdenas
• Software/Leguaje de Programación
www.arduino.cc
Seminario Arduino
¿PARA QUIÉN?
• Diseñadores
• Aficionados
• Estudiantes
• Artistas
¡¡ PARA TODOS !!
Seminario Arduino
¿CÓMO SURGE
ARDUINO?
• 2005 ->Instituto de Diseño Interactivo Ivrea (Italia)
• David Cuartielles y Massimo Banzi
• Problemas existentes
• Limitación tecnológica
• Usuario no experto
• Plataformas existentes ->complejas, especializadas o cerradas
• Limitación económica
• Solución
• Plataforma OpenSource
• ¡¡¡La comunidad Arduino tiene más de 120 mil usuarios!!!!
Seminario Arduino
EVOLUCIÓN
Seminario Arduino
PLATAFORMAS
RELACIONADAS
• Processing
• Entorno de desarrollo para proyectos
multimedia e interactivos
• Diseño digital y procesado
• Wiring
• Basado en Processing
• Programación uC para no expertos
• Arduino se basa en Wiring
• Fritzing
• Entorno visual
• Creación esquemas electrónicos
Seminario Arduino
PROYECTOS CON
ARDUINO
• SECUduino -> controladora bus CAN
• ArduPilot -> control avión no tripulado
• Robótica -> robot araña controlado por voz
• Robótica -> control cámara pan/tilt con mando Wii
• Seguridad -> control de acceso mediante leds
• IoT -> control del estado de una planta mediante
tweets
Seminario Arduino
SECUDUINO:
CONTROLADORA DE BUS
CAN
• SECUduino: controladora de bus CAN
Seminario Arduino
PROYECTOS CON
ARDUINO
• SECUduino: controladora de bus CAN
http://www.youtube.com/watch?v=_JQyT
YB3ZoA
Seminario Arduino
PROYECTOS CON
ARDUINO
• ArduPilot: UAV controlado por Arduino
Seminario Arduino
PROYECTOS CON
ARDUINO
• ArduPilot
http://www.youtube.com/watch?v=IvR3Q
M0iTPw
Seminario Arduino
PROYECTOS CON
ARDUINO
• Robot araña controlado por voz (Arduino+Processing)
http://www.youtube.com/watch?v=wj8f9
xL9_Hw
Seminario Arduino
PROYECTOS CON
ARDUINO
• Cámara con movimientos Pan/Tilt y mando Wii
http://www.youtube.com/watch?v=MD_-
YnFZFP8
Seminario Arduino
PROYECTOS CON
ARDUINO
• Cerradura con combinación RGB
Seminario Arduino
PROYECTOS CON
ARDUINO
• IoT: Botanicalls
Seminario Arduino
¿POR QUÉ USAR
ARDUINO?
• Sencilla Programación
• Rápido Prototipado
• Grabación mediante USB
• Gran extensibilidad todo tipo de sensórica y
comunicaciones. “SHIELDS”
Seminario Arduino
PLACAS: ARDUINO UNO
• uC ATmega 328 a 16MHz
• Flash 32KB
• RAM 2KB
• EEPROM 1KB
• 5 entradas Analógicas [0-5V]
• 14 Pines E/S Digitales
• 6 PWM
• Puerto serie (0,1)
• I2C (4,5)
• SPI (10, 11, 12, 13)
Seminario Arduino
PLACAS:
• uC ATmega 2560 a 16MHz
ARDUINO
• Flash 256KB MEGA2560
• RAM 8KB
• EEPROM 4KB
• 15 entradas Analógicas [0-5V]
• 54 Pines E/S Digitales
• 14 PWM
• 4 Puertos series (0-1,19-18,17-16,15-14)
• I2C (20,21)
• SPI (50,51,52,53)
Seminario Arduino
PLACAS:
• uC ATmega 168 a 16MHz
ARDUINO
• Flash 16KB DUEMILANOVE
• RAM 1kB
• EEPROM 512B
• 5 entradas Analógicas [0-5V]
• 14 Pines E/S Digitales
• 6 PWM
• Puerto serie
• SPI e I2C
Seminario Arduino
PLACAS: ARDUINO FIO
Seminario Arduino
PLACAS: ARDUINO
NANO
• Idénticas características que Duemilanove
• Alimentación a través de Mini-USB
• Pensado para aplicaciones embebidas
Seminario Arduino
PLACAS: ARDUINO
LILYPAD
• Diseñado para prendas textiles
• Pequeño y ligero
• 14 E/S digitales
• 6 PWM
Seminario Arduino
SHIELDS ARDUINO
Ethernet XBEE
Wifi Relés
Seminario Arduino
CARACTERÍSTICAS
ENTORNO ARDUINO
• Basado en C/C++
Seminario Arduino
ARDUINO IDE:
CONFIGURACIÓN
• Descargar la última publicación de la página web ->
www.arduino.cc
• Descomprimir fichero
• Conectar Arduino mediante USB
• Si los drivers no se instalan automáticamente, buscar los
drivers en la carpeta …/arduino-00xx/drivers
• Ejecutar aplicación
• Seleccionar en la interfaz el puerto serie
• Seleccionar en la interfaz la placa Arduino en uso
Seminario Arduino
ARDUINO IDE
Seminario Arduino
ARDUINO IDE:
INTERACCIÓN
• Funciones principales
• Nuevo -> crear un programa en blanco
• Guardar -> guardar el programa escrito (sketch)
• Compilar -> comprueba errores en el código
• Abrir -> abrir ejemplos hechos o programas propios
• Descargar -> descargar el código a la plataforma
• Monitor serie -> recepción y envío de
caracteres/cadenas por puerto serie
Seminario Arduino
PROGRAMACIÓN
• Estructura:
• setup( )
• Al inicio de un programa
• Inicia variables, estado de pines, librerías, ...
• loop()
• Función principal del programa. Contiene la lógica.
• Ejecución infinita
• Estructuras de control, operadores, tipos de datos…
• C/C++
• Constantes propias
• HIGH/LOW
• INPUT/OUTPUT
Seminario Arduino
PROGRAMACIÓN
• Estructura:
Inicialización
Bucle Principal
Seminario Arduino
PROGRAMACIÓN:
FUNCIONES BÁSICAS
• Funciones E/S digitales:
• pinMode(pin, modo); Inicialización
• digitalWrite(pin, estado); Activación de una salida
• Val=digitalRead(pin); Lectura de una entrada
• Funciones E/S analógicas:
• analogWrite(pin, valor); Salida en PWM
• Val=analogRead(pin); Entrada de PWM
• val=map(val,ini,fin,ini2,fin2); Mapear valor
• Funciones puerto serie:
• Val= Serial.read(); Recepción serie
• Serial.print(a)/Serial.println(a); Imprimir en pantalla
• Serial.write(a); Envío de un dato
• Serial.begin(baudios); Inicialización serie
• Val=Serial.available(); Número de bytes en puerto
• Función espera:
• delay(ms) Retraso en milisegundos
Seminario Arduino
PROGRAMACIÓN:
PERIFÉRICOS ARDUINO UNO
Salidas/ Entradas
Digitales
USB
Alimentaci
ón
6-9 DC
Alimentacio Entradas
nes Analógicas
Seminario Arduino
SHIELD DESARROLLADA
• Conexiones
• LDR: pin A0
• Led rojo: pin 3
• Led amarillo: pin 5
• Led verde: pin 6
• Pulsador 1: pin 4
• Pulsador 2: pin 7
• RFID: pin RX
• Jumper desconectado para grabación
• Jumper conectado para ejecución
No conectar el jumper
en los pines superiores
Seminario Arduino
PREGUNTAS
PAUSA
Seminario Arduino
EJERCICIOS
• Desarrollar una aplicación que obtenga datos de un
sensor y según el valor de dicho sensor alimente de
forma proporcional un led.
Seminario Arduino