Publicidad
Publicidad

Más contenido relacionado

Publicidad

Curso de introducción a arduino

  1. Curso de introducción a Arduino Pablo Carbajales @Kabuto
  2. ¿Elegir la placa azul?
  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
  26. Arduino UNO: Entradas y salidas
  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).
  42. Componentes electrónicos básicos
  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...
  44. ¡MUCHAS GRACIAS!
Publicidad