市面上有更便宜的Arduino板子,为什么要选择Arduino Mega?主要原因是这块板子更利于扩充,Arduino Mega 2560拥有很多别的板子不具备的特性。比如:它内置了16个模拟传感器和54个数字传感器接口,支持USART和其他通信模式。内置了RTC等功能,如模拟比较器、高级定时器、控制器唤醒机制中断等,16MHz晶钟可获得16 MIBS,同时它省电、快速度。有超过5组Vcc和Gnd引脚,可以方便的连接其他设备到Arduino Mega 2560。
Arduino Mega 2560的其他特性包括JTAG支持编程、调试和故障排除;拥有较大的闪存和SRAM,可以轻松处理大体积的程序;它还兼容不同类型的模块,如高电平(5V)或低电平(3.3V)与I/O ref 引脚;它支持PC端的ICSP及USB单片机编程。Arduino Mega 2560是旧型号Arduino Mega的替代品,所以,它将被命名为“2560”扩展。所以上一些较复杂项目时,这是个极佳的选择。
Arduino Mega 2560 | 硬件规格 |
---|---|
微控制器 | AVR ATmega 2560 (8bit) |
电源 | 7-12V (内置调节器控制) |
Digital I/O Pins | 54 |
Analog I/O Pins | 16 |
Total Digital I/O | 70 (Digital + Analog) |
时钟频率 | 16 MHz (F默认设置 1Mhz) |
Flash Memory | 128 KB |
SRAM | 8 KB |
通讯方式 | USB (Programming with ATmega 8), ICSP (programming), SPI, I2C and USART |
Arduino Mega | 高级特性 |
---|---|
Timer | 2 (8bit) + 4 (16bit) = 6 timer |
PWM | 12 (2-16 bit) |
ADC | 16 (10 bit) |
USART | 4 |
Pin Change Interrupt | 24 |
Arduino Mega 2560还增加了模拟比较器、外部中断和软件中断、节电模式、内置温度传感器、RTC等功能。
Arduino Mega | Power 针脚 |
---|---|
VIN | 供电电压 (7-12V) |
GND | 地 |
5V 电源 | 用于外部模块供电 |
3.3V 电源 | 用于外部模块供电 |
RESET: (Reset input)这个引脚的低电平超过4个时钟周期板子将会复位。Arduino Mega内置复位电路,按键复位系统,可用于其他设备的复位控制器。
XTAL1,XTAL2: 晶振(16Mhz)是连接控制器时钟,通过2个旁路电容接地。
AREF: 使用此引脚,当我们使用ADC进行模数转换时,使用外部参考电压进行转换,而不使用内部1.1V或5v参考的参考电压。
Digital 针 :0-53(Digital针) 和 0-15(Analog针) 都可以作为数字传感器或模块的输入或输出,用pinMode()来确定引脚的功能,digtalWrite()表示针写入,digitalRead()表示针的读取状态。
如:在Arduino mega 上输出低电平信号:
如:在Arduino mega 上输入读取信号:
Analog 针:0-15(Analog 针)可以作为ADC的模拟输入引脚,如果不使用,则作为普通数字引脚使用。用pinMode()来确定引脚的功能,analogRead()可以读取引脚状态,得到模拟信号的数字值,但必须注意内部或外部参考电压的选择和 Aref 引脚电压。
如:在Arduino mega 上输入模拟信号:
这些引脚用于与SPI协议进行串行通信,一般用于2个或多个设备之间的通信。必须设置 SPI enable bit 才能与其他设备通信。
Digital针20是I2C针的SDA,Digital针21是I2C针的SCK(400Khz)。使用函数 wire.begin() 来启动 I2C, wire. read() 来读取I2C数据, wire. write()来写入I2C数据。
I2c的主从数据读取:
Digital针2-13可以作为PWM输出,使用analowrite()写入PWM值,范围:0-255。它采用滤波器在输出端获取模拟信号,这是低成本DAC系统的替代方案。
Arduino mega 输出连续模拟信号:
USART针:用于与pc或其他设备的串行通信,用于数据共享和日志记录。它与 serialBegin() 一起使用,用于设置串口波特率,并开始和 serial.Println() 通信,以便在串口设备上输出并打印字符串。
如:设置串口波特率为9600,并串口打印“hello”:
这些引脚用于引脚更换中断。启用pinchange中断位必须设置为全局中断启用。
用于旋转编码器,按钮式中断等。
Digital针18 – 21,2,3为硬件中断针,用于硬件中断服务。硬件中断必须启用全局中断,以便从其他设备获得中断。
用于ISR程序按钮,外置设备唤醒控制器,超声波等传感器。
这个接口可用于提供7-12V范围内的外部电源给Arduino Mega。Arduino Mega R3拥有5v和3.3v电压调节器,用于调节Arduino控制器和传感器的电源。
ICSP是通过串口使用SPI协议在线烧录程序的接口。
Reset 键:内置电容复位电路、按钮复位电路和电阻复位电路。可利用 Reset 按钮在复位针上获得4周期低电平信号,使控制器处于复位模式。