Copyright © junio de 2015 por TECSUP
Introducción a los sistemas
embebidos
Que son los sistemas embebidos?
• O empotrado es un sistema de computación diseñado
para realizar una o algunas pocas funciones dedicadas,
frecuentemente en un sistema de computación
Sistema de adquisición de datos
C A/D C D/A
Intel® Galileo Development Board
(Gen 2) - Arduino Certified - Gen 2
BeagleBone Black Rev C
ARDUINO – ATMEGA328
Atiny Familia
Introducción al Arduino
¿Qué es Arduino?
Arduino es una plataforma de electrónica abierta para la creación de prototipos basada en hardware flexible y fácil de usar.
Imagen tomada de: http://arduino.cc.es/
Está Basado en una tarjeta con un microcontrolador que permite conectar sensores, actuadores y otros elementos mediante sus entradas y salidas, analógicas y digitales.
¿Qué es Arduino?
Al ser Open-Hardware, tanto su diseño, como su distribución es
libre. Es decir, puede utilizarse
libremente para el desarrollo de cualquier tipo de proyecto
sin necesidad de adquirir ninguna licencia.
¿Qué es Arduino?
¡ Es un dispositivo que conecta el
mundo físico con el mundo virtual!
¿Qué es 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 y cerradas
•Limitación económica •Solución
•Plataforma OpenSource
¿Para Quien?
• Diseñadores • Aficionados • Estudiantes • Artistas
¡¡ PARA TODOS !!
¿Qué distingue a Arduino?
• La filosofia OpenSource – Codigo Abierto- que lo sustenta • La comunidad formada a su alrededor • La sencillez del lenguaje de programación • El hardware de bajo costo
Tipos de tarjeta Arduino
Duemilanove
Nano
Mega
Uno
Leonardo
Mini
Lilypad
Tarjeta Arduino Uno
Características
Microcontrolador ATMega328
Funcionamiento 5V
Voltaje Entrada de voltaje (recomendado) 7-12V
Límites de voltaje 6-20V
Digital I / O Pins 14 (de los cuales 6 proporcionar una salida PWM)
6 pines de entrada analógica DC
Corriente de pines I / O 40 mA
Memoria Flash de 32 KB (ATMega328) de los cuales 0,5 KB utilizado por el gestor de arranque
SRAM 2KB (ATMega328)
EEPROM 1KB (ATMega328)
Velocidad del reloj de 16 MHz
Frecuencia del reloj : 16Mhz
Tarjeta Arduino Uno
Shields
Los Shields o tarjetas de expansión son módulos fabricados por terceros que se pueden apilar encima de la placa Arduino y le proporcionan una funcionalidad determinada. por ejemplo: • Conexiones inalambricas • Control de sensores y motores • Lectura y escritura en memorias
Un Shield es una placa que permite
expandir funcionalidades a Arduino.
Shields
Shields
Arduino Shields
Arduino Uno 1. Conector USB para el cable Tipo AB
2. Pulsador de Reset
3. Pines de E/S digitales y PWM
4. LED verde de placa encendida
5. LED naranja conectado al pin13
6. ATmega 16U2 encargado de la comunicación con
el PC
7. LED TX (Transmisor) y RX (Receptor) de la
comunicación serial
8. Puerto ICSP para programación serial
9. Microcontrolador ATmega 328 : cerebro del Arduino
10. Cristal de cuarzo de 16Mhz
11. Regulador de voltaje
12. Conector hembra 2.1mm con centro positivo
13. Pines de voltaje y tierra
14. Entradas análogas
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
Fritzing
• Fritzing es un software
para diseñar los montajes
en protoboard y a partir
de ello generar el
diagrama esquemático y
el PCB.
Vista Protoboard
Vista Esquema
Vista PCB
Como se programa Arduino
Arduino cuenta con un entorno de desarrollo nativo creado en Java, por lo que es multiplataforma.
El lenguaje que utiliza es propio de Arduino y está basado en C.
Programar en Arduino
• Estructuras
• Variables
• Operadores: matemáticos, lógicos y booleanos
• Estructuras de control: Condicionales y ciclos
• Funciones
Ejemplo de un programa
Requiere unas nociones básicas de programación
Como se programa Arduino
Este entorno (IDE) se descarga de la pagina oficial de Arduino según el sistema operativo. Link de descarga:
http://arduino.cc/es/Main/software
http://arduino.cc/en/Main/software
(Español)
(Ingles)
Entornos de programación gráfica
Son interfaces para programar de una forma sencilla y dinámica la plataforma Arduino.
Programación basada en bloques o cajas de funciones, que simbolizan diferentes elementos de programación, por ejemplo: Instrucciones, condiciones, variables, entre otros.
Ardublock, Modkit, Minibloq, S4A
Estos bloques de programación se van ensamblando hasta formar programas.
Ardublock, Modkit, Minibloq, S4A
Usos de Arduino
Control de movimiento de actuadores
Usos de Arduino
Control de luces
Usos de Arduino
Control a distancia y manipulacion de datos en forma remota
Proyectos
Proyectos
Proyectos
Proyectos
• 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
Proyectos
SECUduino:
controladora de bus
CAN • SECUduino: controladora de bus CAN
Proyectos con Arduino
• ArduPilot: UAV controlado por Arduino
http://www.youtube.com/watch?v=IvR3QM0iTPw
Proyectos con Arduino
• Robot araña controlado por voz (Arduino+Processing)
http://www.youtube.com/watch?v=wj8f9xL9_Hw
Más información
Enlaces de Información
• http://www.arduino.cc/es/ • http://blog.bricogeek.com • http://www.arduteka.com/
Fin
MUCHAS GRACIAS