Placa Mega2560 com cabo USB
A placa Mega2560 é uma placa de microcontrolador baseada no ATmega2560. Ela possui 54 pinos de entradas/saídas digitais, 16 entradas analógicas, 4 UARTs (portas seriais de hardware), um oscilador de cristal de 16 MHz, uma conexão USB, uma entrada de alimentação, uma conexão ICSP e um botão de reset. Ela contém tudo o que é necessário para dar suporte ao microconrolador; basta conectar a um computador com um cabo USB ou a uma fonte de alimentação e já está pronto para começar. A placa Mega2560 é compatível com a maioria dos shields.
Características
Microcontrolador | ATmega2560 |
Voltagem de alimentação | 5V |
Voltagem de entrada (recomendada) | 7-12V |
Voltagem de entrada (limites) | 6-20V |
Pinos digitais I/O | 54 (dos quais 14 podem ser saídas PWM) |
Pinos de entrada analógica | 16 |
Corrente contínua por pino I/O | 40 mA |
Corrente contínua para o pino 3.3V | 50 mA |
Memória Flash | 256 KB of which 4 KB used by bootloader |
SRAM | 8 KB |
EEPROM | 4 KB |
Velocidade de Clock | 16 MHz |
Alimentação
A placa Mega2560 pode ser alimentado pela conexão USB ou com uma fonte externa. A entrada de alimentação é selecionada automaticamente.
Aliemtação externa (não USB) pode ser tanto de uma fonte como de baterias. A fonte pode ser conectada plugando um conector de 2,1mm, positivo no centro, na entrada de alimentação. Cabos vindos de uma bateria podem ser inseridos nos pinos terra (Gnd) e entrada de voltagem (Vin) do conector de energia.
A placa pode operar com alimentação externa entre 6 e 20 volts. No entanto, se menos de 7 volts forem fornecidos o pino de 5V pode fornecer menos de 5 volts e a placa pode ficar instável. Com mais de 12V o regulador de voltagem pode super-aquecer e danificar a placa. A faixa recomedável é de 7 a 12 volts.
O Mega2560 difere de todas as placas anteriores no sentido de que não utiliza o chip FTDI para fazer a conversão de serial para USB que foi substituído pelo ATmega8U2 programado para realizar esta mesma função.
Os pinos de alimetação são os seguintes:
- VIN.A entrada de voltagem da placa Mega2560 quando se está usando alimentação externa (em oposicão aos 5 volts fornecidos pela conexão USB ou outra fonte de alimentação regulada) É possível fornecer alimetação através deste pino ou acessá-la desde ai se etiver alimentando pelo conector de alimentação.
- 5V. Fornecimento de alimentacão regulada para o mcrocontrolador e outros componentes da placa.
- 3V3.Uma alimentação de 3,3 vots gerada pelo chip FTDI. A corrente máxima é de 50 mA.
- GND.Pinos terra.
Memória
O ATmega2560tem 256 KB de memória flash para armazenamento de código(dos quais 8KB são usados pelo bootloader), 8 KB de SRAM e 4 KB de EEPROM (que poder ser lidos e escritos com a biblioteca EEPROM).
Entrada e Saída
Cada um dos 54 pinos digitais do Mega2560 pode ser usado como entrada ou saída, usando as funções de pinMode(), digitalWrite(), e digitalRead(). Eles operam a 5 volts. Cada pino pode fornecer ou receber um máximo de 40 mA e possui um resistor interno (desconectado por default) de 20-50KΩ. Em adição alguns pinos possuem funções especializadas:
- Serial: 0 (RX) and 1 (TX); Serial 1: 19 (RX) and 18 (TX); Serial 2: 17 (RX) and 16 (TX); Serial 3: 15 (RX) and 14 (TX).Usados para receber (RX) e transmitir (TX) dados seriais TTL. Pinos 0 e 1 são também conectados aos pinos correspondentes do chip serial FTDI USB-to-TTL.
- Interruptores externos: 2 (interruptor 0), 3 (interruptor 1), 18 (interruptor 5), 19 (interruptor 4), 20 (interruptor 3), and 21 (interruptor 2).Estes pinos podem ser configurados para disparar uma interrupção por um valor baixo, um limite diminuindo ou subindo, ou uma mudança em um valor. Para mais dealhes veja a função attachInterrupt().
- PWM: 0 a 13.Fornecem saída analógica PWM de 8-bits com a função analogWrite().
- SPI: 50 (MISO), 51 (MOSI), 52 (SCK), 53 (SS).Estes pinos dão suporte à comunicação SPI.
- LED: 13.Há um LED connectado ao pino digital 13. Quando o pino está em HIGH o led se acende.
- I2C: 20 (SDA) and 21 (SCL).Fornecem suporte à comunicação I2C (TWI) usando a bibliotecaWire(documentação no site do Wiring). Note que estes pinos não estão na mesma posição que os pinos I2C pins no Duemilanove ou no Diecimila.
O Mega2560 tem 16 entradas analógicas, cada uma das quais com 10 bits de resolução (i.e. 1024 valores diferentes). Por padrão elas medem de 0 a 5 volts, embora seja possível mudar o limite superior usando o pino AREF e a função analogReference().
Há um par de pinos diferentes na placa:
- AREF.Voltagem de referência para as entradas analógicas. Usados com analogReference().
- Reset.Marque este valor como LOW para resetar o microcontrolador. Tipicamente usado para adcionar um botão de reset em shields que bloqueiam o que há na placa.
Communicação
A placa Mega2560 possui várias facilidades para se comunicar com um computador, com outro Mega2560 ou outros microcontroladores. O ATmega2560 fornece quatro portas de comunicação serial UARTspara TTL (5V). Um chip FTDI FT232RL direciona uma destas portas para a conexão USB e os drivers FTDIfonecem uma porta com virtual para softwares no computador. O software do arduino inclui um monitor serial que permite que dados simples de texto sejam enviados de e para a placa Mega2560. Os LEDs RX e RT piscarão enquanto dados estiverem sendo transmitidos pelo chip FTDI e pela conexão USB ao computador (mas não para comunicação serial nos pinos 0 e 1).
Uma biblioteca SoftwareSerialpermite comunicação serial em qualquer um dos pinos digitais do Mega2560.
O ATmega2560 também fornece suporte para comunicação I2C (TWI) e SPI. O software Arduino inclui uma biblioteca Wire para simplificar o uso do bus I2C; veja a documentação no site do Wiringpara mais detalhes. Para usar a comunicação SPI veja o datasheet do ATmega2560.
Programação
A placa Mega2560 pode ser programado com o software do Arduino (download). Para detalhes, veja a referênciae os tutoriais.
O ATmega2560 na placa Mega2560 vem com o bootloader pré gravado o possibilita o envio de novos códigos sem o uso de um programador de hardware externo. Ele se comunica usando o protocolo original STK500 (reference, C header files).
Você também plode suplantar o bootloader e programar o microcontrolador através do cobeçalho ICSP (In-Circuit Serial Programming); veja estas instruçõespara mais detalhes.
Reset Automatico (Software)
Ao invés de necessitar o pressionamento físico do botão de reset antes de um upload, a placa Mega2560 é desenhada de modo a permitir que o reset seja feito pelo software executado em um computador conectado. Uma das linhas dos fluxos de controle de hardware (DTR) do FT232RL é conectada diretamente à linha de reset do ATmega2560 através de um capacitor de 100 nanofarads. Quando esta linha é acessada (rebaixada), a linha de reset decai por tempo suficiente para resetar o chip. O software Aduino utiliza esta capacidade para possibilitar que novos códigos sejam enviados simplesmente clicando no botão de upload do ambiente de programação do Arduino. Isto significa que o bootloader fica fora do ar por um tempo mais curto, uma vez que o rebaixamento do DTR pode ser bem coordenado com o início do upload.
Esta montagem tem outras implicações. Quando o Mega2560 é conectado a um computador rodando Mac OS X ou Linux ele é resetado cada vez uma conexão é feita com o software (via USB). Durante o próximo meio segundo (aproximadamente) o bootloader estará rodando no Mega2560. Uma vez que ele é programado para ignorar dados mal formados (i.e. qualquer coisa que não seja um upload de novo código), ele vai interceptar os primeiros bytes de informação enviado à placa depois que uma nova conexão seja aberta. Se um programa rodando na placa recebe uma pré configuração ou outros dados assim que ele comaça, certifique-se de que o software com o qual ele se comunica espera meio segundo depois que a conexão seja estabelecida antes de começar a enviar os dados.
O Mega2560 tem uma trilha que pode ser cortada para desabilitar o auto-reset. Esta trilha pode depois ser unida novamente por solda para re-habiltar esta funcionalidade.Esta trilha tem a identificação "RESET-EN" Também é possível desabilitar o autoreset conectando um um resitor de 110Ω do 5V à linha de reset; veja este post do forumpara mais detalhes.
Proteção de sobre-corrente USB
A placa Mega2560 possui um fusível resetável que protege as portas USB do computador contra curto-circuitos e sobrecorrente. Apesar de muitos computadores possuírem sua própria proteção interna, o fusível resetável dá um grau extra de segurança . Se mais de 500 mA forem drenados ou aplicados na porta USB , o fusível automaticamente abrirá o circuito até que o curto ou a sobrecarga sejam removidos .