《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的显示模块,以及电机驱动模块等。

screenshot

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所示。
screenshot

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个插孔供用户使用。
screenshot

目前,Microduino-Core+也分为4个型号,如表 2-3所示。
screenshot

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开发板兼容。

    screenshot

2.2.2 Microduino扩展模块

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

  1. 无线通信
    screenshot

screenshot
screenshot
screenshot
screenshot
screenshot

2.2.3 Microduino 扩展板

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

相关文章
|
传感器 物联网 数据管理
.NETCore/C#开发IOT嵌入式设备的个人见解
.NETCore/C#开发IOT嵌入式设备的个人见解
994 0
.NETCore/C#开发IOT嵌入式设备的个人见解
|
5月前
|
算法 数据可视化 编译器
第二代上位机开发环境搭建
欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。 在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。 在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。C++ 是一种强大的编程语言,能够提供卓越的性能和可扩展性。我们的团队致力于优化代码,减少资
|
10月前
|
传感器 算法 编译器
国产MCU-CW32F030开发学习
国产MCU-CW32F030开发学习
127 0
国产MCU-CW32F030开发学习
|
Linux iOS开发 MacOS
带你读《面向Arduino用户的树莓派实用指南:物联网应用开发》之二:结识树莓派
本书全面介绍了树莓派开发板的配置步骤、开发环境构建和实际应用技术,讲述了在树莓派上采用C++语言和库进行开发的方法,更为难得的是介绍了结合使用Arduino和树莓派的工具和流程。全书共分为13章,第1章为完成书中的项目提供了一份购物清单;第2章~第5章从硬件设置、操作系统安装和管理、树莓派上C++开发的流程和库等方面进行了介绍;第6章~第11章则采用实例的方式介绍了树莓派在多个方面的开发过程;第13章为总结和建议部分。本书适用于有意学习树莓派开发的读者,尤其适合具有Arduino经验的读者快速入门,也可作为STEAM教育的课程设计蓝本。
|
存储 供应链 开发工具
《stm32嵌入式系统开发实战指南》一1.4 微控制器选型
本节书摘来自华章出版社《stm32嵌入式系统开发实战指南》一书中的第1章,第1.4节,作者 李志明 檀永 徐石明,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1973 0

热门文章

最新文章