Seminario Arduino UAH
-
Upload
eduardo-marin -
Category
Documents
-
view
230 -
download
0
Transcript of Seminario Arduino UAH
-
8/7/2019 Seminario Arduino UAH
1/39
-
8/7/2019 Seminario Arduino UAH
2/39
Proyecto Arduino
Nace en 2005David Cuartielles y Massimo Banzi
Problemas existentesLimitacin tecnolgica
El usuario no es expertoLas plataformas existentes son muycomplejas, especializadas o cerradas.
Limitacin econmicaEl usuario final cambia: particulares,
equipos docentes, entidades sin nimos delucro, ...
SolucinCrear nuestra propia plataforma. FilosofaOpenSource. Compartir conocimiento.
INTRODUCCIN
-
8/7/2019 Seminario Arduino UAH
3/39
Desarrollando la idea - Placa Arduino
"Arduino es una plataforma de electrnicaabierta para la creacin de prototipos basadaen software y hardware flexibles y fciles deusar. Se cre para artistas, diseadores,aficionados y cualquiera interesado en crearentornos u objetos interactivos."
Elementos bsicos
EntradasSalidasEntrada de programacin
INTRODUCCIN
-
8/7/2019 Seminario Arduino UAH
4/39
Evolucin de placas
Placa OriginalImpresin por una cara14 salidas digitales6 salidas analgicasPines de alimentacin de 5V y 9V
Puerto ICSP (in circuit serial programming)Puerto serie DB9
Placa SeverinoImpresin por una cara
14 salidas digitales6 salidas analgicasPines de alimentacin de 5V y 9VPuerto ICSPPuerto serie DB9Puerto serie rx-tx-gnd
PLACAS ARDUINO
-
8/7/2019 Seminario Arduino UAH
5/39
Evolucin de placas
Arduino SerialImpresin por dos caras14 salidas digitales6 salidas analgicas
Pines de alimentacin de 5V y 9V
Puerto ICSPPuerto serie DB9Puerto serie rx-tx-gnd
Arduino serie USBVersiones: Arduino USB, Arduino
USB 2.0, Extreme, Extreme v2,NG, NG Rev.Incorporan pines hembra.
PLACAS ARDUINO
Masa de rejilla.USB FTDI R232RC
Atmega128
-
8/7/2019 Seminario Arduino UAH
6/39
Evolucin de placas
Arduino Diecimila y DuemilanoveReset desde PCRegulador de baja cadaFusible reseteablePines de alimentacin de 5V y 3.3V
Mayor compatibilidad con sensores
Arduino MegaAtmega1280 - 16MHz
44 entradas/salidas digitales14 de ellas PWM16 entradas digitales4 UARTSPuerto ICSPComunicacin SPI (serial peripheral interface)
PLACAS ARDUINO
-
8/7/2019 Seminario Arduino UAH
7/39
Evolucin de placas
Arduino FioOrientado a aplicaciones inalmbricasAtmega328P - 8MHz14 Entradas/Salidas digitales
6 de ellas PWM
Pines de alimentacin de 3.3VConector para bateras ionConector para mdulos xbee
Arduino LilyPad
Diseado para prendas textilesARmega168V / ATmega328V - 8MHz14 Entradas/Salidas digitales
6 de ellas PWM
PLACAS ARDUINO
-
8/7/2019 Seminario Arduino UAH
8/39
Evolucin de placas
Arduino BT (bluetooth)Incorpora mdulo bluetoothAtmega16814 Entradas/Salidas digitales
6 de ellas PWM
Pines de alimentacin de 3.3V y 5VConvertidor DC-DC (1.2V - 5.5V)Pin 7 conectado con reset bluetoothBaudrate a 115200 bpsSin proteccin de carga o polarizacin
Arduino NanoIdnticas caractersticas que DuemilanoveMicro Atmega168 Atmega328Alimentacin a travs de Mini-USB
PLACAS ARDUINO
-
8/7/2019 Seminario Arduino UAH
9/39
Evolucin de placas
Arduino MiniBasado en Atmega16814 Entradas/Salidas digitales
6 de ellas PWM8 Entradas analgicas
Sin proteccin de carga o polarizacinProgramable con el adaptador MiniUSB
Arduino Mini USB
Equivalente a Arduino MiniSe aade conectividad a travs de USB
PLACAS ARDUINO
-
8/7/2019 Seminario Arduino UAH
10/39
Arduino no est slo
MicrocontroladoresMicrochips PICBasic StampBX-24 de NetmediaPhidgets
...
Otros proyectos similares
Programma 2003Wiring - semilla ArduinoInstantsoupProcessing
PLACAS ARDUINO
$99 $30PIC
Basic Stamp
BX-24
-
8/7/2019 Seminario Arduino UAH
11/39
Conociendo Arduino (Duemilanove)
Elementos en la placa
ARDUINO
USB
I/O digitales
Masa
PWM
Serie
AREF
Voltaje de referenciapara entrada analgica
Valores high/low.PWM para escritura
analgica
Comunicacin serietx/rx
Comunicacin con el
PC
-
8/7/2019 Seminario Arduino UAH
12/39
Conociendo Arduino (Duemilanove)
Elementos en la placa
ARDUINO
Vin
Reset
Alimentacin externa
In analgicas
3V3,5V
Batera, pared
Fuentes de alimentacinde 3.3V y 5V estabilizados
Conecta conAlimentacin externa
Extensin de botnreset
Lecturas analgicas 0-1023 niveles
-
8/7/2019 Seminario Arduino UAH
13/39
Referencia del lenguaje
Estructura
ARDUINO
setup( )Al inicio de un sketch
Inicia variables, estado de pinsinicio de libreras, ...
loop()Funcin principal del sketch.Ejecucin indefinida
Estructuras de controlifif...elseforwhile
do...while
switch casebreakcontinuereturn
Basado en C/C++Vincula la librera AVR Libc
-
8/7/2019 Seminario Arduino UAH
14/39
Referencia del lenguaje
Ms sintxis
ARDUINO
Operadores aritmticos
; (punto y coma){} (llaves)// (comentarios de una sola lnea)
/* */ (comentarios multilnea)#define (definicin de precompilador)#include(inclusin de cdigo externo)
= (operador de asignacin)
+ (suma)- (resta)* (multiplicacin)/ (divisin)% (mdulo)
-
8/7/2019 Seminario Arduino UAH
15/39
Referencia del lenguaje
Operadores de comparacin
ARDUINO
Operadores booleanos== (igual que)!= (distinto que)< (menor que)> (mayor que)
= (mayor o igual que)
&& ('y' lgico)|| ('o' lgico)! (negacin lgica)
Operadores de accesoa punteros
* operador de indireccin& acceso a memoria
Operadores a nivel de bits& ('y' a nivel de bits)
| ('o' a nivel de bits)^ (xor a nivel de bits)~ (not a nivel de bits)> (desplazamiento de bits a la derecha)
-
8/7/2019 Seminario Arduino UAH
16/39
Referencia del lenguaje
Operadores compuestos
ARDUINO
++ (incremento)-- (decremento)+= (suma compuesta)
-= (resta compuesta)*= (multiplicacin compuesta)/= (divisin compuesta)&= ('y' a nivel de bits compuesto)|= ('o' a nivel de bits compuesto)
ConstantesHIGH | LOWINPUT | OUTPUTtrue | falseconstantes enterosconstantes en coma flotante
-
8/7/2019 Seminario Arduino UAH
17/39
Referencia del lenguaje
Tipos de datos
ARDUINO
voidbooleanchar
unsigned charbyteintunsigned int
Conversin
wordlongunsigned long
floatdoublestringarray
char()byte()int()word()long()
float()
-
8/7/2019 Seminario Arduino UAH
18/39
Referencia del lenguaje
mbito de variables y cualificadores
ARDUINO
variables localesvariables globalesstaticvolatileconst
FuncionesE/S digital
pinMode()
digitalWrite()digitalRead()E/S analgica
analogReference()analogRead()analogWrite()
E/S avanzadatone()notone()shiftOut()pulseIn()
-
8/7/2019 Seminario Arduino UAH
19/39
Referencia del lenguaje
Funciones
ARDUINO
Tiempomillis()micros()delay()
Clculomin()max()abs()constrain()
map()pow()sqrt()
Trigonometrasin(),cos(),tan()
Nmeros aleatoriosrandomSeed()random()
Bits y ByteslowByte()highByte()bitRead()bitWrite()bitSet()
bitClear()bit()
-
8/7/2019 Seminario Arduino UAH
20/39
Referencia del lenguaje
Funciones
ARDUINO
Interrupciones externasattachInterrupt()dettachInterrupt()
Interrupcionesinterrupts()noInterrupts()
Comunicacin / Serialbegin()end()available()read()flush()print()println()write()
-
8/7/2019 Seminario Arduino UAH
21/39
Conociendo Arduino
Framework
ARDUINO
Edicin de sketch
Control de sketch
Consola de salida y errores
-
8/7/2019 Seminario Arduino UAH
22/39
Conociendo Arduino
Framework - Configuracin previa
ARDUINO
Seleccin del tipo de placa
Arduino UnoArduino DuemilanoveArduino Diecimila...
Seleccin del puerto serie
correcto
"Quemar" el cargador de inicio (bootloader)? No suele ser necesario
-
8/7/2019 Seminario Arduino UAH
23/39
Conociendo Arduino
Hola Mundo
ARDUINO
Declaracin de variables:int pin_led = 13; //asociamos pin a variable
Definicin de configuracin:void setup(){pinMode(pin_led,OUTPUT);
} //configuramos dicho pin en modo salida
Bucle principal del programa:void loop(){ //alternamos estados en salida con retardo
digitalWrite(pin_led,LOW);
delay(1000);
digitalWrite(pin_led,HIGH);
delay(1000);
}
-
8/7/2019 Seminario Arduino UAH
24/39
Conociendo Arduino
Comunicacin Serie
ARDUINO
Declaracin de variables: char*mensaje = "Hola mundo";
int tecla_byte;
Definicin de configuracin: void setup(){
Serial.begin(9600);}
Bucle principal del programa: void loop(){
Serial.println(mensaje); while(!Serial.available()){}
if(Serial.available()){ tecla_byte = Serial.read(); Serial.println(tecla_byte,DEC); }
}
-
8/7/2019 Seminario Arduino UAH
25/39
PROCESSING Y LA INTERACTIVIDAD
ARDUINO - EL ARTE DIGITAL
Lenguaje de programacinEntorno de desarrolloOrientado a la enseanza, diseodigital y proyectos multimedia
-
8/7/2019 Seminario Arduino UAH
26/39
INTERACTIVIDAD
ARDUINO - EL ARTE DIGITAL
Exposiciones, ferias de arteEducacin, publicidad
rhifid speakers
kasabian futbol hero
game of life
virtual gravity
-
8/7/2019 Seminario Arduino UAH
27/39
PROCESSING Y LA INTERACTIVIDAD
ARDUINO - MERCADO ASOCIADO
Placas de prototipadoArte en ventaSoluciones a medida, servicios
ardupilot
photoduino
quadcopter
arducopter
winemairpiano
ARDUINO HOGAR DIGITAL AUTONOMA PERSONAL SENSORES
-
8/7/2019 Seminario Arduino UAH
28/39
HOGAR DIGITAL - AUTONOMA PERSONAL
ARDUINO - HOGAR DIGITAL - AUTONOMA PERSONAL - SENSORES
DOMTICA: domus (casa) + tica (automtica)Autonoma Personal:
Tomar decisiones propias que afectan a su vida personal.Poder vivir en el lugar que uno quiera.
ARDUINO HOGAR DIGITAL AUTONOMA PERSONAL SENSORES
-
8/7/2019 Seminario Arduino UAH
29/39
HOGAR DIGITAL - AUTONOMA PERSONAL
ARDUINO - HOGAR DIGITAL - AUTONOMA PERSONAL - SENSORES
Ejemplo de dispositivos de sistemas de domtica
Posibles aplicacionesrelacionadas con la autonomapersonal
Discapacidades:
Movilidad - sillainteligenteMobiliario inteligente...
Enfermedades:GeolocalizacinAplicaciones de alerta
Atencin remota...Otras
Control de nios...
ARDUINO HOGAR DIGITAL AUTONOMA PERSONAL SENSORES
-
8/7/2019 Seminario Arduino UAH
30/39
Sensores
ARDUINO - HOGAR DIGITAL - AUTONOMA PERSONAL - SENSORES
Sensor de humedadControl de toldos, ventanas, persianas...Riego de plantasAlerta de inundacin
Domtica Autonomapersonal
DigitalConsumo 30 W
0-100% HRTemperatura
AnalgicoSalida Lineal AREF 5VConsumo 200 W
0-100% HRTemperatura
Sensor de luminosidadControl de luces, ventanas, persianas...Alerta de seguridadAlerta de
Analgico1kOhm - 10kOhm0-100% HRTemperatura
Comportamientosimilar a transistor
ARDUINO HOGAR DIGITAL AUTONOMA PERSONAL SENSORES
-
8/7/2019 Seminario Arduino UAH
31/39
Sensores
ARDUINO - HOGAR DIGITAL - AUTONOMA PERSONAL - SENSORES
Sensor de presin atmosfricaControl de toldos, Ventanas, Persianas...Riego de plantas, Aviso meteorolgico...
Domtica Autonomapersonal
DigitalConexin I2CBajo consumo
30KPa - 110KPaTemperatura
DigitalConexin SPIBajo consumo
30KPa - 120KPaTemperatura
Sensor de presenciaControl de luces, Control de energa,calefaccin...Alerta de seguridadAccionamientos mecnicos
Comportamientosimilar a transistor
Comunicacin Serie 9600bpsSalida analgica 10mV/pulgada0-255 niveles (6,45 metros)
ARDUINO HOGAR DIGITAL AUTONOMA PERSONAL SENSORES
-
8/7/2019 Seminario Arduino UAH
32/39
Sensores
ARDUINO - HOGAR DIGITAL - AUTONOMA PERSONAL - SENSORES
Sensor de temperaturaControl de calefaccin, ventanas, persianas,...Alertas de seguridad, Aplicaciones grficasAccionamiento de sistemas contra hieloSeguimiento temperatura pacientes
Domtica Autonomapersonal
ResistenciaAnalgico10kOhm
AnalgicoSalida Lineal 10mV/K2.98V = 298K = 25C
DigitalResolucin 12 bits (0.065C)-25C / 80CConexin I2C
Atmega + sensor
Atmega 328PSensor temp. infrarrojoSolucin pequeo tamao
ARDUINO HOGAR DIGITAL AUTONOMA PERSONAL SENSORES
-
8/7/2019 Seminario Arduino UAH
33/39
Sensores
ARDUINO - HOGAR DIGITAL - AUTONOMA PERSONAL - SENSORES
Sensor biomtricoControl de acceso e identificacinAlerta y control de intoxicacin (calderas)
Domtica Autonomapersonal
AnalgicoDetector Monxido de
carbono20-2000ppm
DigitalComunicacin serie9600bps
Devuelve una nica id
Analgico
Detector partculas de humo0.5V/0.1mg/m3
ARDUINO HOGAR DIGITAL AUTONOMA PERSONAL SENSORES
-
8/7/2019 Seminario Arduino UAH
34/39
Sensores
ARDUINO - HOGAR DIGITAL - AUTONOMA PERSONAL - SENSORES
Acelermetros, giroscopios, brjulas, GPSAnticipacin y control del sistema domticoControl automtico de dispositivos mvilesLocalizacin de personas, Captura de movimientos
Domtica Autonomapersonal
Acelermetro
AnalgicoDos ejesSalida lineal
AcelermetroAnalgico
Tres ejes+/- 3G eje vertical(z)Salida lineal
GiroscopioAnalgicoDos ejes
Salida linealVelocidad angular500/s
GPS
Comunicacin serieNMEA / SIRF20 canales5m de precisin
BrjulaComunicacin I2CResolucin 0.2
ARDUINO HOGAR DIGITAL AUTONOMA PERSONAL SENSORES
-
8/7/2019 Seminario Arduino UAH
35/39
Comunicacin
ARDUINO - HOGAR DIGITAL - AUTONOMA PERSONAL - SENSORES
Solucin inmediata - Comunicacin Puerto SerieIdeal para comunicacin con perifricos (junto con I2C ySPI)Tasas de transferencia hasta 120kbpsInconveniente: conexin cableada
Domtica Autonomapersonal
Comunicacin puerto serieRatio de tx: 2MbpsAlcance < 10m
Comunicacin Serie / SPIHasta 4Mbps TCP/IP wpa28Mb memoria
Soporte TCP, UDP, FTP, ...
BluetoothTransferencia de datos entre dispositivosMltiples aplicaciones
Wifi 802.11b/gControl remoto de sistemas domticosAtencin remota, vigilancia, seguimiento mdico
ARDUINO HOGAR DIGITAL AUTONOMA PERSONAL SENSORES
-
8/7/2019 Seminario Arduino UAH
36/39
Comunicacin
ARDUINO - HOGAR DIGITAL - AUTONOMA PERSONAL - SENSORES
Domtica Autonomapersonal
Comunicacin puerto serie
Potencia: 1mW256kbps maxAlcance: 100m
Xbee / Zigbee
Creacin de redes sensoriales mvilesHogar digital vs Comunidad digitalInformacin en tiempo real "sobre la marcha"
Comunicacin puerto serie
Potencia: 50mW256kbps maxAlcance: 1600m
Comunicacin puerto seriePotencia: 1W
256kbps maxAlcance: 64km
ARDUINO - HOGAR DIGITAL - AUTONOMA PERSONAL - SENSORES
-
8/7/2019 Seminario Arduino UAH
37/39
Ms demos
ARDUINO - HOGAR DIGITAL - AUTONOMA PERSONAL - SENSORES
+ INFORMACIN
-
8/7/2019 Seminario Arduino UAH
38/39
Pginas de inters
+ INFORMACIN
http://arduino.cc/eshttp://processing.orghttp://wiring.org.co/http://www.creativeapplications.nethttp://www.instructables.com/
Contacto
-
8/7/2019 Seminario Arduino UAH
39/39
Gracias por vuestraatencin