Curso intensivo de arduino createc3 de mayo 2014

49
Taller intensivo de Arduino createc3d 31.05.2014 elcacharreo.com

description

Curso intensivo de introducción a Arduino. Hablamos de sensores, actuadores y programación

Transcript of Curso intensivo de arduino createc3 de mayo 2014

Page 1: Curso intensivo de arduino createc3 de mayo 2014

Taller intensivode Arduino

createc3d 31.05.2014

elcacharreo.com

Page 2: Curso intensivo de arduino createc3 de mayo 2014

Introducción a Arduino: Presente

elcacharreo.com createc3d

Page 3: Curso intensivo de arduino createc3 de mayo 2014

Introducción a Arduino: Presente

elcacharreo.com createc3d

[email protected]

twitterlinkedin

blog

José Antonio Vacas Martínez

Page 4: Curso intensivo de arduino createc3 de mayo 2014

Introducción a Arduino: ProyectosHockey

elcacharreo.com createc3d

Page 5: Curso intensivo de arduino createc3 de mayo 2014

Introducción a Arduino: Proyectos

Física del café

elcacharreo.com createc3d

Page 6: Curso intensivo de arduino createc3 de mayo 2014

Introducción a Arduino: Proyectos

Alimentador de mascotas activado por twitter

elcacharreo.com createc3d

Page 7: Curso intensivo de arduino createc3 de mayo 2014

Introducción a Arduino: ProyectosCan Bus: Centralita de un coche

elcacharreo.com createc3d

Page 8: Curso intensivo de arduino createc3 de mayo 2014

Introducción a Arduino: Proyectos

Plot clock

elcacharreo.com createc3d

Page 9: Curso intensivo de arduino createc3 de mayo 2014

Introducción a Arduino: Proyectos

Impresoras 3D: PrintrBot, RepRap, ...

elcacharreo.com createc3d

Page 10: Curso intensivo de arduino createc3 de mayo 2014

Introducción a Arduino: Proyectos

elcacharreo.com createc3d

2010

Page 11: Curso intensivo de arduino createc3 de mayo 2014

Introducción a Arduino: Proyectos

elcacharreo.com createc3d

599€ 399€

Page 12: Curso intensivo de arduino createc3 de mayo 2014

● Maximo Banzi 2005● Un bar le da nombre● Made in Italy● Computación física● Precio objetivo 30$● 100% free source

Introducción a Arduino: Historia

elcacharreo.com createc3d

David Cuartielles @dcuartielles

Gianluca Martino Tom Igoe @tigoeDavid Mellis @mellisMassimo Banzi @mbanzi

Page 13: Curso intensivo de arduino createc3 de mayo 2014

Introducción a Arduino: PresenteDueUnoLeoEthernetMegaMiniProLilypadBluetoothYun

elcacharreo.com createc3d

300.000 en Mayo de 2011¿cuantos se venden ahora?

Page 14: Curso intensivo de arduino createc3 de mayo 2014

Introducción a Arduino: Futuro

● Galileo● Tree● Wifi (BBB)● Android ADK● ...

elcacharreo.com createc3d

Page 15: Curso intensivo de arduino createc3 de mayo 2014

Introducción a Arduino: Donde

Makers/DIY

elcacharreo.com createc3d

MakeProjects.com Instructables.com

Page 18: Curso intensivo de arduino createc3 de mayo 2014

IDE: instalación

elcacharreo.com

Descargamos el IDE de la página de descargas de Arduino

Descargar

createc3d

http://arduino.cc/en/Main/Software

Page 19: Curso intensivo de arduino createc3 de mayo 2014

IDE: instalación

elcacharreo.com

Una vez descargado, lo descomprimimos en una carpetay a probar los ejemplos!!!

createc3d

Page 20: Curso intensivo de arduino createc3 de mayo 2014

IDE: instalación Linux

elcacharreo.com

sudo usermod -aG dialout <myuser>

createc3d

Page 21: Curso intensivo de arduino createc3 de mayo 2014

IDE: Drivers windows

elcacharreo.com createc3d

El problema más habitual es el instalar el driver de arduino bajo Windows

Page 22: Curso intensivo de arduino createc3 de mayo 2014

IDE: Drivers windows

elcacharreo.com createc3d

La clave es seleccionar el directorio "drivers" que contiene "FTDI USB Drivers"

Page 23: Curso intensivo de arduino createc3 de mayo 2014

IDE: Drivers windows

elcacharreo.com createc3d

Aceptamos aunque el software no esté firmado para Windows

Page 24: Curso intensivo de arduino createc3 de mayo 2014

IDE: Drivers windows

elcacharreo.com createc3d

Page 25: Curso intensivo de arduino createc3 de mayo 2014

Programando Arduino: IDE

elcacharreo.com createc3d

Page 26: Curso intensivo de arduino createc3 de mayo 2014

Programando Arduino: Lenguaje

elcacharreo.com createc3d

Guía de referencia de Arduino

void setup(){}

void loop(){}

Librerías

Page 27: Curso intensivo de arduino createc3 de mayo 2014

Hardware Arduino: Uno Rev 3

Uno Rev 3

● Zoom● 5V● aTMega328● 14 digitales (6 PWM) + 6 analógicos ● 32Kb + 2Kb + 1Kb 16MHz● 1 UART● Detalles

elcacharreo.com createc3d

Page 28: Curso intensivo de arduino createc3 de mayo 2014

Kit Arduino

elcacharreo.com createc3d

Page 29: Curso intensivo de arduino createc3 de mayo 2014

Prototipos: Breadboard

ElCacharreo.com createc3d

Líneas de alimentación

Estas son las conexiones internas que existen en una placa breadboard:● Existen esas lineas largas de se utilizan para alimentación a lo largo de la placa.● Las lineas perpendiculares unen 5 puntos (etiquetados como ABCDE) de cada fila

A la derecha se ven las conexiones que se pueden ver por la parte de abajo

Page 30: Curso intensivo de arduino createc3 de mayo 2014

Prototipos: Ejemplo para NO repetir

ElCacharreo.com createc3d

Page 31: Curso intensivo de arduino createc3 de mayo 2014

Prototipos: Así SI

ElCacharreo.com createc3d

Page 32: Curso intensivo de arduino createc3 de mayo 2014

Prototipos: LED en la Breadboard

elcacharreo.com createc3d

Veamos como sería un montaje de un led en una breadboard

http://fritzing.org/home/

Page 33: Curso intensivo de arduino createc3 de mayo 2014

El mundo digital: salidas

elcacharreo.com createc3d

Page 34: Curso intensivo de arduino createc3 de mayo 2014

El mundo digital: entradas

elcacharreo.com createc3d

Page 35: Curso intensivo de arduino createc3 de mayo 2014

El mundo analógico: entradas

elcacharreo.com createc3d

Page 36: Curso intensivo de arduino createc3 de mayo 2014

El mundo analógico: salidas

elcacharreo.com createc3d

Page 37: Curso intensivo de arduino createc3 de mayo 2014

Comunicaciones: introducción

Comunicando con el pc:

void setup(){

Serial.begin(9600);}

int i=0;

void loop(){

Serial.print("hola ");

Serial.println(i);

}

elcacharreo.com createc3d

Page 38: Curso intensivo de arduino createc3 de mayo 2014

Sensores

ElCacharreo.com createc3d

Existem multitud de sensores:Cada uno diseñado para medir una magnitud física distinta. A partir de esa medida generará un voltaje que mediremos con nuestro Arduino conectándolos habitualmente a una entrada analógica

Page 39: Curso intensivo de arduino createc3 de mayo 2014

Sensores: Referencia externa

ElCacharreo.com

A veces nuestro montaje necesitamedir con voltajes diferentes de los 5V habituales.Para ello podemos usar la función

analogReference(valor);

con valor pudiendo ser

● DEFAULT: el valor por defecto (5V en placas de 5 y 3.3V en las de 3.3)● INTERNAL: 1.1V en ATmega168 or ATmega328 y 2.56V en ATmega8● INTERNAL1V1: 1.1V (Sólo Arduino Mega)● INTERNAL2V56: 2.56V (Sólo Arduino Mega)● EXTERNAL: el voltaje de AREF pin (0 to 5V)

Ejemplo muy documentado en Arduteka

createc3d

Page 40: Curso intensivo de arduino createc3 de mayo 2014

Sensores: LDR (Luz)

ElCacharreo.com createc3d

int analogPin = 0; // Pin analogico 0 de Arduinovoid setup(){

Serial.begin(9600);}void loop (){

int valorLuz = analogRead(analogPin);

Serial.print(valorLuz);

delay(5000);}

Page 41: Curso intensivo de arduino createc3 de mayo 2014

Sensores: Temperatura

ElCacharreo.com createc3d

LM35Especificación

// Ejemplo en http://fritzing.org/projects/digital-thermometer-with-lm35/int analogPin = 0; // Pin analogico 0 de Arduinoint temperature = 0;int lm35read;void setup(){

Serial.begin(9600);}void loop (){

lm35read = analogRead(analogPin);temperature = (5.0 * lm35read * 100.0)/1024.0;Serial.print(temperature);Serial.println(“C”);delay(5000);

}

Page 42: Curso intensivo de arduino createc3 de mayo 2014

Proyectos: Termómetro digital

elcacharreo.com createc3d

Page 43: Curso intensivo de arduino createc3 de mayo 2014

Proyectos: Termómetro digital

elcacharreo.com createc3d

int startTemp=20; void setup(){ Serial.begin(9600); for (int i=2;i<8; i++) { pinMode(i,OUTPUT); }}void loop(){ int lm35read = analogRead(A0); float temperature = (5.0 * lm35read * 100.0)/1024.0; temperature = temperature*0.488; for (int i=0;i<8; i++){ if (temperature>((i*2)+startTemp)) { digitalWrite(i,HIGH); } else { digitalWrite(i,LOW); } }

Serial.print(temperature); Serial.println(" °C"); delay(500); }

Page 44: Curso intensivo de arduino createc3 de mayo 2014

Proyectos: Comparador luminoso

elcacharreo.com createc3d

Page 45: Curso intensivo de arduino createc3 de mayo 2014

Reciclando hardware

elcacharreo.com createc3d

Impresoras Videos Lectores DVD Coches RF

Motores X X X X

Led X X

Laser X

Drivers X X X X

Componentes X X X X

Page 46: Curso intensivo de arduino createc3 de mayo 2014

Reciclando hardware: Samples

elcacharreo.com createc3d

samples (muestras): Texas Instruments y Maxim

● Lista de fabricantes que proporcionan samples de instructables● Fabricantes que proporcionan samples segun ladyada● En hack a day han recopilado también fuentes

Page 49: Curso intensivo de arduino createc3 de mayo 2014

Conclusiones

Gracias por vuestra atención

elcacharreo.com createc3d