Primeiro de tudo, Porquê Arduino Mega 2560?

Quando há tábuas mais baratas disponíveis, porquê escolher Arduino Mega? A principal razão por detrás disto são as características adicionais que são incorporadas com esta prancha. A primeira característica é o grande design do sistema de I/O com 16 transdutores analógicos embutidos e 54 transdutores digitais que suportam com USART e outros modos de comunicação. Em segundo lugar, ele tem RTC embutido e outras características como o comparador analógico, timer avançado, interrupção para o mecanismo de despertar do controlador para economizar mais energia e velocidade rápida com relógio de cristal de 16 Mhz para obter 16 MIBS. Possui mais de 5 pinos para Vcc e Gnd para conectar outros dispositivos ao Arduino Mega.

Outras características incluem suporte JTAG para programação, depuração e resolução de problemas. Com grande memória FLASH e SRAM, esta placa pode lidar com grandes programas de sistema com facilidade. Também é compatível com os diferentes tipos de placas como sinal de alto nível (5V) ou sinal de baixo nível (3.3V) com pino de ref.I/O.

Brownout e watchdog ajudam a tornar o sistema mais confiável e robusto. Ele suporta ICSP assim como programação de microcontroladores USB com PC.

O Arduino Mega 2560 é um substituto do antigo Arduino Mega, e por isso, em referência geral, ele será chamado sem a extensão ‘2560’. Devido ao grande número de pinos, normalmente não é usado para projectos comuns, mas pode encontrá-los em projectos muito mais complexos como detectores de radão, impressoras 3D, sensores de temperatura, aplicações IOT, aplicações de monitorização de dados em tempo real, etc.

Arduino Mega 2560 Especificações

Arduino Mega – Características Básicas

Arduino Mega Características
Microcontrolador AVR ATmega 2560 (8bit)
Fornecimento de energia 7-12V (Regulador incorporado para o controlador)
Pinos E/S digitais 54
Pinos E/S analógicos 16
Total Digital E/S 70 (Digital + Analógico)
Velocidade do relógio 16 MHz (Definido de fábrica para 1Mhz)
Flash Memory 128 KB
SRAM 8 KB
Comunicação USB (Programação com ATmega 8), ICSP (programação), SPI, I2C e USART

Arduino Mega – Características Avançadas

Arduino Mega Avançado Características
Timer 2 (8bit) + 4 (16bit) = 6 timer
PWM 12 (2-16 bit)
ADC 16 (10 bit)
USART 4
Pin Change Interrupção 24

Arduino Mega 2560 também está repleto de recursos adicionais como o Comparador Analógico, Interrupção Externa & Interrupção de Software, Modo de Economia de Energia, Sensor de Temperatura Inbuilt, RTC e muito mais.

Arduino Mega Pinout

Arduino Mega Pinout

Pinos de potência :

>

Mega Arduino Mega Pinos de potência
VIN Tensão de alimentação (7-12V)
GND Ground
5V Alimentação Para alimentação de dispositivos de hardware externo
3.Alimentação 3V Para alimentação de dispositivos de hardware externo de baixa tensão

Arduino Mega Pino Diagrama

Arduino Mega Pino Configuração

Pinos Controladores:

RESET: (Reset input) Um nível baixo neste pino por mais tempo que o ciclo de 4 relógios gerará um reset. Arduino Mega tem um circuito de reset embutido com botão de pressão para reiniciar o sistema e este pino pode ser usado por outros dispositivos para reiniciar o controlador.

XTAL1,XTAL2: Crystal (16Mhz) é ligado ao relógio de alimentação do controlador com condensador de 2 bypass para terra.

AREF: Este pino é usado, quando usamos Adc para conversão analógica para digital com tensão de referência externa para conversão e não queremos usar pinos internos de 1.1V ou 5v de referência.

Pinos digitais (70):
Digital pins (0-53) + Analog (0-15) = Total Digital I/O pins.

Pinos digitais: De 0-53(digital) e 0-15(analógico) podem ser usados como entrada ou saída para transdutor digital e dispositivos de saída por pinMode() para direção do pino, digtalWrite() para escrever pino e digitalRead() para ler o status do pino.

Aplicação:

Dispositivos de saída : Relé, LED, buzzer, LCD e outros.

>

Dispositivos de entrada: termistor digital, botão de pressão, sensor ultra-sónico, joystick e outros

>

Exemplo:

  • Sinal baixo de saída na mega placa Arduino

pinMode(0,OUTPUT);

digitalWrite(0,LOW);

  • Entrada sinal de leitura na mega placa Arduino

pinMode(0,INPUT);

digitalRead(0);

Analog Pins (16):

>

Pinos analógicos: De 0-15(analógico) pode ser usado como pino de entrada analógico para adc, se não for usado do que funciona como pino digital normal. Ele pode ser usado por pinMode() para direção do pino, analogRead() para ler o status do pino e obter valor digital para o sinal analógico, deve-se tomar cuidado para seleção de tensão de referência interna ou externa e Aref pin.

Aplicação :

Input devices: Termistor Ntc, sensores (como ldr, irled e umidade) e outros

Exemplo :

  • INPUT sinal analógico na placa mega Arduino

pinMode(0,INPUT);

analogRead(0);

Alternative Pins Function:

PinosSPI:
Pin 22 - SS, Pin 23 - SCK, Pin 24 - MOSI, Pin 25 – MISO

Estes pinos são usados para comunicação serial com protocolo SPI para comunicação entre 2 ou mais dispositivos. O bit SPI enable deve ser definido para iniciar a comunicação com outros dispositivos.

Aplicação:

Controlador AVR de programação, comunicação com outros periféricos como LCD e cartão SD com comunicação de quatro linhas em alta velocidade.

Pinos I2C:

Pino digital 20 para SDA e 21 para SCK (Velocidade 400khz) para habilitar a comunicação de dois fios com outros dispositivos. As funções utilizadas são wire.begin() para iniciar a conversão I2C, com wire.Read() para ler dados i2c e wire.Write() para escrever dados i2c.

Aplicação:

Dispositivos de saída : LCD e comunicação entre múltiplos dispositivos com dois fios.

Input devices : rtc e outros.

Exemplo:

I2c master read data from slave

Wire.begin();

Wire.requestFrom(2, 1); //1byte data

Wire.Read();

PWM Pins:

Pino digital 2-13 pode ser usado como saída PWM com analogWrite() para escrever o valor pwm de 0-255.É uma alternativa do DAC para sistema de baixo custo para obter sinal analógico na saída usando filtro.

Aplicação:

Dispositivos de saída: controle de velocidade do motor, dimmer de luz, pid para um sistema de controle eficiente.

>

Exemplo:

  • Sinal analógicoOUTPUT na mega placa Arduino

pinMode(0,OUTPUT);

analogWrite(0,255);

>

Pinos de partida:
Pin 0 – RXD0, pin 1 – TXD0Pin 19 – RXD1, pin 18 – TXD1Pin 17 – RXD2, pin 16 – TXD2Pin 15 – RXD3, pin 14 – TXD3

Este pino é usado para comunicação de partida em série com pc ou outro sistema para partilha de dados e registo. Ele é usado com serialBegin() para definir a taxa de bauds e iniciar a comunicação com serial.Println() para imprimir array de caracteres na saída de outro dispositivo.

Application:

Dois controladores de comunicação, pc e controladores de comunicação, depuração com usart por monitor serial.

Exemplo:

Serial.begin(9600);

Serial.Println(“olá”);

Pinrupt Pins de Interrupção de Troca:
Digital Pin 0,22,23,24,25,10,11,12,13,15,14Analog Pin 6,7,8,9,10,11,12,13,14,15

Este pino é usado para interrupção de troca de pinos. Habilitar bit de interrupção de troca de pinos deve ser definido com ativação de interrupção global.

Aplicação :

Codificador rotativo, botão de pressão baseado em interrupção e outros.

Exemplo :

pinMode(0, OUTPUT);

pinMode(1, INPUT_PULLUP);

attachInterrupt(digitalPinToInterrupt(1), LOW, CHANGE);

Pinos de Interrupção de Hardware :

Pino digital 18 – 21,2,3 interrupção de hardware é usado para serviços de interrupção. A interrupção de hardware deve ser habilitada com a interrupção global para obter interrupção de outros dispositivos.

Aplicação:

Botão de pressão para o programa ISR, despertar o controlador com dispositivos externos, sensores como ultra-som e outros.

Exemplo:

pinMode(0, OUTPUT);

pinMode(1, INPUT_PULLUP);

attachInterrupt(digitalPinToInterrupt(1), LOW, LOW);

Arduino Mega Schematic Components:

>

Aquecedor de corrente contínua :

Aquecedor externo para Arduino Mega de 7-12 volts é dado com esta porta. Arduino Mega R3 tem um regulador de tensão para alimentação de 5v e 3.3v para o controlador Arduino e alimentação do sensor.

AVR 2560 :

Este é o controlador principal usado para programar e executar tarefa para o sistema. Este é o cérebro do sistema para controlar todos os outros dispositivos a bordo.

ATmega8 :

Este controlador é usado para a comunicação entre o controlador principal e os outros dispositivos. Este controlador é programado para comunicação USB e recursos de programação serial.

ICSP 1 (ATmega8) e 2 (AVR 2560):

Possui recursos de programação usando barramento serial com programador AVR usando comunicação SPI. O AVR 2560 está programado para executar o sistema e o ATmega 8 está programado para comunicação serial e programação.

>
Arduino Mega ICSP Pinout para ATmega 2560

Reset :

Possui circuito de reset com capacitor, botão e resistor para resetar o controlador. Um botão de pressão é usado para obter 4 ciclos de sinal baixo no pino de reset para colocar o controlador em modo de reset.

Crystal :

Tem um circuito de cristal com dois condensadores e um cristal de 16 Mhz para a interface dos pinos xtal 1 e 2 com a avr 2560.

I2C :

Possui características de I2C (comunicação de dois fios) com um resistor de pull-up externo.

USART :

Possui pinos TXD e RXD para comunicação serial com indicador LED.

alguns programas simples para experimentar Arduino Mega 2560

Programa 1: LED Piscando (pino digital)

/*Turns on an LED on for two second, then off for two second on pin 13, repeatedly.*/// the setup function runs once when you press reset or power the boardvoid setup() {// initialize digital pin 13 as an output.pinMode(13, OUTPUT);}// the loop function runs again and againvoid loop() {digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)delay(2000); // wait for two seconddigitalWrite(13, LOW); // turn the LED offdelay(2000); // wait for two second}

Programa 2: Led Light Dimmer (PWM):

int brightness = 0; //pwm valuevoid setup(){pinMode(3, OUTPUT);}void loop(){analogWrite(3, brightness); // pwm write on pin 3++brightness; // brightness is incremented by 1if (brightness <= 0 || brightness >= 255) {brightness=0; // brightness limited to 0-255}delay(10);}

Programa 3: Tensão de leitura analógica (pino analógico com USART):

void setup(){Serial.begin(9600); // usart communication start function with baudrate set to 9600}void loop(){int sensorValue = analogRead(A0); // analog pin 0 data is read and converted into digital value stored in sensorValue.Serial.println(sensorValue); // usart to output sensor value on serial monitor}

Você também pode tentar sua própria lógica e implementar programas para mega Arduino com função básica C e Arduino.

Deixe uma resposta

O seu endereço de email não será publicado.