Arduino Mega 2560.

首先,为什么Arduino Mega 2560?

如果有更便宜的电路板,为什么要选择Arduino Mega呢?这背后的主要原因是附加功能是内置的这个板。第一个特点是大型I/O系统设计,内置16个模拟传感器和54个数字传感器,支持USART和其他通信模式。其次,它内置了RTC等功能,如模拟比较器,高级定时器,中断为控制器的唤醒机制,以节省更多的功耗和更快的速度与16mhz晶体时钟得到16 MIBS。它有超过5脚的Vcc和Gnd连接其他设备到Arduino Mega。

其他特性包括JTAG对编程、调试和故障排除的支持。该板具有大的FLASH存储器和SRAM,可以轻松处理大型系统程序。它也兼容不同类型的板,如高电平信号(5V)或低电平信号(3.3V)与I/O ref引脚。

撤销和看门狗有助于使系统更可靠和强大。它支持ICSP以及使用PC的USB微控制器编程。

Arduino Mega 2560是旧Arduino Mega的替换,所以在一般参考中,它将被调用没有' 2560 '扩展。由于许多大头针,它通常不用于普通项目,但你可以在更复杂的项目中找到它们,如氡探测器,3D打印机,温度传感,物联网应用,实时数据监控应用等。

Arduino Mega 2560规格

Arduino Mega -基本功能

Arduino兆 特征
单片机 AVR ATmega 2560(8位)
电源 7-12V(控制器内置稳压器)
数字I / O引脚 54
模拟I / O管脚 16
总数字I / O. 70(数字+模拟)
时钟速度 16 MHz(工厂设置为1MHz)
闪存 128 KB.
SRAM. 8 KB
沟通 USB(使用Atmega 8编程),ICSP(编程),SPI,I2C和USART

Arduino Mega - 高级功能

Arduino兆 先进的功能
计时器 2(8bit)+ 4(16bit)= 6计时器
PWM. 12(- 18位)
ADC 16(10位)
USART 4
PIN更改中断 24

Arduino Mega 2560还装满了模拟比较器,外部中断和软件中断,省电模式,内置温度传感器,RTC等功能的附加功能。

Arduino Mega Pinout.

Arduino Mega Pinout.
Arduino Mega Pinout.

权力针:

Arduino兆 权力针
vin. 电源电压(7-12V)
接地 地面
5V供应 用于外部硬件设备电源供应
3.3 v电源 用于外部低压硬件设备供电

Arduino Mega Pin图

Arduino Mega Pin配置
Arduino Mega Pin配置

控制器销:

重启:(复位输入)此引脚上的低电平超过4个时钟周期将产生复位。Arduino Mega具有内置的复位电路,带有按钮可重置系统,此引脚可供其他设备使用以重置控制器。

XTAL1 XTAL2:Crystal(16MHz)连接到带有2个旁路电容的控制器供电时钟。

诺:使用此引脚,当我们使用ADC进行模拟与数字转换时的外部参考电压进行转换,不想使用内部1.1V或5V参考。

数字引脚(70):
数字引脚(0-53)+模拟(0-15)=总数字I / O引脚。

数字针:从0-53(数字)和0-15(模拟)可以用作数字传感器和输出设备的输入或输出,通过pinMode()为引脚方向,digtalWrite()为写引脚,digitalRead()为读引脚状态。

应用:

输出设备:继电器,LED,BUZZER,LCD等。

输入设备:数字热敏电阻,按钮,超声波传感器,操纵杆等

例子:

  • Arduino主板输出低信号

pinMode(0,输出);

DigitalWrite(0,低);

  • Arduino Mega Loard上的输入读取信号

PinMode(0,输入);

DigitalRead(0);

模拟引脚(16):

模拟引脚:从0-15(模拟)可以用作ADC的模拟输入引脚,如果不使用它作为正常数字引脚。Pinmode()可以用于引脚方向,Analogread()读取引脚状态并获得模拟信号的数字值,必须小心内部或外​​部参考电压选择和ISF引脚。

应用程序:

输入设备:NTC热敏电阻,传感器(如LDR,IRRED和湿度)和其他

例子 :

  • Arduino Mega Loard上的输入模拟信号

PinMode(0,输入);

analogRead (0);

替代针功能:

SPI销
引脚22 - SS,引脚23 - SCK,引脚24 - MOSI,引脚25 - MISO

这些引脚用于与SPI协议进行串行通信,用于2个或更多设备之间的通信。必须设置SPI启用位以启动与其他设备的通信。

应用:

AVR控制器编程,与LCD、SD卡等外设进行四线高速通信。

I2C引脚:

用于SDA和21的数字销20用于SCK(速度400kHz),以实现与其他设备的两个线通信。使用的函数是wire.begin()以启动i2c转换,使用wire.read()读取I2C数据和Wire.Write()来写入I2C数据。

应用:

输出设备:LCD和具有两根电线的多个设备之间的通信。

输入设备:RTC等。

例子:

i2c主站从从站读取数据

Wire.begin();

wire.requestfrom(2,1);// 1byte数据

wire.read();

PWM PINS.

数字引脚2-13可用作模拟手写()的PWM输出,从0-255写PWM值。通过使用过滤器将DAC的DAC替代地获取模拟信号。

应用:

输出设备:电机速度控制,光调光器,PID用于高效控制系统。

例子:

  • Arduino Mega Board上的输出模拟信号

pinMode(0,输出);

Amplwwrite(0,255);

USART针:
pin0 - RXD0, pin1 - TXD0 pin19 - RXD1, pin18 - TXD1 pin17 - RXD2, pin16 - TXD2 pin15 - RXD3, pin14 - TXD3

此引脚用于与PC或其他系统进行串行USART通信,以进行数据共享和记录。它与SerialBegIn()一起使用,以设置波特率设置并开始与Serial.println()开始通信以在其他设备输出上打印ark数组。

应用:

两控制器通讯,pc机与控制器通讯,通过串口显示器与usart进行调试。

例子

Serial.begin (9600);

以“你好”);

Pinchange中断大头针:
模拟引脚6、7、8、9、10、11、12、13、14、15

该引脚用于引脚更改中断。必须使用全局中断启用设置pinchange中断的启用位。

应用程序:

旋转编码器,按下基于按钮的中断等。

例子 :

pinMode(0,输出);

PINMODE(1,INPUT_PULLUP);

attachInterrupt (digitalPinToInterrupt(1)、低变化);

硬件中断引脚:

数字引脚18 - 21,2,3硬件中断用于中断服务。必须使用全局中断使能硬件中断使能为从其他设备获取中断。

应用:

ISR程序的按钮,带有外部设备的唤醒控制器,超声波等传感器。

例子:

pinMode(0,输出);

PINMODE(1,INPUT_PULLUP);

AttanceLerruct(DigitalPintErtrupt(1),低,低);

Arduino Mega原理图组件:

直流插座电源:

Arduino Mega的外部电源范围为7-12伏,提供此端口。Arduino Mega R3有一个5v和3.3v的电压调节器,用于Arduino控制器和传感器供应。

AVR 2560:

这是用来为系统编程和运行任务的主控制器。这是控制船上所有其他设备的系统大脑。

ATmega8:

该控制器用于主控制器与其他设备之间的通信。该控制器具有USB通讯和串行编程功能。

ICSP 1(ATMEGA8)和2(AVR 2560):

使用SPI通信,它具有使用AVR程序员使用串行总线进行编程的功能。AVR 2560被编程为运行系统,Atmega 8被编程用于串行通信和编程。

Arduino Mega ICSP引脚
Arduino Mega ICSP Pinout for ATmega 2560

重启 :

它具有带电容器,按钮和电阻的复位电路,以重置控制器。按钮用于在RESET引脚上获得4个周期低信号,以在复位模式下获取控制器。

水晶:

它有一个晶体电路与两个电容器和一个16 Mhz晶体xtal引脚1和2与avr2560接口。

I2C:

它具有I2C(两个线通信)具有外部上拉电阻的功能。

USART:

它具有与LED指示灯串行通信的TXD和RXD引脚。

一些简单的程序试图在Arduino Mega 2560

程序1:闪烁LED(数字引脚)

/ *打开一个LED,然后再次关闭两个销13上的两个秒钟。* ///在按重置或电源电源时,设置功能运行一次,或者将数字引脚13初始化为输出。Pinmode(13,输出);} //循环函数再次运行,再次void循环(){digitewrite(13,高);//转动LED(高电平电压电平)延迟(2000);//等待两种第二迪网(13,低);//转动LED延迟(2000);//等待两秒}

程序2:LED灯光调光器(PWM):

int亮度= 0;// pwm值void setup(){pinmode(3,输出);void循环(){Amplswrite(3,亮度);// PWM写入PIN 3 ++亮度;//亮度递增1(亮度<= 0 ||亮度> = 255){亮度= 0;//亮度限制为0-255}延迟(10);}

程序3:模拟读取电压(模拟引脚带USART):

void setup() {Serial.begin(9600);// usart通信启动函数的波特率设置为9600}void loop() {int sensorValue = analogRead(A0);//读取模拟引脚0的数据并转换为存储在sensorValue中的数字值。以sensorValue);//在串行监视器上输出传感器值

你也可以用基本的C和Arduino功能尝试自己的Arduino mega逻辑和实现程序。

作者

1评论

  1. Julz Moore.

    你确定这页上的SPI引脚是正确的吗?
    “引脚22 - SS,引脚23 - SCK,PIN 24 - MOSI,PIN 25 - MISO”

    ATmega2560 datasheet for SPI显示:
    引脚19 - SS,引脚20 - SCK,PIN 21 - MOSI,引脚22 - MISO。

    (Arduino引脚映射:SS = 53,SCK = 52,MOSI = 51,MISO = 50)

ezoic.报告此广告
Baidu