Páginas

domingo, 22 de abril de 2012

[Emb Com Lab] Arduino

Basicamente, ARDUINO es una plataforma de desarrollo libre. Esta basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica.

El hardware consiste en una placa con un microcontrolador Atmel AVR y puertos de entrada/salida. Los microcontroladores más usados son el Atmega168, Atmega328, Atmega1280, ATmega8 por su sencillez y bajo coste que permiten el desarrollo de múltiples diseños.
Por otro lado el software consiste en un entorno de desarrollo que implementa el lenguaje de programación Processing/Wiring y el cargador de arranque (boot loader) que corre en la placa.

Las placas pueden ser hechas a mano o compradas montadas de fábrica; el software puede ser descargado de forma gratuita.

Componentes



ColormapDescripción
Terminal de referencia analógica
Tierra digital
Terminales digitales 2-13
Terminales digitales 0-1/ E/S serie TX/RX. Estos pines no se pueden utilizar como e/s digitales
Botón de reinicio - S1
Programador serie en circuito "In-circuit Serial Programmer" o "ICSP"
Terminales de entrada analógica 0-5
Terminales de alimentación y tierra
Entrada de alimentación externa (9-12VDC) - X1
Selector de alimentación externa o por USB. En las versiones nuevas de Arduino la selección de alimentacion es automática por lo que puede que no tengas este selector.
USB (utilizado para subir programas a la placa y para comunicaciones serie entre la placa y el ordenador; puede utilizarse como alimentación de la placa)

Microcontroladores Utilizados

IC1 Atmega168 Atmega328 Atmega1280
Voltaje operativo 5 V 5 V 5 V
Voltaje de entrada recomendado 7-12 V 7-12 V 7-12 V
Voltaje de entrada límite 6-20 V 6-20 V 6-20 V
Pines de entrada y salida digital 14 (6 proporcionan PWM) 14 (6 proporcionan PWM) 54 (14 proporcionan PWM)
Pines de entrada analógica 6 6 16
Intensidad de corriente 40 mA 40 mA 40 mA
Memoria Flash 16KB (2KB reservados para el bootloader) 32KB (2KB reservados para el bootloader) 128KB (4KB reservados para el bootloader)
SRAM 1 KB 2 KB 8 KB
EEPROM 512 bytes 1 KB 4 KB
Frecuencia de reloj 16 MHz 16 MHz 16 MHz


Terminales Digitales: Las terminales digitales de una placa Arduino pueden ser utilizados para entradas o salidas de propósito general a través de los comandos pinMode(), digitalRead(), y digitalWrite(). Cada terminal tiene una resistencia pull-up que puede activarse o desactivarse utilizando DigitalWrite() (con un valor de HIGH o LOW, respectivamente) cuando el pin esta configurado como entrada. La corriente máxima por salida es 40 mA.
  • Serial: 0 (RX) y 1 (TX): Utilizado para recibir (RX) y transmitir (TX) datos serie TTL.
  • Interrupciones externas: 2 y 3: Estas terminales pueden ser configuradas para disparar una interrupción con un valor bajo, un pulso de subida o bajada, o un cambio de valor.
  • PWM: 3, 5, 6, 9, 10, y 11: Proporcionan salidas PWM de 8 bit con la función analogWrite(). En placas con ATmega8, las salidas PWM solo están disponibles en los pines 9, 10, y 11.
  • SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK): Estas terminales soportan comunicación SPI. Aunque esta funcionalidad esta proporcionada por el hardware, no está incluida actualmente el el lenguaje Arduino.
  • LED: 13: Conectado al pin digital 13, cuando el pin tiene valor HIGH, el LED está encendido, cuando el pin está en LOW, está apagado

Pines analogicos: En adición a las funciones específicas listadas abajo, los pines de entrada analógicos soportan conversiones analógico-digital (ADC) de 10 bit utilizando la función analogRead(). Las entradas analógicas pueden ser también usadas como pines digitales: entrada analógica 0 como pin digital 14 hasta la entrada analógica 5 como pin digital 19.
  • I2C: 4 (SDA) y 5 (SCL): Soportan comunicaciones I2C (TWI) utilizando la librería Wire

Alimentación
  • VIN (9V): Es el voltaje de entrada a la placa Arduino cuando se está utilizando una fuente de alimentación externa
  • 5V: La alimentación regulada utilizada para alimentar el microcontrolador y otros componentes de la placa. Esta puede venir de VIN a través de un regulador en placa o ser proporcionada por USB u otra fuente regulada de 5V.
  • GND: Pines de tierra
  • AREF: Referencia de voltaje para las entradas analógicas.
  • Reset: Pon esta línea a LOW para resetear el microcontrolador


Tipos de Arduino


Arduino Duemilanove



Es una placa con microcontrolador basada en el ATmega168 o ATmega328. Tiene 14 pines con entradas/salidas digitales (6 de las cuales pueden ser usadas como salidas PWM), 6 entradas analógicas, un cristal oscilador a 16Mhz, conexión USB, entrada de alimentación, una cabecera ISCP, y un botón de reset. Contiene todo lo necesario para utilizar el microcontrolador; simplemente conectalo a tu ordenador a través del cable USB o aliméntalo con un transformador o una batería para empezar a trabajar con el. "Duemilanove" significa 2009 en italiano que fue el año cuando salio al mercado. El Duemilanove es el mas popular en dentro de las series de placas con USB

MicrocontroladorATmega368 o ATmega168
Voltaje de funcionamiento5V
Voltaje de entrada (recomendado)7-12V
Voltaje de entrada (limite)6-20V
Pines E/S digitales14 (6 proporcionan salida PWM)
Pines de entrada analógica6
Intensidad por pin40 mA
Intensidad en pin 3.3V50 mA
Memoria Flash16 KB (ATmega168) o 32 KB (ATmega328) de las cuales 2 KB las usa el gestor de arranque (bootloader)
SRAM1 KB (ATmega168) o 2 KB (ATmega328)
EEPROM512 bytes (ATmega168) o 1 KB (ATmega328)
Velocidad de reloj16 MHz


Arduino Mega



El Arduino Mega es una placa microcontrolador basada ATmeg1280. Tiene 54 entradas/salidas digitales (de las cuales 14 proporcionan salida PWM), 16 entradas digitales, 4 UARTS (puertos serie por hardware), un cristal oscilador de 16MHz, conexión USB, entrada de corriente, conector ICSP y botón de reset. Contiene todo lo necesario para hacer funcionar el microcontrolador; simplemente conectálo al ordenador con el cable USB o aliméntalo con un trasformador o batería para empezar. El Mega es compatible con la mayoría de shields diseñados para el Arduino Duemilanove o Diecimila.

MicrocontroladorATmega1280
Voltaje de funcionamiento5V
Voltaje de entrada (recomendado)7-12V
Voltaje de entrada (limite)6-20V
Pines E/S digitales54 (14 proporcionan salida PWM)
Pines de entrada analógica16
Intensidad por pin40 mA
Intensidad en pin 3.3V50 mA
Memoria Flash128 KB de las cuales 4 KB las usa el gestor de arranque(bootloader)
SRAM8 KB
EEPROM4 KB
Velocidad de reloj16 MHz


Arduino Bluetooth



Es una placa Arduino con el módulo Blueetooh incorporado, que permite la comunicación inalámbrica.
El uso de un convertidor DC-DC,permite que la placa sea alimentada con un mínimo de 1,2 V, pero con un máximo de 5,5 V. Los voltajes superiores o la polaridad invertida en la fuente de alimentación estropeará la placa.
Un ATmega168 para montaje en superficie (como con el Arduino Mini). Esto duplica la cantidad de espacio disponible para tus sketches y agrega tres pines PWM más y dos entradas analógicas.
El Pin 7 está conectado al pin de reinicio (reset) del módulo bluetooth.
Utiliza sólo la comunicación serie a 115200 baudios, que es la velocidad a la que el módulo ha sido configurado para usar.

Arduino Nano



El Arduino Nano es una pequeña y completa placa basada en el ATmega328 (Arduino Nano 3.0) o ATmega168 (Arduino Nano 2.x) que se usa conectándola a una protoboard. Tiene más o menos la misma funcionalidad que el Arduino Duemilanove, pero con una presentación diferente. No posee conector para alimentación externa, y funciona con un cable USB Mini-B en vez de el cable estandar. El nano fue diseñado y está siendo producido por Gravitech.

MicrocontroladorAtmel ATmega168 o ATmega328
Voltaje de funcionamiento5V
Voltaje de entrada (recomendado)7-12V
Voltaje de entrada (limite)6-20V
Pines E/S digitales14 (de los cuales 6 proveen de salida PWM)
Pines de entrada analógica8
Corriente máx por cada PIN de E/S40 mA
Memoria Flash16 KB (ATmega168) o 32 KB (ATmega328) de los cuales 2KB son usados por el bootloader
SRAM1 KB (ATmega168) o 2 KB (ATmega328)
EEPROM512 bytes (ATmega168) o 1 KB (ATmega328)
Velocidad de reloj16 MHz
Dimensiones18,5mm x 43.2mm


Arduino Mini



Arduino Mini es una placa con un pequeño microcontrolador basada en el ATmega168, pensada para ser usada en placas de prototipado y donde el espacio es un bien escaso. Cuenta con 14 entradas/salidas digitales (de las cuales 6 pueden ser usadas como salidas PWM ), 8 entradas analógicas y un cristal de 16 MHZ. Puede ser programada con el adaptador Mini USB u otros adpatadores USB o RS232 a TTL serial

MicrocontroladorATmega168
Voltaje de funcionamiento5V
Voltaje de entrada (recomendado)7-9V
Voltaje de entrada (limite)6-20V
Pines E/S digitales14 (de los cuales 6 proveen de salida PWM)
Pines de entrada analógica8 (de las cuales 4 se extienden en pines)
Corriente máx por cada PIN de E/S40 mA
Memoria Flash16 KB (de las cuales 2 KB son usadas por el bootloader)
SRAM1 KB
EEPROM512 bytes
Velocidad de reloj16 MHz


LilyPad Arduino



El LilyPad Arduino es una placa con microcontrolador diseñado para prendas y e-textiles. Puede utilizar con complementos similares como fuentes de alimentación, sensores actuadores unidos por hilo conductor. La placa esta basada en el ARmega168V (la versión de baja consumo del ATmega168), o el ATmega328V. El LilyPad Arduino ha sido diseñado y desarrollado por Leah Buechley y SparkFun Electronics.

MicrocontroladorATmega168V
Voltaje de funcionamiento2.7-5.5 V
Voltaje de entrada2.7-5.5 V
Pines E/S digitales14 (de los cuales 6 proveen de salida PWM)
Pines de entrada analógica6
Corriente máx por cada PIN de E/S40 mA
Memoria Flash16 KB (de las cuales 2 KB son usadas por el bootloader)
SRAM1 KB
EEPROM512 bytes
Velocidad de reloj8 MHz


Arduino Serial



Es una placa básica que utiliza una interfaz RS232 para comunicarse con el ordenador o para la carga de sketches. Esta placa es fácil de montar, incluso como ejercicio de aprendizaje. Se ha diseñado para utilizar los componentes más simples posibles, de manera que sea fácil de construir, incluso si buscas las componentes en la tienda de la esquina.

Arduino Shields


Los Shields son placas que se colocan encima de la placa Arduino y que amplían una nueva función para que sea controlada desde Arduino, para controlar diferentes aparatos, adquirir datos, etc.

XBEE Shield



La Xbee shield permite a una placa Arduino comunicarse de forma inalámbrica usando Zigbee. Está basada en el módulo Xbee de MaxStream. El módulo puede comunicarse hasta 100ft (30 metros) en interior o 300ft (90 metros) al aire libre (en visión directa). Puede ser usado como reemplazo del puerto serie/usb o puedes ponerlo en modo de comandos y configurarlo para una variedad de opciones de redes broadcast o malladas. La shield tiene pistas desde cada pin del Xbee hasta un orificio de soldar. También provee conectores hembra para usar los pines digitales desde 2 hasta 7 y las entradas analógicas, las cuales están cubiertas por la shield (los pines digitales de 8 a 13 no están cubiertos por la placa, así que puedes usar los conectores de la placa directamente).

Ethernet Shield



La Arduino Ethernet Shield permite a una placa Arduino conectarse a internet. Está basada en el chip ethernet Wiznet W5100. El Wiznet W5100 provee de una pila de red IP capaz de TCP y UDP. Soporta hasta cuatro conexiones de sockets simultáneas. Usa la librería Ethernet para escribir programas que se conecten a internet usando la shield.
Por favor notar que el actual diseño de la ethernet shield no es compatible con el Arduino Mega.
La ethernet shield dispone de unos conectores que permiten conectar a su vez otras placas encima y apilarlas sobre la placa Arduino.
Arduino usa los pines digitales 10, 11, 12, y 13 (SPI) para comunicarse con el W5100 en la ethernet shield. Estos pines no pueden ser usados para e/s genéricas.
La shield provee un conector ethernet estándar RJ45
El botón de reset en la shield resetea ambos, el W5100 y la placa Arduino.

La shield contiene un número de LEDs para información:
  • PWR: indica que la placa y la shield están alimentadas
  • LINK: indica la presencia de un enlace de red y parpadea cuando la shield envía o recibe datos
  • FULLD: indica que la conexión de red es full duplex
  • 100M: indica la presencia de una conexión de red de 100 Mb/s (de forma opuesta a una de 10Mb/s)
  • RX: parpadea cuando la shield recibe datos
  • TX: parpadea cuando la shield envía datos
  • COLL: parpadea cuando se detectan colisiones en la red
El jumper soldado marcado como "INT" puede ser conectado para permitir a la placa Arduino recibir notificaciones de eventos por interrupción desde el W5100, pero esto no está soportado por la librería Ethernet. El jumper conecta el pin INT del W5100 al pin digital 2 de Arduino.
El slot SD en la shield no está soportado por el software Arduino.

Referencias

1 comentario: