Arduino Mega 2560
shadow

El Arduino Mega 2560 es una placa microcontrolada basada en un ATmega2560 (datasheet). Tiene 54 pines de entradas/salidas digital (14 de ellos pueden ser usados como salidas PWM). 16 entradas analógicas. 4UARTs (Puertos seriales por Hardware), un oscilador de 16Mhz, conexión USB, jack de alimentación, un conector ICSP y un botón de reset. Contiene todo lo necesario para funcionar, simplemente conéctelo al ordenador mediante un cable USB o alimentalo utilizando un adaptador AC/DC o baterías para empezar a utilizar. Mega es compatible con la mayoría de los shields diseñados para Arduino Duemilanove o Diecimila.

La Mega 2560 es una versión nueva de la Arduino Mega que la ha remplazado.

La Mega2560 se diferencia de sus predecesoras porque no unas un chip FTDI USB-to-Serial. En lugar de eso emplea un Atmega16U2(ATmega8U2 en la versión 1 y 2 de las placas.) programado como convertidor USB-to-Serial.

En la versión 2 de la Mega2560 una resistencia une la pata HWB con tierra para facilitar ponerlo en modo DFU.

La versión 3 de la placa tiene algunas mejoras:

  • añadido los pines SDA y SCL cerca del pin AREF y otros dos pines colocados cerca del pin de Reset, el IOREF que permite a los shields adaptarse al voltaje de la placa y otro pin sin conectar para futuros usos. De esta forma en el futuro los shields podrán ser compatible con las placas que usan AVR. Que operan a 5 y Arduino Due, que opera a 3.3V.
  • Cambios en el circuito de reset.
  • Atmega16U2 sustituido por el 8U2
Esquemas, diseños y mappeo de pines

Ficheros de EAGLE: arduino-mega2560_R3-reference-design.zip

Esquemático:arduino-mega2560_R3-schematic.pdf

Mapa de Pines: PinMap2560 page

Resumen
Microcontrolador ATmega2560
Voltaje de operaciones 5V
Voltaje de entrada recomendado 7-12V
Voltaje de entrada máximo 6-20V
Entradas/Salidas digitales 54(15 de ellas pueden ser usadas como PWM)
Entradas analógicas 16
Tensión máxima por pin de entrada/salida 40mA
Tensión máxima en el pin de 3.3V 50mA
Memoria Flash 256Kb (8kb usados para el bootloader)
SRAM 8Kb
EEPROM 4Kb
Velocidad de reloj 16Mhz
Alimentación

Arduino Mega puede ser alimentado vía USB o conectándolo a una fuente de alimentación externa. La selección entre estas opciones se hace de forma automática.

La alimentación externa puede hacerse con un adaptar de corriente continua o una batería. El adaptador puede ser conectado mediante un conector de 2.1mm con el positivo en el centro. Este se puede conectar directamente a jack de la placa. Las baterías pueden conectarse a los pines de Vin(+) y GND(-).

La placa puede funcionar con una alimentación externa de entre 6 y 20V. Sin embargo, si se suministran menos d e7V el pin de 5V podría no alcanzar este valor y la placa puede ser inestable. Si se usan más de 12V el regulador podría sobre calentarse y causar daños a la placa, por lo tanto el rango recomendables seria de entre 7 y 12 V.

Los pines de alimentación son:

  • VIN: entrada de voltaje de la placa Arduino.
  • 5V: Este pin ofrece una salida regulada de 5V desde el regulador de la placa. Este pin puede ser utilizado cuando la placa esta siendo alimentada desde el jack de alimentación (7-12V), el conector USB (5V) o el pin VIN (7-12V).
  • Alimentar la placa mediante este pin es posible, pero la corriente no pasará por el regulador y podría dañarse Arduino. NO ESTA RECOMENDADO.
  • 3V3. Salida regulada a 3,3V mediante el regulador de la placa. Puede entregar un máximo de 50mA.Alimentar la placa mediante este pin es posible, pero la corriente no pasará por el regulador y podría dañarse Arduino. NO ESTA RECOMENDADO.
  • GND: pin de tierra.
  • IOREF: Este pin en la placa Arduino proporciona la tensión de referencia con el que el microcontrolador opera. Un shield correctamente configurado puede leer el voltaje pin IOREF y seleccione la fuente de alimentación adecuada o habilitar reguladores de tensión en las salidas para trabajar con 5V o 3.3V.
Memoria

El ATmega2560 tiene 256Kb de memoria flash (8 KB son usados para el bootloader). Además tiene 8Kb de SRAM y 4Kb de EEPROM(Esta puede ser escrita y leída por la librería EEPROM )

Los 54 pines digitales de Mega pueden ser usados como entradas o salidas usando las funciones pinMode(), digitalWrite() y digitalRead(). Todas ellas funcionan a 5V. Cada pin puede entregar o recibir un máximo de 40mA y tienen una resistencia pull-up (desconectada por defecto) de 20 - 50 Kohm. Ademas, algunos pines tienen funciones especiales.

Serial: 0 (RX) y 1(TX)

Serial 1: 19 (RX) y 18 (TX)

Serial 2: 17(RX) y 16 (TX)

Serial 3: 15 (RX) y 14 (TX)

Usados para recibir (RX) y transmitir (TX) datos serial TTL. Los pines 1 y 2 además están conectados a los pines correspondientes del Atmega16U2 USB-to-Serial

Interrupciones Externas pines 2 (Interrupción 0), 3 (interrupción 1),18 (Interrupción 5), 19 (interrupción 4), 20 (interrupción 3) y 21 (interrupción 2). Estos pines están configurados disparadores de interrupción cuando el valor de la entrada pasa a alta, a baja o cambia de valor. Para más información consultar la función attachInterrupt()

PWM: Los pines del 4 al 13 y del 44 al 46 proporcionan salidas PWM de 8 bits utilizando la función analogWrite

SPI : 50 (MISO),51(MOSI),52(SCK),53(SS): Estos pines soportan comunicación SPI usando la librería SPI. Los pines SPI están fuera del conector ICSP para ser físicamente compatible con Arduino Uno, Duemilanove y Diecimila

LED: 13. Este pin esta conectado a un LED. Cunado el pin esta en alta el led se enciende, cuando esta en baja se apaga

TWI: 20 (SDA) y 21 (SCL). Soportan comunicación TWI utilizando la librería Wire.

Nota: Estos pines no están ubicados en el mismo lugar en que se encuentran en Arduino Duemilanove o Diecimila

El Mega 2560 tiene 16 entradas analógicas, que proporcionan una resolución de 10 bits (1024 valores posibles), por defecto hacen de tierra para valores de hasta 5V, pero es posible cambiar este máximo mediante el pin AREF y la función analogReference().

Además hay otros pines con funciones concretas dentro de la placa:

  • AREF: referencia de voltaje para las entradas analógicas, se usa con la función analogReference()
  • Reset Cuando se introduce una señal baja el microprocesador se reinicia. Normalmente este pin se usa para añadir un botón de reset cunado un shield bloquea el acceso al que lleva la placa.

El Arduino Mega2560 tiene numerosas facilidades para comunicarse con un ordenador, otro arduino y otro microprocesador. El ATmega2560 proporciona cuatro UARTs para comunicación serial TTL (5V) por hardware. Y el Atmega16U2 (Atmega 8U2 en la versión 1 y 2 de la placa) aporta un puerto COM USB para comunicarse con el software del ordenador. (Los ordenadores con Windows necesitan un fichero .inf pero las maquinas con OSX o Linux reconocen las placas como un puerto COM de forma automática.) El software de Arduino incluye un monitor serial y una forma sencilla de mandar datos a la placa. Los leds de RX y TX parpadean cuando hay una transmisión a través del ATmega16U2/ATmega8U vía USB con el ordenador, pero no cuando se realiza una conexión mediante los pines 0 y 1

La librería SoftwareSerial proporciona comunicación serial con cualquier pin digital del Mega2560

El ATmega2560 soporta comunicación TWI y SPI. El software de arduino incluye la librería Wire que simplifica el uso del bus TWI. Revise la documentación para más detalles. Para comunicación SPI utilice la librería SPI.

Programación

El Arduino Mega puede ser programado usando el software de Arduino. Para más detalles, consulte los tutoriales

El ATmega2560 del Arduino Mega viene con el gestor de arranque pre-cargado para que puedas cargar tu código sin necesidad de un programador externo. Esta comunicación se hace con el protocolo STK500 (documentación, ficheros C)

Puedes saltarte el gestor de arranque y programar el microcontrolador mediante el conector ICSP (in-circuit Serial Programmin). Consulte las instrucciones para más detalles.

El código del firmware del Atmega16U2 (o el 8U2 en la versión 1 y 2 de la placa) esta disponible en el repositorios de Arduino. El ATmega16U2/8U2 esta cargado con el bootloader DFU, este puede ser activado:

  • En la versión 1: Conectando el jumper que hay por la parte trasera de la placa, cerca del mapa de Italia, y reseteando el 8U2
  • A partir de la versión 2: Una resistencia entre la patilla HWB y tierra hace que el microcotrolador entre en modo DFU. Puedes usar el AtmelĀ“s FLIP software o el DFU programmer para Linux o Mac OSX. Para cargar el nuevo firmware. O puede utilizar el conector ISP con un programador externo (sobreescribiendo el bootloader). Para más información, consulte este manual.
Reset por Software

Para eliminar la necesidad de presionar físicamente el botón de reset antes de subir el nuevo sketch Arduino Mega2560 esta diseñado para resetearse por software. Una de las lineas de control (DTR) del Atmega8U2/16U2 esta conectado al reset del ATmega2560 por un condensador de 100nF. Cuando esta linea esta en uso la entrada del reset baja lo suficiente y el chip se resetea. El software de Arduino usa esto para permitir subir el código a la placa simplemente pulsando el botón del entorno de desarrollo de Arduino. Esto implica que el gestor de arranque puede tener un tiempo de espera más corto, ya que el DTR puede esta bien coordinado con el inicio de la carga.

Este diseño tiene otra implicación, cuando Mega2560 esta conectado a un ordenador con Mac OS o Linux se resetea cada vez que que se establece una conexión con el software (vía USB). Durante el siguiente medio segundo Arduino UNO estará ejecutando su bootloader. Durante este tiempo se ignoran los datos de entrada para evitar errores. Si acaba de conectar la placa a la alimentación asegurase de esperar un segundo antes de comenzar a enviar los datos.

Arduino Mega2560 contiene una pista que puede deshabilitar el auto-reset. Los pads que pueden volver a soldarse juntos para rehabilitarte, están marcados con la la etiqueta RESET-EN. También puede deshabilitarse el auto-reset conectando una resistencia de 110Ohm entre 5V y la patilla de reset. En el foro puede encontrar más detalles.

USB protegido de sobrecargas.

Arduino UNO cuenta con un fusible reseteable que protege el puerto USB del ordenador de cortocircuitos y sobrecargas, algunos ordenadores tienen sus propias protecciones internas, pero este fusible otorga una seguridad extra. Si se aplican más de 500mA al puerto USB el fusible se rompe automáticamente hasta que se retira la carga.

Características Físicas y Compatibilidad de los Shields

El tamaño máximo de la placa del Arduino UNO es de 4 x 2.1 pulgadas. El USB y el jack de alimentación extienden ligeramente estas dimensiones. Cuatro agujeros permiten unirla a cualquier superficie mediante tornillos. La distancia entre los pines digitales 7 y 8 es de 160 milésimas de pulgada, no un múltiplo de 100 milésimas de pulgada como en el resto de los pines.

El Mega2560 esta diseñado para ser compatible con la mayoría de los Shields diseñados para Uno, Diecimila o Duemilanove, los pines del 0 al 13 (Cerca de AREF y los pines de GND), las entradas analógicas 0 a 5, el conector de energía y el conector ICSP están en las mismas ubicaciones. Además el UART principal esta en los mismos pines 1 y 0, las interrupciones 0 y 1 (pines 2 y 3). SPI es compatible con el conector ICSP de ambas placas Mega2560 y Duemilanove/Diecimila.

Por favor, dese cuenta de que I2C no esta en el mismo pin en Mega (20 y 21) que en Duemilanove/Diecimila (Entradas analógicas 4 y 5)