《Microduino实战》——2.2 兼容Arduino系列产品

本节书摘来自华章出版社《Microduino实战》一 书中的第2章,第2.1节,作者:姚琪 杨立斌,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.2 兼容Arduino系列产品

兼容Arduino的系列产品可以分为Microduino AVR核心系列模块、扩展模块以及扩展板,其接口标准都采用Upin-27规范标准,如图2-2所示。扩展模块包括以太网接口、USB接口的有线通信模块,支持RF、蓝牙、NFC、Zigbee、WiFi和GPRS/GSM无线通信模块,支持三轴陀螺仪、加速度传感器、GPS的传感器模块,支持OLED、TFT的显示模块,以及电机驱动模块等。

《Microduino实战》——2.2 兼容Arduino系列产品

2.2.1 Microduino AVR核心系列模块

Microduino AVR核心系列模块主要包括两大部分:一是微控制器模块,其芯片采用的是Atmel AVR 8位微控制器,兼容Arduino;另一个是USB下载调试模块,其芯片采用的是FT232RL芯片,同样是Arduino所支持的。接下来详细介绍一下这些核心模块的具体参数。

  1. Microduino-Core
    以 Atmel ATmega328P、ATmega168PA 系列为核心的8位单片机开发核心板Microduino-Core,是一个开源的控制器模块,兼容Arduino UNO,如图2-3所示。

根据不同型号的微控制器芯片,Microduino-Core目前有4个型号,如表2-1所示。
《Microduino实战》——2.2 兼容Arduino系列产品

Microduino-Core供用户使用的I/O口有27个,除了5V、3.3V、GND和RST基本功能引脚外,其他引脚都有着特殊的功能,有的引脚会复用多种功能。
(1)数字I/O (22个)
在模块上标识为 D0~D13,A0~A7,其中A6和A7只能作为输入,不能输出。
(2)模拟 I/O (8个)
在模块上标识为 A0~A7。每一个都提供了10位分辨率(即0~1024),默认情况下,模拟电压测量范围为GND至VCC电压值。
(3)PWM输出(6个)
在模块上标识为D3、D5、D6、D9、D10和D11。
(4)串口通信(1路)
在模块上标识为 RX0(D0)、TX1(D1),即RX0为串口接收端,而TX1为串口发送端。Microduino-Core与USBTTL模块是通过D0和D1端口通信的,但如果这里两个端口同时被其他模块占用,比如蓝牙模块,会导致与USBTTL通信不正常,可能无法下载程序。
(5)SPI通信(1路)
在模块上标识为 D13(SCK)、D12(MISO)、D11(MOSI)、D10(SS)。
(6)I2C通信(1路)
在模块上标识为 SDA(A4)、SCL(A5)。
(7)外部中断输入(2路)
在模块上标识为 D2(中断0)、D3(中断1)。
(8)支持ISP下载功能
如同Arduino一样,Microduino可使用ISP下载线,灵活烤入bootloader。所用引脚在模块上标识为D13(SCK)、D12(MISO)、D11(MOSI)。
(9)外部参考电压(AREF)输入(1路)
在模块上标识为REF。
以Microduino-Core为控制核心,配以其他的电子元器件、功能模块和传感器,就能够实现很多丰富而有趣的设计。简单的设计,如遥控开关、电子闹铃;复杂的设计,如遥控小车、飞行器等,这些都体现出了核心控制模块的控制能力。

  1. Microduino-Core+
    Microduino-Core+是Microduino-Core的增强版,提升了微控制器存储容量,还增加了

I/O接口的数量,如图2-4所示。具体参数对比如表2-2所示。引脚分布仍旧采用Upin-27标准规范,增加的I/O接口专门引出了10个插孔供用户使用。
《Microduino实战》——2.2 兼容Arduino系列产品

目前,Microduino-Core+也分为4个型号,如表 2-3所示。
《Microduino实战》——2.2 兼容Arduino系列产品

Microduino-Core+供用户使用的I/O口有37个,除了5V、3.3V、GND和RST基本功能引脚外,其他引脚都有着特定的功能,有的引脚会复用多种功能。
(1)数字 I/O(32个)
在模块上标识为 D0~D13,A0~A7,以及比Core多出的10个插孔(D14~D23)。
(2)模拟I/O (8个)
在模块上标识为 A0~A7。每一个都提供了10位分辨率(即0~1024),默认情况下,模拟电压测量范围为GND至VCC电压值。
(3)PWM输出(8个)
在模块上标识为D7、D8、D9、D10、D12、D13、D22、D23。
(4)串口支持(2路)
在模块上标识为 Serial[D0(RX),D1(TX)]和Serial1[D2(RX),D3(TX)]。与USBTTL模块连接会占用D0、D1,如果端口D0和D1被其他模块占用,会导致与USBTTL通信不正常,使得程序无法下载。
(5)SPI通信(1路)
在模块上标识为 D13(SCK)、D12(MISO)、D11(MOSI)、D10(SS)。
(6)I2C通信(1路)
在模块上标识为 SDA(D20),SCL(D21)。
(7)外部中断输入(3路)
在模块上标识为 D2(中断0)、D3(中断1)、D6(中断2)。
(8)支持ISP下载功能
如同Arduino一样,Microduino可使用ISP下载线,灵活烤入bootloader。所用引脚在模块上标识为D13(SCK)、D12(MISO)、D11(MOSI)。
(9)支持AREF端子
在模块上标识为REF。
由于在性能和资源上有所提升,Microduino-Core+能够实现的功能比Microduino-Core多一些,也能够支持更多的模块设备与之互联。

  1. Microduino-USBTTL
    Microduino-USBTTL 模块是USB转串口模块,用于上位机向Microduino-Core/Core+下载程序以及串口通信,如图2-5所示。它采用基于 FTDI 公司的 FT232RL 芯片(Arduino软件自带驱动)。

注意 Microduino-USBTTL模块通过串口与其他Microduino模块进行通信,串口引脚是D0(TX)、D1(RX),如果其他Microduino模块也同样使用该串口引脚,那么在下载程序和进行串口通信的时候要特别注意,很有可能因为串口冲突,使得D0和D1引脚上的串口通信失败,致使无法进行程序下载和串口调试。所以,要尽量避免使用同一个串口进行通信,如果实在无法避免,下载程序时,先将其他使用该串口的模块拆下来,下载完成后再装上去。

  1. Microduino-CoreUSB
    Microduino-CoreUSB相当于将Microduino-Core和Microduino-USBTTL两个模块合在了一起,即集成了微控制器和USB通信的功能,如图2-6所示。核心芯片采用Atmega32U4系列的8位微控制器,与Arduino Leonardo开发板兼容。

    《Microduino实战》——2.2 兼容Arduino系列产品

2.2.2 Microduino扩展模块

如果说Microduino核心模块是大脑,那么Microduino扩展模块便是其手脚、眼睛、耳朵等器官。按照功能划分,可以将扩展模块大致分为:有线通信、无线通信、电池管理、传感器、声音/存储/时钟、显示设备和电机驱动。这里仅作简单介绍,以方便读者了解现有的Microduino模块,在DIY过程中找到自己想要的模块,更多资料见
参考[1]。
《Microduino实战》——2.2 兼容Arduino系列产品
《Microduino实战》——2.2 兼容Arduino系列产品

  1. 无线通信
    《Microduino实战》——2.2 兼容Arduino系列产品

《Microduino实战》——2.2 兼容Arduino系列产品
《Microduino实战》——2.2 兼容Arduino系列产品
《Microduino实战》——2.2 兼容Arduino系列产品
《Microduino实战》——2.2 兼容Arduino系列产品
《Microduino实战》——2.2 兼容Arduino系列产品

2.2.3 Microduino 扩展板

前面将Microduino核心模块比喻成大脑,那么Microduino扩展板就可以看作是骨架,专门用来插接Microduino-Core/Core+和扩展模块,方便模块的连接和扩展。这里也做简单介绍,供读者参考。
《Microduino实战》——2.2 兼容Arduino系列产品
《Microduino实战》——2.2 兼容Arduino系列产品
《Microduino实战》——2.2 兼容Arduino系列产品
《Microduino实战》——2.2 兼容Arduino系列产品

上一篇:《UCD火花集2:有效的互联网产品设计 交互/信息设计 用户研究讨论》一1.3 数据—判断淘宝店铺页面设计优劣的显微镜


下一篇:《Arduino实战》——2.2 获得控制权