SlideShare una empresa de Scribd logo
Curso de introducción a Arduino

Pablo Carbajales
@Kabuto
¿Elegir la placa azul?
¿Qué es Arduino?
Arduino es una plataforma de electrónica abierta.
Sirve para la creación de prototipos fáciles de
usar, basados en software y hardware flexible. Se
creó para artistas, diseñadores, aficionados y
cualquiera interesado en crear entornos u objetos
interactivos.
El cerebro de Arduino
Arduino puede tomar información del entorno a
través de sus pines de entrada de toda una gama
de sensores y puede afectar aquello que le rodea
controlando luces, motores y otros actuadores. El
microcontrolador en la placa Arduino se programa
mediante el lenguaje de programación Arduino
(basado en Wiring) y el entorno de desarrollo
Arduino (basado en Processing).
Los proyectos hechos con Arduino pueden
ejecutarse sin necesidad de conectarlo a un
ordenador, si bien tienen la posibilidad de hacerlo y
comunicar con diferentes tipos de software.
En la imagen vemos el microcontrolador
ATMEGA328P-PU fabricado por ATMEL.
Arduino UNO
Arduino
UNO R3
(DIP)

Arduino UNO es la versión más famosa de la placa y
la podemos encontrar en 2 versiones la Arduino UNO
"normal" y la versión UNO SMD. La primera utiliza el
microcontrolador ATMEGA328 en formato DIP (Dual
in-line package) y la segunda en formato SMD
(surface-mount device).
La ventaja que ofrece el formato DIP es que
podemos extraerlo o reemplazarlo por uno nuevo
siempre que queramos, mientras que en la versión
SMD va soldado en la superficie de la placa.

Arduino
UNO
(SMD)

Si se pretende usar la placa como medio de
programación del microcontrolador y luego integrarlo
en otros montajes, es mejor la versión DIP, en
cambio si se va a utilizar la placa en el proyecto final,
ambas son válidas por igual.
Arduino LEONARDO
Microcontrolador: ATMEGA32u4
Digital I/O pins: 20
PWM: 7
Analog Inputs: 12
Puerto: Micro USB
Comunicación USB integrada en el
ATMEGA32u4
Existe una versión sin las cabeceras y el puerto
de alimentación Barrel Jack 2.1mm.
Placas Arduino: “Meet the family”
Arduino
Duemilanove
(2009)

Arduino NG
Rev. C

Arduino
Diecimila
(10.000)

Arduino NG
(Nueva
Generación)
Placas Arduino: Los abuelos...

Arduino Extreme v2

Arduino Extreme

Arduino USB v2.0

Arduino USB

Arduino Serial v2.0

Arduino Serial
Placas Arduino: Los hermanos mayores...
Arduino MEGA 2560
Uno de los hermanos mayores del UNO,
conocido por muchos por ser el “cerebro”
de las impresoras 3D.
Gracias a sus 54 pines de Entrada o
Salida, permite conectar un gran número
de componentes a la placa.
El microcontrolador que usa y por el que
recibe su nombre, es el ATMEGA 2560
fabricado también por ATMEL.
Placas Arduino: Los hermanos mayores...
Arduino DUE
Parecido al MEGA 2560, este Arduino
integra
un
microcontrolador
Atmel
SAM3X8E ARM Cortex-M3.
Es el primero Arduino con un controlador
ARM DE 32 bit.
Una de sus características importantes es
que corre a 3.3V, a diferencia de las
demás placas Arduino.
Placas Arduino: Los hermanos menores...
Arduino NANO
Microcontrolador: ATMEGA328
Digital I/O pins: 14
PWM: 7
Analog Inputs: 8
Puerto: Mini B USB
Diseñado y producido por Gravitech
Placas Arduino: Los hermanos menores...
Arduino MICRO
Microcontrolador: ATMEGA32u4
Digital I/O pins: 20
PWM: 7
Analog Inputs: 12
Puerto: Micro USB
Comunicación USB integrada en el
ATMEGA32u4
Placas Arduino: Los hermanos menores...
Arduino MINI
Microcontrolador: ATMEGA328
Digital I/O pins: 14
PWM: 6
Analog Inputs: 12
Puerto: NINGUNO
Comunicación: necesita un adaptador externo
Voltaje MÁXIMO: 9V.
Placas Arduino: Los primos...
Arduino Pro
Microcontrolador: ATMEGA368
Digital I/O pins: 14
PWM: 6
Analog Inputs: 6
Puerto: conector JST para baterias LiPo
Puerto alimentación: Barrel Jack 2.1 (opcional)
Modelos: 3.3V y 5V.
Comunicación: cable FTDI o SparkFun breakout.
Pineado compatible con Shields para UNO.
Diseñado y producido por SparkFun Electronics.
Placas Arduino: Los primos...
Arduino Pro mini
Microcontrolador: ATMEGA168
Digital I/O pins: 14
PWM: 6
Analog Inputs: 8
Puerto: NO
Modelos: 3.3V y 5V.
Comunicación: cable FTDI o SparkFun
breakout.
Diseñado y producido por SparkFun
Electronics.
Placas Arduino: Los primos...
Arduino Fio
Microcontrolador: ATMEGA328P
Digital I/O pins: 14
PWM: 6
Analog Inputs: 8
Puerto: conector JST para baterias LiPo
Puerto: USB
Voltaje: 3.3V
Comunicación: cable FTDI o SparkFun breakout.
Pineado compatible con Xbee Shields (abajo)
Diseñado y producido por SparkFun Electronics
y Shigeru Kobayashi
.
Placas Arduino: Los “conect@2”...
Arduino ETHERNET
Microcontrolador: ATMEGA328
Chip internet: W5100
Digital I/O pins: 14 (pines 10 a 13 reservados)
PWM: 4
Analog Inputs: 12
Puerto: RJ45 (Ethernet)
Puerto: microSD
Comunicación: cable FTDI o SparkFun breakout.
Comunicación: PoE (opcional con breakout)
Placas Arduino: Los “conect@2”...
Arduino YÚN
Microcontrolador: ATMEGA32u4 y Atheros
AR9331
Atheros AR9331 soporta una distribución de
Linux basada en OpenWRT llamada Linino
Digital I/O pins: 20
PWM: 7
Analog Inputs: 12
Puerto: RJ45 (Ethernet) / Wi-Fi
Puerto: microSD
Puerto: micro USB // USB Host
Comunicación: PoE (opcional con breakout)
Placas Arduino: Los recién llegados...
Arduino GALILEO
Microcontrolador: Intel Quark SoC X1000
Digital I/O pins: 14
PWM: 6
Analog Inputs: 6
Puertos: Mini PCI-e, Ethernet, microSD, USB
Host, USB cliente (programación)
Alimentación: Barrel Jack 2.1
Voltaje: 3.3V (5V via jumper)
Pineado compatible con Shields para UNO.
Placas Arduino: Los recién llegados...
Arduino TRE
Microcontrolador: ATMEGA32u4
Procesador: Sitara AM335x a 1GHz (Linux)
Digital I/O pins: 14
PWM: 5
Analog Inputs: 6
Puertos: 1 USB, 4 USB Host, HDMI, Ethernet,
microSD, 2 jacks audio
Pineado compatible con Shields para UNO y
XBee Shields
Colaboración entre Arduino y BeagleBoard.
org. Fabricado en USA.
Disponibilidad: Primavera 2014
Placas Arduino: Los “robots”...
Arduino ROBOT
Microcontrolador: 2 ATMEGA32u4 (1 por placa)
Digital I/O pins: 5
PWM: 6
Analog Inputs: 4
Puerto: microSD
Sensores: Pad de botones, Potenciómetro, LCD
a color, altavoz, brújula, 2 motores (ruedas),
infrarrojos.
Comunicación: USB integrada en el
ATMEGA32u4
Destinado a proyectos de robótica.
Placas Arduino: Los “robots”...
Arduino ESPLORA
Microcontrolador: ATMEGA32u4
Sensores: incorpora múltiples sensores en la
placa: Joystick analógico (tipo PS3), 4 botones,
potenciómetro lineal, micrófono, LDR,
temperatura, acelerómetro, zumbador, RGB
LED, conector para TFT Display.
Puertos: Micro USB, puertos E/S TinkerKit
Diseñado para gente que quieren ponerse en
marcha con Arduino sin tener que aprender
primero conceptos de electrónica.
Placas Arduino: Los “otros”...
Arduino Lilypad
Microcontrolador: ATMEGA328V
Digital I/O pins: 14
PWM: 6
Analog Inputs: 6
Comunicación: cable FTDI o SparkFun breakout.
Voltaje: Operativo: 2.7 a 5.5V. MÁXIMO 5.5V.
Pensada para “wearables”. Permite ser cosida a
telas u otros materiales con hilo conductor.
Diseñada y producida por Leah Buechley y
SparkFun Electronics
Arduino UNO: Datos técnicos
Arduino UNO: Datos técnicos
Microcontroller

ATmega328

Operating Voltage

5V

Input Voltage (recommended)

7-12V

Input Voltage (limits)

6-20V

Digital I/O Pins

14 (of which 6 provide PWM output)

Analog Input Pins

6

DC Current per I/O Pin

40 mA

DC Current for 3.3V Pin

50 mA

Flash Memory

32 KB (ATmega328) of which 0.5 KB used by bootloader

SRAM

2 KB (ATmega328)

EEPROM

1 KB (ATmega328)

Clock Speed

16 MHz
Arduino UNO: Entradas y salidas
“Arduino y yo”

- Todo esto está muy bien, pero..
¡¿PARA QUÉ SIRVE ARDUINO?!
- Pues mira, veamos unos ejemplos...
Proyecto: ALARMINO
Idea: crear una especie de
temporizador con alarma.
Componentes: Display de 7 dígitos
LED, zumbador, LED, botones
pulsadores y resistencias
Material: Arduino UNO y Proto Shield
Proyecto: Coche “inteligente”
Idea: hacer un coche “inteligente” que
pueda salvar obstáculos. Además
responde a un mando a distancia por
infrarrojos.
Componentes: Sensor de distancia
por ultrasonidos, LEDs, resistencias...
Material: Arduino UNO, Motor Shield,
Prototype Shield, chásis del coche, 2
motores, portapilas, tornilleria varia...
Proyecto: Arduino “casero”
Idea: Construir un Arduino que sea
compatible con Shields para UNO,
aprovechando el pineado de las
Prototype Shields.
Componentes: Prototype Shields,
cabeceras, condensadores, regulador
7805, LEDs, pulsador, resistencias,
ATMEGA328, conector Barrel Jack
hembra 2.1mm, cristal 16MHz.
Nota: Lleva un puerto FTDI para poder
actualizarlo mediante el cable FTDI o
Breakout.
Proyecto: HASAMINO
Idea: crear un brazo robot controlado por 2
Joystick tipo PlayStation.
Componentes: servomotores, garra de aluminio,
2 Joystick, regulador 7805, condensadores.
Material: Arduino UNO y Prototype Shield, caja
de plástico como base.
Proyecto: Arduino Flasher
Idea: Construir un flasheador para
grabar el Bootloader y cargar un
Sketch en un ATMEGA328 vírgen.
Componentes: ATMEGA328 (como
programador), LEDs, condensadores,
resistencias, resonador 16 MHz...
Material: 2 Arduino Prototype Shields,
interruptores, pulsador, zócalo 28 pins,
cabeceras, ...
Proyecto: GARDUINO
Idea: Construir un control de riego para
una planta, basado en la humedad de la
tierra.
Componentes: LCD 20x2, botones
pulsadores, resistencias, relé, mini
bomba sumergible, sensor de humedad,
mini USB hembra, LEDs...
Material: Caja de registro eléctrico
como contenedor.
Notas: Proyecto basado en Arduino.
Utilizo un ATMEGA328 pre-programado
con el código.
Lleva además un puerto FTDI para
poder actualizarlo mediante el cable
FTDI o Breakout.
Arduino IDE
Un entorno de desarrollo integrado, llamado también IDE
(sigla en inglés de integrated development environment), es un
programa informático compuesto por un conjunto de
herramientas de programación. Puede dedicarse en exclusiva
a un solo lenguaje de programación o bien puede utilizarse
para varios.

Un IDE es un entorno de programación que ha sido
empaquetado como un programa de aplicación; es decir,
consiste en un editor de código, un compilador, un depurador y
un constructor de interfaz gráfica (GUI). Los IDE’s pueden ser
aplicaciones por sí solas o pueden ser parte de aplicaciones
existentes.

El Arduino IDE está disponible para Windows, Mac OS X y
Linux.
Arduino IDE
Los botones del Arduino IDE son muy sencillos, vamos a verlos
uno a uno.

Verificar: Comprueba el código en busca de errores.

Cargar: Compila el código y lo vuelca en la placa Arduino.

Nuevo: Crea un nuevo sketch.

Abrir: Abre un menú con todos los programas sketch del
Sketchbook (librería de sketch).

Guardar: Salva el programa sketch.

Monitor Serial: Inicia la monitorización serie.
Estructura de un “Sketch”
El lenguaje con el que se programa en Arduino es un
derivado del lenguaje de programación "Wiring".
La estructura básica de un sketch es similar a la de un
programa en C aunque con algunas diferencias.
Veamos cuál es la estructura mínima en un sketch.
1. Definición de variables
2. Función setup
3. Función loop
Estructura de un “Sketch”
En la primera parte definiremos las variables globales que
usaremos en el sketch.
int led = 13;
La segunda parte de un Sketch es una parte que solo se
ejecuta una vez tras el arranque de la placa Arduino, el
Setup.
Void Setup()
{
...
...
...
}
Estructura de un “Sketch”
La siguiente parte importante de un Sketch: el Loop.
Es la parte principal de nuestro programa pues en él
tendremos que poner el código para que el
microcontrolador lo ejecute de manera recursiva, es decir,
esta parte del Sketch se repetirá una y otra vez mientras
la placa Arduino tenga energía.
Void Loop()
{
...
...
...
}
“Hello world” (Blink Sketch)
En la mayoría de los lenguajes de programación, el primer
programa que tu escribes imprime en la pantalla del
ordenador la frase "Hola Mundo".
Ya que una placa Arduino no tiene una pantalla, haremos
parpadear un LED.
Las placas están diseñadas para que hacer parpadear un
LED sea muy fácil usando el pin digital 13. Algunas (como
la UNO, la Diecimila o la LilyPad) tienen el LED
directamente incorporado en la placa.
El ejemplo de la izquierda que habéis visto hasta ahora
hace esto.
“Hello world” (Blink Sketch)
En la definición de variables creamos una llamada “led” y
le asignamos el valor 13. Esto es así porque usaremos el
pin digital 13 en nuestro Arduino.
En el setup le indicaremos al Arduino que ese pin será
una salida (OUTPUT). Para esto usaremos la función
“pinMode”.
En el loop, usando la variable definida antes, lo que
haremos es poner el pin 13 en HIGH, es decir,
aplicaremos 5v en el pin.
Esperamos 1 segundo y repetimos la operación esta vez
apagando el pin, lo pondremos en estado LOW o 0v.
Antes de acabar volvemos a esperar 1 segundo y como la
función loop acaba aquí vuelve automáticamente al
principio poniendo de nuevo el pin en HIGH.
Protoboard o Breadboard.
La "protoboard" o "breadboard" (en inglés) es un
tablero con orificios conectados eléctricamente entre
sí, habitualmente siguiendo patrones de líneas, en el
cual se pueden insertar componentes electronicos y
cables para el montaje y prototipado de circuitos
electrónicos y sistemas similares.
De esta manera podemos “pinchar” nuestros
componentes para realizar prototipos sin tener que
realizar un solo punto de soldadura tantas veces
como queramos.
Las columnas verticales (en verde) están
conectadas entre sí, al igual que las filas
horizontales (en rojo y azúl), sin embargo éstas no
comparten la conexión entre ellas.
El espacio central está diseñado para poder insertar
un chip con encapsulado DIP (por ej. ATMEGA328
del Arduino UNO).
Componentes electrónicos básicos
¡Quiero más!
Para saber más y profundizar en tus proyectos personales tienes en internet
infinidad de información:

arduino.cc
playground.arduino.cc
forum.arduino.cc
instructables.com
arduteka.com
etc...
¡MUCHAS GRACIAS!

Más contenido relacionado

DOCX
Tipos de arduino y sus caracteristicas
PDF
ITT 18 Practicas Basicas de Arduino
PPTX
Dispositivos logicos programables
PPTX
Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...
PPTX
Evolucion de los procesadores amd
DOCX
CONTADOR BINARIO 8 BITS
PPTX
Arduino 1
PPTX
Introducción a Arduino
Tipos de arduino y sus caracteristicas
ITT 18 Practicas Basicas de Arduino
Dispositivos logicos programables
Arduino Historia, IDE, lenguaje de programacion y proyectos por Msc. Yamil La...
Evolucion de los procesadores amd
CONTADOR BINARIO 8 BITS
Arduino 1
Introducción a Arduino

La actualidad más candente (20)

PPTX
80286 80386-80486
PDF
Ejercicios de Multiplexores y decodificadores
PDF
Arduino: Practicas con Arduino
PPT
Compuertas Logicas
PPTX
Amplificador en Base Comun y Colector Comun
PDF
Programación PIC16F84A
PPTX
Presentacion sistema binario
PDF
El microcontrolador PIC16F877
PDF
Microcontroladores pic
DOCX
Informe insecto robot
PDF
Reporte de la tercera actividad
PPTX
Arduino presentacion
DOCX
Compuertas logicas aplicacion en electronica
DOCX
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
PDF
Cuestionario mtto preventivo pc sistemas - resuelto
DOCX
Informe Seguidor De Linea
PDF
Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...
PDF
Electrónica digital: capitulo 5 Circuitos combinacionales MSI
DOCX
Informe arduino y proteus
PPTX
Tipos de Ranuras de expansión
80286 80386-80486
Ejercicios de Multiplexores y decodificadores
Arduino: Practicas con Arduino
Compuertas Logicas
Amplificador en Base Comun y Colector Comun
Programación PIC16F84A
Presentacion sistema binario
El microcontrolador PIC16F877
Microcontroladores pic
Informe insecto robot
Reporte de la tercera actividad
Arduino presentacion
Compuertas logicas aplicacion en electronica
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
Cuestionario mtto preventivo pc sistemas - resuelto
Informe Seguidor De Linea
Libro de proyectos del kit oficial de Arduino en castellano completo - Arduin...
Electrónica digital: capitulo 5 Circuitos combinacionales MSI
Informe arduino y proteus
Tipos de Ranuras de expansión
Publicidad

Destacado (20)

PPTX
Arquitecturayfuncionamientodelordenador 141010024543-conversion-gate02
PPTX
Electronica
DOCX
Manual basico de practicas con Arduino uno
PPTX
3. primeros pasos con m block
PDF
Arduino práctico introducción a la electrónica
PDF
P01: Kiwibot Basic Shield: Empezamos con Arduino
PPT
Componentes Electronicos
PDF
Libro kit basico arduino
PPTX
Presentacion Arduino PowerPoint
PDF
Arduino: Programación y Robótica en Secundaria
PPSX
Presentación arduino 4 eso
PDF
20 Magnificos proyectos para ARDUINO
PDF
Workshop iniciacion arduino d2
DOCX
Taller+de+componentes+electrónicos+grado+10
DOCX
Taller De Componentes Electronicos
PDF
Componentes electrónicos!
PPSX
Electronica analogica
PPSX
Electronica analogica
PDF
D3 gestión de sistemas operativos
Arquitecturayfuncionamientodelordenador 141010024543-conversion-gate02
Electronica
Manual basico de practicas con Arduino uno
3. primeros pasos con m block
Arduino práctico introducción a la electrónica
P01: Kiwibot Basic Shield: Empezamos con Arduino
Componentes Electronicos
Libro kit basico arduino
Presentacion Arduino PowerPoint
Arduino: Programación y Robótica en Secundaria
Presentación arduino 4 eso
20 Magnificos proyectos para ARDUINO
Workshop iniciacion arduino d2
Taller+de+componentes+electrónicos+grado+10
Taller De Componentes Electronicos
Componentes electrónicos!
Electronica analogica
Electronica analogica
D3 gestión de sistemas operativos
Publicidad

Similar a Curso de introducción a arduino (20)

PPTX
Tarjetas arduino
PPTX
Arduino (terminado)
DOCX
Tarjeta arduino (1)
DOCX
Tarjeta arduino (1)
DOCX
Tarjeta arduino (1)
PPSX
Tarjetas arduino 1
DOCX
Tarjeta arduino
DOCX
Tarjeta arduino
PDF
Tarjeta arduino
PDF
Tarjeta arduino
PDF
Tarjeta arduino
PPT
Tarjetas arduino
PDF
GUIA BASICA ARDUINO
DOCX
Tarjeta arduino
PPSX
Tarjetas de arduino
PDF
Tecnologia (2)
PDF
Tecnologia (2)
PDF
PDF
Tecnologia
PDF
Tecnologia
Tarjetas arduino
Arduino (terminado)
Tarjeta arduino (1)
Tarjeta arduino (1)
Tarjeta arduino (1)
Tarjetas arduino 1
Tarjeta arduino
Tarjeta arduino
Tarjeta arduino
Tarjeta arduino
Tarjeta arduino
Tarjetas arduino
GUIA BASICA ARDUINO
Tarjeta arduino
Tarjetas de arduino
Tecnologia (2)
Tecnologia (2)
Tecnologia
Tecnologia

Más de 3D Print Barcelona (14)

PDF
Presentacion impresion 3D resinas printerpartybcn 2015
PDF
Introducción Impresión 3D printerpartybcn 2015
PPTX
Introducción a la Impresión 3d 09-2015
PDF
Introducción a la impresión en 3 d
PDF
Escaneo 3 d
ODP
Introducción a la impresión 3d 2014 10
ODP
Introducción a las impresoras delta/kossel
PDF
Introducción a la impresión 3D
PDF
Introducción a la impresión 3 d 2014 02
PDF
Processing
PDF
Presentación sobre "hotends" - Chema Muñoz -
PDF
Introducción a las impresoras3d de resina
PDF
Glosario impresoras 3d
PPTX
Introducción a la impresión en 3d
Presentacion impresion 3D resinas printerpartybcn 2015
Introducción Impresión 3D printerpartybcn 2015
Introducción a la Impresión 3d 09-2015
Introducción a la impresión en 3 d
Escaneo 3 d
Introducción a la impresión 3d 2014 10
Introducción a las impresoras delta/kossel
Introducción a la impresión 3D
Introducción a la impresión 3 d 2014 02
Processing
Presentación sobre "hotends" - Chema Muñoz -
Introducción a las impresoras3d de resina
Glosario impresoras 3d
Introducción a la impresión en 3d

Curso de introducción a arduino

  • 1. Curso de introducción a Arduino Pablo Carbajales @Kabuto
  • 3. ¿Qué es Arduino? Arduino es una plataforma de electrónica abierta. Sirve para la creación de prototipos fáciles de usar, basados en software y hardware flexible. Se creó para artistas, diseñadores, aficionados y cualquiera interesado en crear entornos u objetos interactivos.
  • 4. El cerebro de Arduino Arduino puede tomar información del entorno a través de sus pines de entrada de toda una gama de sensores y puede afectar aquello que le rodea controlando luces, motores y otros actuadores. El microcontrolador en la placa Arduino se programa mediante el lenguaje de programación Arduino (basado en Wiring) y el entorno de desarrollo Arduino (basado en Processing). Los proyectos hechos con Arduino pueden ejecutarse sin necesidad de conectarlo a un ordenador, si bien tienen la posibilidad de hacerlo y comunicar con diferentes tipos de software. En la imagen vemos el microcontrolador ATMEGA328P-PU fabricado por ATMEL.
  • 5. Arduino UNO Arduino UNO R3 (DIP) Arduino UNO es la versión más famosa de la placa y la podemos encontrar en 2 versiones la Arduino UNO "normal" y la versión UNO SMD. La primera utiliza el microcontrolador ATMEGA328 en formato DIP (Dual in-line package) y la segunda en formato SMD (surface-mount device). La ventaja que ofrece el formato DIP es que podemos extraerlo o reemplazarlo por uno nuevo siempre que queramos, mientras que en la versión SMD va soldado en la superficie de la placa. Arduino UNO (SMD) Si se pretende usar la placa como medio de programación del microcontrolador y luego integrarlo en otros montajes, es mejor la versión DIP, en cambio si se va a utilizar la placa en el proyecto final, ambas son válidas por igual.
  • 6. Arduino LEONARDO Microcontrolador: ATMEGA32u4 Digital I/O pins: 20 PWM: 7 Analog Inputs: 12 Puerto: Micro USB Comunicación USB integrada en el ATMEGA32u4 Existe una versión sin las cabeceras y el puerto de alimentación Barrel Jack 2.1mm.
  • 7. Placas Arduino: “Meet the family” Arduino Duemilanove (2009) Arduino NG Rev. C Arduino Diecimila (10.000) Arduino NG (Nueva Generación)
  • 8. Placas Arduino: Los abuelos... Arduino Extreme v2 Arduino Extreme Arduino USB v2.0 Arduino USB Arduino Serial v2.0 Arduino Serial
  • 9. Placas Arduino: Los hermanos mayores... Arduino MEGA 2560 Uno de los hermanos mayores del UNO, conocido por muchos por ser el “cerebro” de las impresoras 3D. Gracias a sus 54 pines de Entrada o Salida, permite conectar un gran número de componentes a la placa. El microcontrolador que usa y por el que recibe su nombre, es el ATMEGA 2560 fabricado también por ATMEL.
  • 10. Placas Arduino: Los hermanos mayores... Arduino DUE Parecido al MEGA 2560, este Arduino integra un microcontrolador Atmel SAM3X8E ARM Cortex-M3. Es el primero Arduino con un controlador ARM DE 32 bit. Una de sus características importantes es que corre a 3.3V, a diferencia de las demás placas Arduino.
  • 11. Placas Arduino: Los hermanos menores... Arduino NANO Microcontrolador: ATMEGA328 Digital I/O pins: 14 PWM: 7 Analog Inputs: 8 Puerto: Mini B USB Diseñado y producido por Gravitech
  • 12. Placas Arduino: Los hermanos menores... Arduino MICRO Microcontrolador: ATMEGA32u4 Digital I/O pins: 20 PWM: 7 Analog Inputs: 12 Puerto: Micro USB Comunicación USB integrada en el ATMEGA32u4
  • 13. Placas Arduino: Los hermanos menores... Arduino MINI Microcontrolador: ATMEGA328 Digital I/O pins: 14 PWM: 6 Analog Inputs: 12 Puerto: NINGUNO Comunicación: necesita un adaptador externo Voltaje MÁXIMO: 9V.
  • 14. Placas Arduino: Los primos... Arduino Pro Microcontrolador: ATMEGA368 Digital I/O pins: 14 PWM: 6 Analog Inputs: 6 Puerto: conector JST para baterias LiPo Puerto alimentación: Barrel Jack 2.1 (opcional) Modelos: 3.3V y 5V. Comunicación: cable FTDI o SparkFun breakout. Pineado compatible con Shields para UNO. Diseñado y producido por SparkFun Electronics.
  • 15. Placas Arduino: Los primos... Arduino Pro mini Microcontrolador: ATMEGA168 Digital I/O pins: 14 PWM: 6 Analog Inputs: 8 Puerto: NO Modelos: 3.3V y 5V. Comunicación: cable FTDI o SparkFun breakout. Diseñado y producido por SparkFun Electronics.
  • 16. Placas Arduino: Los primos... Arduino Fio Microcontrolador: ATMEGA328P Digital I/O pins: 14 PWM: 6 Analog Inputs: 8 Puerto: conector JST para baterias LiPo Puerto: USB Voltaje: 3.3V Comunicación: cable FTDI o SparkFun breakout. Pineado compatible con Xbee Shields (abajo) Diseñado y producido por SparkFun Electronics y Shigeru Kobayashi .
  • 17. Placas Arduino: Los “conect@2”... Arduino ETHERNET Microcontrolador: ATMEGA328 Chip internet: W5100 Digital I/O pins: 14 (pines 10 a 13 reservados) PWM: 4 Analog Inputs: 12 Puerto: RJ45 (Ethernet) Puerto: microSD Comunicación: cable FTDI o SparkFun breakout. Comunicación: PoE (opcional con breakout)
  • 18. Placas Arduino: Los “conect@2”... Arduino YÚN Microcontrolador: ATMEGA32u4 y Atheros AR9331 Atheros AR9331 soporta una distribución de Linux basada en OpenWRT llamada Linino Digital I/O pins: 20 PWM: 7 Analog Inputs: 12 Puerto: RJ45 (Ethernet) / Wi-Fi Puerto: microSD Puerto: micro USB // USB Host Comunicación: PoE (opcional con breakout)
  • 19. Placas Arduino: Los recién llegados... Arduino GALILEO Microcontrolador: Intel Quark SoC X1000 Digital I/O pins: 14 PWM: 6 Analog Inputs: 6 Puertos: Mini PCI-e, Ethernet, microSD, USB Host, USB cliente (programación) Alimentación: Barrel Jack 2.1 Voltaje: 3.3V (5V via jumper) Pineado compatible con Shields para UNO.
  • 20. Placas Arduino: Los recién llegados... Arduino TRE Microcontrolador: ATMEGA32u4 Procesador: Sitara AM335x a 1GHz (Linux) Digital I/O pins: 14 PWM: 5 Analog Inputs: 6 Puertos: 1 USB, 4 USB Host, HDMI, Ethernet, microSD, 2 jacks audio Pineado compatible con Shields para UNO y XBee Shields Colaboración entre Arduino y BeagleBoard. org. Fabricado en USA. Disponibilidad: Primavera 2014
  • 21. Placas Arduino: Los “robots”... Arduino ROBOT Microcontrolador: 2 ATMEGA32u4 (1 por placa) Digital I/O pins: 5 PWM: 6 Analog Inputs: 4 Puerto: microSD Sensores: Pad de botones, Potenciómetro, LCD a color, altavoz, brújula, 2 motores (ruedas), infrarrojos. Comunicación: USB integrada en el ATMEGA32u4 Destinado a proyectos de robótica.
  • 22. Placas Arduino: Los “robots”... Arduino ESPLORA Microcontrolador: ATMEGA32u4 Sensores: incorpora múltiples sensores en la placa: Joystick analógico (tipo PS3), 4 botones, potenciómetro lineal, micrófono, LDR, temperatura, acelerómetro, zumbador, RGB LED, conector para TFT Display. Puertos: Micro USB, puertos E/S TinkerKit Diseñado para gente que quieren ponerse en marcha con Arduino sin tener que aprender primero conceptos de electrónica.
  • 23. Placas Arduino: Los “otros”... Arduino Lilypad Microcontrolador: ATMEGA328V Digital I/O pins: 14 PWM: 6 Analog Inputs: 6 Comunicación: cable FTDI o SparkFun breakout. Voltaje: Operativo: 2.7 a 5.5V. MÁXIMO 5.5V. Pensada para “wearables”. Permite ser cosida a telas u otros materiales con hilo conductor. Diseñada y producida por Leah Buechley y SparkFun Electronics
  • 24. Arduino UNO: Datos técnicos
  • 25. Arduino UNO: Datos técnicos Microcontroller ATmega328 Operating Voltage 5V Input Voltage (recommended) 7-12V Input Voltage (limits) 6-20V Digital I/O Pins 14 (of which 6 provide PWM output) Analog Input Pins 6 DC Current per I/O Pin 40 mA DC Current for 3.3V Pin 50 mA Flash Memory 32 KB (ATmega328) of which 0.5 KB used by bootloader SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Clock Speed 16 MHz
  • 27. “Arduino y yo” - Todo esto está muy bien, pero.. ¡¿PARA QUÉ SIRVE ARDUINO?! - Pues mira, veamos unos ejemplos...
  • 28. Proyecto: ALARMINO Idea: crear una especie de temporizador con alarma. Componentes: Display de 7 dígitos LED, zumbador, LED, botones pulsadores y resistencias Material: Arduino UNO y Proto Shield
  • 29. Proyecto: Coche “inteligente” Idea: hacer un coche “inteligente” que pueda salvar obstáculos. Además responde a un mando a distancia por infrarrojos. Componentes: Sensor de distancia por ultrasonidos, LEDs, resistencias... Material: Arduino UNO, Motor Shield, Prototype Shield, chásis del coche, 2 motores, portapilas, tornilleria varia...
  • 30. Proyecto: Arduino “casero” Idea: Construir un Arduino que sea compatible con Shields para UNO, aprovechando el pineado de las Prototype Shields. Componentes: Prototype Shields, cabeceras, condensadores, regulador 7805, LEDs, pulsador, resistencias, ATMEGA328, conector Barrel Jack hembra 2.1mm, cristal 16MHz. Nota: Lleva un puerto FTDI para poder actualizarlo mediante el cable FTDI o Breakout.
  • 31. Proyecto: HASAMINO Idea: crear un brazo robot controlado por 2 Joystick tipo PlayStation. Componentes: servomotores, garra de aluminio, 2 Joystick, regulador 7805, condensadores. Material: Arduino UNO y Prototype Shield, caja de plástico como base.
  • 32. Proyecto: Arduino Flasher Idea: Construir un flasheador para grabar el Bootloader y cargar un Sketch en un ATMEGA328 vírgen. Componentes: ATMEGA328 (como programador), LEDs, condensadores, resistencias, resonador 16 MHz... Material: 2 Arduino Prototype Shields, interruptores, pulsador, zócalo 28 pins, cabeceras, ...
  • 33. Proyecto: GARDUINO Idea: Construir un control de riego para una planta, basado en la humedad de la tierra. Componentes: LCD 20x2, botones pulsadores, resistencias, relé, mini bomba sumergible, sensor de humedad, mini USB hembra, LEDs... Material: Caja de registro eléctrico como contenedor. Notas: Proyecto basado en Arduino. Utilizo un ATMEGA328 pre-programado con el código. Lleva además un puerto FTDI para poder actualizarlo mediante el cable FTDI o Breakout.
  • 34. Arduino IDE Un entorno de desarrollo integrado, llamado también IDE (sigla en inglés de integrated development environment), es un programa informático compuesto por un conjunto de herramientas de programación. Puede dedicarse en exclusiva a un solo lenguaje de programación o bien puede utilizarse para varios. Un IDE es un entorno de programación que ha sido empaquetado como un programa de aplicación; es decir, consiste en un editor de código, un compilador, un depurador y un constructor de interfaz gráfica (GUI). Los IDE’s pueden ser aplicaciones por sí solas o pueden ser parte de aplicaciones existentes. El Arduino IDE está disponible para Windows, Mac OS X y Linux.
  • 35. Arduino IDE Los botones del Arduino IDE son muy sencillos, vamos a verlos uno a uno. Verificar: Comprueba el código en busca de errores. Cargar: Compila el código y lo vuelca en la placa Arduino. Nuevo: Crea un nuevo sketch. Abrir: Abre un menú con todos los programas sketch del Sketchbook (librería de sketch). Guardar: Salva el programa sketch. Monitor Serial: Inicia la monitorización serie.
  • 36. Estructura de un “Sketch” El lenguaje con el que se programa en Arduino es un derivado del lenguaje de programación "Wiring". La estructura básica de un sketch es similar a la de un programa en C aunque con algunas diferencias. Veamos cuál es la estructura mínima en un sketch. 1. Definición de variables 2. Función setup 3. Función loop
  • 37. Estructura de un “Sketch” En la primera parte definiremos las variables globales que usaremos en el sketch. int led = 13; La segunda parte de un Sketch es una parte que solo se ejecuta una vez tras el arranque de la placa Arduino, el Setup. Void Setup() { ... ... ... }
  • 38. Estructura de un “Sketch” La siguiente parte importante de un Sketch: el Loop. Es la parte principal de nuestro programa pues en él tendremos que poner el código para que el microcontrolador lo ejecute de manera recursiva, es decir, esta parte del Sketch se repetirá una y otra vez mientras la placa Arduino tenga energía. Void Loop() { ... ... ... }
  • 39. “Hello world” (Blink Sketch) En la mayoría de los lenguajes de programación, el primer programa que tu escribes imprime en la pantalla del ordenador la frase "Hola Mundo". Ya que una placa Arduino no tiene una pantalla, haremos parpadear un LED. Las placas están diseñadas para que hacer parpadear un LED sea muy fácil usando el pin digital 13. Algunas (como la UNO, la Diecimila o la LilyPad) tienen el LED directamente incorporado en la placa. El ejemplo de la izquierda que habéis visto hasta ahora hace esto.
  • 40. “Hello world” (Blink Sketch) En la definición de variables creamos una llamada “led” y le asignamos el valor 13. Esto es así porque usaremos el pin digital 13 en nuestro Arduino. En el setup le indicaremos al Arduino que ese pin será una salida (OUTPUT). Para esto usaremos la función “pinMode”. En el loop, usando la variable definida antes, lo que haremos es poner el pin 13 en HIGH, es decir, aplicaremos 5v en el pin. Esperamos 1 segundo y repetimos la operación esta vez apagando el pin, lo pondremos en estado LOW o 0v. Antes de acabar volvemos a esperar 1 segundo y como la función loop acaba aquí vuelve automáticamente al principio poniendo de nuevo el pin en HIGH.
  • 41. Protoboard o Breadboard. La "protoboard" o "breadboard" (en inglés) es un tablero con orificios conectados eléctricamente entre sí, habitualmente siguiendo patrones de líneas, en el cual se pueden insertar componentes electronicos y cables para el montaje y prototipado de circuitos electrónicos y sistemas similares. De esta manera podemos “pinchar” nuestros componentes para realizar prototipos sin tener que realizar un solo punto de soldadura tantas veces como queramos. Las columnas verticales (en verde) están conectadas entre sí, al igual que las filas horizontales (en rojo y azúl), sin embargo éstas no comparten la conexión entre ellas. El espacio central está diseñado para poder insertar un chip con encapsulado DIP (por ej. ATMEGA328 del Arduino UNO).
  • 43. ¡Quiero más! Para saber más y profundizar en tus proyectos personales tienes en internet infinidad de información: arduino.cc playground.arduino.cc forum.arduino.cc instructables.com arduteka.com etc...