Upload
jonathan-ruiz-de-garibay
View
2.429
Download
2
Embed Size (px)
DESCRIPTION
Citation preview
Sistemas Electrónicos Programables
Introducción a Arduino
http://paginaspersonales.deusto.es/jonathan.garibay/
¿Qué es Arduino?
Está pensada para artistas, diseñadores, como
hobby y para cualquiera interesado en crear objetos
o entornos interactivos.
Arduino es una plataforma de prototipos
electrónica de código abierto (open-source)
basada en hardware y software flexibles y
fáciles de usar.
http://paginaspersonales.deusto.es/jonathan.garibay/
¿Qué es Arduino? (continuación…)
El hardware
Un entorno de desarrollo
La comunidad
http://paginaspersonales.deusto.es/jonathan.garibay/
¿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 Open Source
¡¡¡La comunidad Arduino tiene mas de
120mil usuarios!!!
http://paginaspersonales.deusto.es/jonathan.garibay/
¿Por qué usar Arduino?
Barato
Multiplataforma
Entorno de programación simple y claro
Código abierto y software extensible
Código abierto y hardware extensible
http://paginaspersonales.deusto.es/jonathan.garibay/
Capacidades de Arduino
=Intel 286
Arduino Duemilanove
http://paginaspersonales.deusto.es/jonathan.garibay/
Capacidades de Arduino (continuación…)
Arduino Duemilanove
Microcontrolador: Atmega 328 a 16MHz
Voltaje de operación: 5V
E/S digitales: 14 (6 PWM)
Entradas analógicas: 6 (pueden funcionar como digitales)
Memoria Flash de programa: 32KB
Memoria SRAM de datos: 2KB
Memoria EEPROM de datos: 1KB
http://paginaspersonales.deusto.es/jonathan.garibay/
Capacidades de Arduino (continuación…)
http://paginaspersonales.deusto.es/jonathan.garibay/
Placas de Arduino
Arduino Duemilanove (2009)
Basada en el microcontrolador ATmega168 o ATmega328
Tiene 14 E/S digitales, 6 entradas analógicas, 1 puerto
serie…
http://arduino.cc/es/Main/ArduinoBoardDuemilanove
http://paginaspersonales.deusto.es/jonathan.garibay/
Placas de Arduino (continuación…)
Arduino Mega:
Basado en el microcontrolador ATmega1280.
Tiene 54 E/S digitales, 16 entradas analógicas, 4 puertos
serie…
http://arduino.cc/es/Main/ArduinoBoardMega
http://paginaspersonales.deusto.es/jonathan.garibay/
Placas de Arduino (continuación…)
Arduino Nano:
Basada en el microcontrolador ATmega328.
Tiene más o menos la misma funcionalidad que la Duemilanove
http://arduino.cc/es/Main/ArduinoBoardNano
http://paginaspersonales.deusto.es/jonathan.garibay/
Placas de Arduino (continuación…)
Y muchas más:
Arduino LilyPad
http://arduino.cc/es/Main/ArduinoBoardLilyPad
Arduino Fio
http://arduino.cc/es/Main/ArduinoBoardFio
http://paginaspersonales.deusto.es/jonathan.garibay/
Arduino Shields
Ethernet
XBee
Wifi
Y muchas mas…
http://paginaspersonales.deusto.es/jonathan.garibay/
El “Sketch” de Arduino
Declaración
de Variables
setup()
loop()
Declaración de variables globales
Inicializaciónsetup() se ejecuta una única vez
Reset del sistema
Ejecuciónloop() se ejecuta repetidamente después
del primer setup()
http://paginaspersonales.deusto.es/jonathan.garibay/
Programación en Arduino
Basado en C/C++
Estructuras de control, operadores, tipos de datos…
Programación basada en objetos:
Constantes propias
Serial.begin(9600);
Servo servo1;
HIGHT/LOW
INPUT/OUTPUT
¡¡¡Multitud de librerías ya implementadas!!!
http://paginaspersonales.deusto.es/jonathan.garibay/
Arduino IDE
En archivoEjemplos hay
multitud de programas de
ejemplo.
En HerramientasTarjeta
se debe configurar la placa
de Arduino.
En HerramientasPuerto
Serial el puerto de
grabación.
http://paginaspersonales.deusto.es/jonathan.garibay/
Parpadeo de un diodo LED
// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;
// the setup routine runs once when you press reset:
void setup() {
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
}
// the loop routine runs over and over again forever:
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the
voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the
voltage LOW
delay(1000); // wait for a second
}
http://paginaspersonales.deusto.es/jonathan.garibay/
Acordeón Arduino