Arduino es una plataforma física computacional open-hardware
basada en una sencilla placa con entradas y salidas (E/S), analógicas y
digitales, y en un entorno de desarrollo que implementa el lenguaje
Processing/Wiring. Arduino puede utilizarse en el desarrollo de objetos
interactivos autónomos o puede conectarse a un PC a través del puerto serie
utilizando lenguajes como Flash, Processing, MaxMSP, etc. Las posibilidades de
realizar desarrollos basados en Arduino tienen como límite la imaginación. El
IDE open-source puede ser descargado gratis (para
Windows, Mac OS X, Linux).
El Arduino Mega está basado en el microcontrolador ATMega2560. Tiene 54
pines de entradas/salidas digitales (14 de las cuales pueden ser utilizadas
como salidas PWM), 16 entradas analogas, 4 UARTs (puertos serial por hardware),
cristal oscilador de 16 Mhz, conexión USB, jack de alimentación, conector ICSP
y botón de reset. Incorpora todo lo necesario para que el microcontrolador
trabaje; simplementa conectalo a tu PC por medio de un cable USB o con una
fuente de alimentación externa. El Arduino Mega es compatible con la mayoría de
los shields diseñados para Arduino Duemilanove, diecimila o UNO.
Esta nueva versión de
Arduino Mega 2560 adicionalmente a todas las características de su sucesor, el
Arduino Mega ahora utiliza un microcontrolador ATMega8U2 en vez del chip FTDI.
Esto permite mayores velocidades de transmisión por su puerto USB y no requiere
drivers para Linux o MAC (archivo inf es necesario para Windows) además ahora
cuenta con la capacidad de ser reconocido por el PC como un teclado, mouse,
joystick, etc.
Características:
Microcontrolador ATmega2560.
Voltage de entrada de –
7-12V.
54 pines digitales de
Entrada/Salida (14 de ellos son salidas PWM).
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.
Arduino Nano 2.3 (ATmega168): manual (pdf), Archivos
Eagle. Nota: debido a que la versión gratuita de
Eagle no permite trabajar con más de dos capas, y esta versión del Nano posee 4
capas, se ha publicado aquí sin ser enrutado, así los usuarios pueden abrirlo y
usarlo en la versión gratuita de Eagle.
Especificaciones:
Microcontrolador
Atmel ATmega168 o ATmega328
Tensión de Operación (nivel lógico)
5 V
Tensión de Entrada (recomendado)
7-12 V
Tensión de Entrada (límites)
6-20 V
Pines E/S Digitales
14 (de los cuales 6 proveen de salida PWM
Entradas Analógicas
8
Corriente máx por cada PIN de E/S
40 mA
Memoria Flash
16 KB (ATmega168) o 32 KB (ATmega328) de los
cuales 2KB son usados por el bootloader
SRAM
1 KB (ATmega168) o 2 KB (ATmega328)
EEPROM
512 bytes (ATmega168) o 1 KB (ATmega328)
Frecuencia de reloj
16 MHz
Dimensiones
18,5mm x 43.2mm
Alimentación:
El Arduino Nano puede ser alimentado usando el
cable USB Mini-B , con una fuente externa no regulada de 6-20V (pin 30), o con
una fuente externa regulada de 5V (pin 27). La fuente de alimentación es
seleccionada automáticamente a aquella con mayor tensión.
El chip FTDI FT232RL que posee el Nano
solo es alimentado si la placa esta siendo alimentada usando el cable USB. como
resultado, cuando se utiliza una fuente externa (no USB), la salida de 3.3V (la
cual es proporcionada por el chip FTDI) no está disponible y los pines 1 y 0
parpadearán si los pines digitales 0 o 1 están a nivel alto.
Memoria
El ATmega168 posee 16KB de memoria flash
para almacenar el codigo (de los cuales 2KB son usados por el bootloader); elATmega 328
posee 32KB, (también con 2 KB usados por el bootloader). El Atmega168 posee 1KB
de SRAM y 512 bytes de EEPROM (la cual puede ser leida y escrita con la librería EEPROM); el ATmega328 posee
2 KB de SRAM y 1KB de EEPROM.
Entrada y Salida
Cada uno de los 14 pines digitales del Nano puede
ser usado como entrada o salida, usando las funciones pinMode(),digitalWrite(), y digitalRead(). Operan a 5
voltios. Cada pin puede proveer o recibir un máximo de 40mA y poseen una
resistencia de pull-up (desconectada por defecto) de 20 a 50 kOhms. Además
algunos pines poseen funciones especializadas:
·Serial: 0 (RX) y 1 (TX). (RX) usado para recibir y (TX)usado para transmitir datos TTL vía
serie. Estos pines están conectados a los pines correspondientes del chip
USB-a-TTL de FTDI.
·Interrupciones Externas:
pines 2 y 3. Estos pines pueden ser configurados para
activar una interrupción por paso a nivel bajo, por flanco de bajada o flanco
de subida, o por un cambio de valor. Mira la función attachInterrupt() para
más detalles.
·PWM: pines 3, 5, 6, 9,
10, y 11. Proveen de una salida PWM de 8-bits cuando se
usa la función analogWrite().
·SPI: pines 10 (SS), 11
(MOSI), 12 (MISO), 13 (SCK). Estos pines soportan la
comunicación SPI, la cual, a pesar de poseer el hardware, no está actualmente
soportada en el lenguaje Arduino.
·LED: Pin 13. Existe un LED conectado al pin digital 13. Cuando el pin se
encuentra en nivel alto, el LED está encendido, cuando el pin está a nivel
bajo, el LED estará apagado.
El Nano posee 8 entradas analógicas, cada unas de
ellas provee de 10 bits de resolución (1024 valores diferentes). Por defecto
miden entre 5 voltios y masa, sin embargo es posible cambiar el rango superior
usando la funciónanalogReference().
También, algunos de estos pines poseen funciones especiales:
·I2C: Pines 4
(SDA) y 5 (SCL). Soporta comunicación I2C (TWI)
usando la librería Wire (documentación
en la web Wiring)
Hay algunos otros pines en la placa:
·AREF. Tensión de referencia por las entradas analógicas. Se configura
con la función analogReference().
·Reset. Pon esta linea a nivel bajo para resetear el microcontrolador.
Normalmente se usa para añadir un botón de reset que mantiene a nivel alto el
pin reset mientras no es pulsado.
El Arduino Nano tiene algunos métodos para la
comunicación con un PC, otro Arduino, u otros microcontroladores. ElATmega168 y
el ATmega328 poseen un módulo UART que funciona con TTL (5V)el cual
permite una comunicación vía serie, la cual está disponible usando los pines 0
(RX) y 1 (TX). El chip FTDI FT232RL en la placa hace de puente a
través de USB para la comunicación serial y los controladores FTDI (incluidos
con el software de Arduino) provee al PC de un puerto com vitual para el
software en el PC. El software Arduino incluye un monitor serial que permite
visualizar en forma de texto los datos enviados desde y hacia la placa Arduino.
Los LEDs RX y TX en la placa parpadearán cuando los datos se estén
enviando a través del chip FTDI y la conexión USB con el PC (Pero no para la
comunicación directa a través de los pines 0 y 1)
La librería
SoftwareSerial permite llevar a cabo una comunicación serie
usando cualquiera de los pines digitales del Nano.
El ATmega168 y el ATmega328 también
soporta comunicación I2C (TWI) y SPI. El software Arduino incluye la
librería Wire para simplificar el uso del bus I2C; mira la documentación para
más detalles. Para usar la comunicación SPI, por favor mira la hoja de datos
del ATmega168 o el ATmega328.
Programación
El Arduino Nano puede ser programado con el
software de Arduino (descarga).
Selecciona "Arduino Diecimila, Duemilanove, o Nano w/ ATmega168"
o "Arduino Duemilanove or Nano w/ ATmega328" de el menú Tools > Board(seleccionando el
modelo del microcontrolador en tu placa). Para más detalles, mira la referencia y
los tutoriales.
El ATmega168 o ATmega328 del
Arduino Nano vienen preprogramados con un bootloader que te
permite subir tu código al Arduino sin la necesidad de un programador externo.
Se comunica usando el protocolo STK500 original (referencia,Archivos
cabecera C).
También puedes programar el microcontrolador usando
un programador ICSP (In-Circuit Serial Programming, Pogramación Serie
En-Circuito); visita estasinstrucciones para
más detalles.
Reset Automático (Software)
En vez de necesitar pulsar un botón físico de
reset, el Arduino Nano ha sido diseñado de tal manera que permite ser reseteado
por el software del PC al que está conectado. Una de las líneas de control de
flujo por hardware (DTR) del chipFT232RL está conectada a la línea de
reset del ATmega168 o ATmega328 a través de un condensador
de 100 nanofaradios. Cuando esta línea se pone a nivel bajo, la linea de reset
se mantiene a nivel bajo el suficiente tiempo para causar el reset del chip. El
software de Arduino usa esta capacidad para permitir cargar código en el
Arduino pulsando simplemente el botón "upload" en el entorno software
de Arduino. Esto significa que el tiempo de espera del bootloader es más
pequeño, ya que el tiempo en el que se encuentra a nivel bajo el DTR puede ser
cordinado bien con el inicio de la carga del código.
Esta configuración tiene otras implicaciones.
Cuando el Nano se conecta a un PC que funciona con Mac OS X o Linux, se resetea
cada vez que se hace la conexión con el software (a través del USB). Durante el
siguiente medio segundo más o menos, el bootloader está corriendo en el Nano.
Como el bootloader ha sido para programado para ignorar cualquier dato erróneo
(cualquier dato que no sea la carga de nuevo código), por lo tanto ignorará los
primeros bytes que se reciban justo después de hacer la conexión. Si un sketch
cargado en la placa recibe algún tipo de configuración o algún otro tipo de
dato importante nada más iniciarse, asegúrate de que el software con el que se
comunique, espere al menos un segundo antes de enviar datos para que no sean
ignorados por el bootloader.