操作说明
Elektor Arduino
纳米
培训板 MCCAB®
修订版 3.3
尊敬的客户, MCCAB 培训板是根据适用的欧洲指令制造的,因此带有 CE 标志。这些操作说明中描述了其预期用途。如果您修改 MCCAB 培训板或未按照其预期目的使用它,则您独自负责遵守适用的规则。
因此,只能按照这些操作说明中的说明使用 MCCAB 培训板及其上的所有组件。您只能将 MCCAB 培训板与本操作手册一起传递。
本手册中的所有信息均指版本级别为 Rev. 3.3 的 MCCAB 培训委员会。培训板的版本级别印在其底部(参见第 13 页的图 20)。本手册的当前版本可以从 web地点 www.elektor.com/20440 供下载。 ARDUINO 和其他 Arduino 品牌名称和徽标是 Arduino SA 的注册商标。 ®
回收利用
用过的电气和电子设备必须作为电子废物回收,不得作为生活垃圾处理。
MCCAB 培训板包含可回收的宝贵原材料。
因此,请在适当的收集站处置该设备。 (欧盟指令 2012/19/EU)。您的市政管理部门会告诉您在哪里可以找到最近的免费收集点。
安全说明
MCCAB 培训板的这些操作说明包含有关调试和操作的重要信息!
因此,首次使用训练板前请仔细阅读整个操作手册,以免因触电、火灾或操作错误而造成生命和肢体伤害以及训练板损坏。
将本手册提供给培训板的所有其他用户。
该产品按照IEC 61010-031标准设计,并经过测试,安全出厂。用户必须遵守适用于电气设备操作的规定以及所有普遍接受的安全实践和程序。特别是,VDE 法规 VDE 0100(低容量的规划、安装和测试)tag这里应该提到VDE 0700(家用电气设备的安全)和VDE 0868(音频/视频、信息和通信技术设备)。
在商业设施中,商业雇主责任保险协会的事故预防规定也适用。
使用的安全符号
电气危险警告
该标志表示可能导致死亡或人身伤害的情况或做法。
一般警告标志
该标志表示可能导致产品本身或连接设备损坏的情况或做法。
2.1 电源
警告:
- 在任何情况下都不得出现负波动tages 或 voltag大于 +5 V 的电压应连接至 MCCAB 培训板。唯一的例外是输入 VX1 和 VX2,此处为输入 voltages 的范围可以是+8V 到+12V(参见第4.2 节)。
- 切勿将任何其他电位连接到地线(GND,0 V)。
- 切勿互换接地(GND、0 V)和 +5 V 连接,因为这会导致 MCCAB 培训板永久损坏!
- 特别是,切勿连接 ~230 V 或 ~115 V 电源电压tag请前往 MCCAB 培训委员会!
有生命危险!!!
2.2 操作和环境条件
为避免死亡或伤害并保护设备免受损坏,必须严格遵守以下规则:
- 切勿在有爆炸性蒸气或气体的房间内操作 MCCAB 培训板。
- 如果年轻人或不熟悉电子电路处理的人员在 MCCAB 培训委员会工作(例如在培训中),则必须由经过适当培训的负责人员监督这些活动。
不适合 14 岁以下儿童使用,必须避免使用。 - 如果 MCCAB 培训板出现损坏迹象(例如,由于机械或电气应力),则出于安全原因不得使用。
- MCCAB 训练板只能在温度高达 +40 °C 的清洁、干燥环境中使用。
2.3 维修保养
为了避免财产损失或人身伤害,任何可能需要的维修只能由经过适当培训的专业人员并使用原厂备件进行。
MCCAB 培训板不包含任何用户可维修的部件。
预期用途
MCCAB 培训板专为简单快速地教授有关编程和微控制器系统使用的知识而开发。
该产品专为培训和练习目的而设计。不允许用于任何其他用途,例如在工业生产设施中。
警告: MCCAB 培训板仅适用于 Arduino® NANO 微控制器系统(参见图 2)或与其 100% 兼容的微控制器模块。该模块必须以工作电压运行tagVcc = +5V 的 e。否则,微控制器模块、训练板以及与训练板连接的设备存在不可逆转的损坏或毁坏的风险。
警告: 卷tag+8 V 至 +12 V 范围内的电源可连接至训练板的输入 VX1 和 VX2(参见本手册第 4.2 节)。卷tag训练板所有其他输入的 es 必须在 0 V 至 +5 V 范围内。
警告: 这些操作说明描述了如何将 MCCAB 培训板与用户的 PC 和任何外部模块正确连接和操作。请注意,我们对用户造成的操作和/或连接错误没有影响。用户独自负责将培训板正确连接到用户的 PC 和任何外部模块,以及其编程和正确操作!对于因错误连接、错误控制、错误编程和/或错误操作而造成的所有损坏,用户承担全部责任!在这些情况下,针对我们的责任索赔被排除在外,这是可以理解的。
不允许用于指定以外的任何用途!不得修改或转换 MCCAB 培训板,因为这可能会损坏它或危及用户(短路、过热和火灾风险、触电风险)。如果因培训板使用不当而造成人身伤害或财产损失,则由操作者而非制造商承担全部责任。
MCCAB 培训委员会及其组成部分
图 1 显示了 MCCAB 培训板及其控制元件。训练板只需放置在不导电的工作表面上,并通过迷你 USB 电缆连接到用户的 PC(参见第 4.3 节)。
特别是与 Elektor 出版的“Arduino 初学者微控制器实践课程”(ISBN 978-3-89576-545-2) 结合使用时,MCCAB 培训板非常适合轻松快速地学习编程和使用微控制器系统。用户在 PC 上的 Arduino IDE 中为 MCCAB 训练板创建练习程序,Arduino IDE 是一个带有集成 C/C++ 编译器的开发环境,可以从 web地点 
图 1:MCCAB 培训委员会,修订版 3.3
MCCAB 培训板上的操作和显示元件:
- 11 × LED(输入/输出 D2 … D12 的状态指示)
- 接头 JP6 用于连接 LED LD10 … LD20 以及分配给它们的 GPIO D2 … D12
- 用于微控制器输入/输出的端子块 SV5(分配器)
- RESET 按钮
- 微控制器模块 Arduino® NANO(或兼容),带迷你 USB 插座
- LED“L”,连接到 GPIO D13
- 用于微控制器输入/输出的连接器 SV6(分配器)
- 电位器P1
- 用于选择工作电压的排针 JP3tag电位器P1和P2的e
- 电位器P2
- 排针 JP4,用于选择连接器板 SV12 的引脚 X 处的信号
- 连接器板 SV12:SPI 接口 5 V(引脚 X 处的信号通过 JP4 选择)
- 连接器板 SV11:SPI 接口 3.3 V
- 端子块 SV10:I5C 接口 XNUMX V
- 端子块 SV8:I2 C 接口 3.3 V
- 端子块 SV9:22 I3.3C 接口 XNUMX V
- 端子块 SV7:外部设备的开关输出
- 2 x 16 字符液晶显示屏
- 6 × 按钮开关 K1 … K6
- 6 × 滑动开关 S1 … S6
- 排针 JP2 用于将开关连接到微控制器的输入。
- 端子块 SV4:工作电压分配器tages
- 压电蜂鸣器 Buzz1
- 端子块 SV1:外部设备的开关输出
- 端子板 SV3:3 × 3 LED 矩阵的列(输出 D6 … D8,带串联电阻 330 Ω)
- 连接器条 SV2:2 x 13 引脚,用于连接外部模块
- 3 × 3 LED 矩阵(9 个红色 LED)
- 排针 JP1,用于将 3 × 3 LED 矩阵的行与微控制器 GPIO D3 … D5 连接
- 排针 JP6 的“Buzzer”位置上的跳线将 Buzzer1 与单片机的 GPIO D9 连接起来。
训练板上的各个控制将在以下部分详细说明。
4.1 Arduino® NANO 微控制器模块
NANO 或与其兼容的微控制器模块插入 MCCAB 培训板(参见图 5 中的箭头 (1) 以及图 2 和图 1 中的 M4)。该模块配备AVR微控制器ATmega328P,控制训练板上的外围元件。此外,模块底部还集成了一个转换器电路,用于连接微控制器UART(通用异步接收发送器)的串行接口与PC的USB接口。该接口还用于将用户在 PC 上创建的程序加载到微控制器中,或将数据传输到 Arduino IDE(开发环境)的串行监视器或从 Arduino IDE(开发环境)的串行监视器传输数据。图 2 中的两个 LED TX 和 RX 指示微控制器串行线 TxD 和 RxD 上的数据流量。 Arduino®

图 2:微控制器模块 Arduino® NANO(来源: www.arduino.cc)
LED L(参见图 2 和图 6 中的箭头 (1) – 对于 Arduino NANO 兼容克隆,“L”名称可能有所不同)通过串联电阻永久连接到微控制器的 GPIO D13,并指示其状态为低电平或高的。 +5V 电压tag模块底部的调节器可稳定音量tage 通过 Arduino ® NANO 模块的 VIN 输入从外部向 MCCAB 培训板供电(请参见第 4.2 节)。
通过按下 Arduino ® NANO 模块顶部的 RESET 按钮(参见图 2 和图 4 中的箭头 (1)),微控制器将设置为定义的初始状态,并重新启动已加载的程序。 i 对用户重要的微控制器的所有输入和输出均连接到两个端子排 SV5 和 SV6(图 3 中的箭头 (7) 和箭头 (1))。通过连接器 - 所谓的杜邦电缆(见图 3) - 在 SV5 和 SV6 引出的微控制器的输入/输出(也称为 GPIO = 通用输入/输出)可以连接到操作元件(按钮、开关) ,...)在 MCCAB 培训板上或外部部件上。
图 3:用于将 GPIO 连接到控制元件的不同类型的杜邦电缆
用户必须在两个连接器条 SV5 和 SV6 上配置 Arduino® NANO 微控制器模块的每个 GPIO(图 3 中的箭头 (7) 和箭头 (1)),该连接器通过杜邦电缆连接到训练上的连接器板或外部连接器,在他的程序中将所需的数据方向作为输入或输出!
数据方向由指令设置
pinMode(GPIO,方向); // 对于“gpio”,插入相应的引脚号 // 对于“direction”,插入“INPUT”或“OUTPUT”
Examp莱斯:
引脚模式(2,输出); // GPIO D2 设置为输出
pinMode(13,输入); // GPIO D13 设置为输入
图 4 显示了 MCCAB 培训板上 Arduino® NANO 微控制器模块 M1 的接线。

图 4:MCCAB 培训板上微控制器模块 Arduino® NANO 的接线
微控制器模块Arduino® NANO最重要的数据:
| •操作量tag电源电压: | +5 伏 |
| •外部提供的工作量tage 在车辆识别号 (VIN) 处: | +8V 至 +12V(参见第 4.2 节) |
| •ADC的模拟输入引脚: | 8(AO … A7,参见以下 m 注释) |
| •数字输入/输出引脚: | 12 (D2 … D13) 分别16(好像是注释) |
| •NANO模块的电流消耗: | 约 20 毫安 |
| •最大限度。 GPIO的输入/输出电流: | 40 毫安 |
| •所有GPIO的输入/输出电流之和: | 最大200毫安 |
| •指令存储器(闪存): | 32 千字节 |
| •工作存储器(RAM存储器): | 2 千字节 |
| •EEPROM存储器: | 1 千字节 |
| •时钟频率: | 16兆赫 |
| •串行接口: | SPI、I2C(对于UART参见注释) |
笔记
- GPIO D0 和 D1(图 2 中模块 M1 的引脚 1 和引脚 4)分配有微控制器 UART 的信号 RxD 和 TxD,用于 MCCAB 培训板和 PC 的 USB 端口之间的串行连接。因此,用户只能在有限的范围内使用它们(另请参见第 4.3 节)。
- GPIO A4 和 A5(图 23 中模块 M24 的引脚 1 和引脚 4)被分配给微控制器 I4.13C 接口的信号 SDA 和 SCL(参见第 4.9 节),因此保留用于与 LC 显示器的串行连接。 MCCAB 培训板(请参阅第 2 节)以及连接到连接器板 SV8、SV9 和 SV10 的外部 I 15 C 模块(图 16 中的箭头 (14)、(1) 和 (2))。因此,它们仅可供用户用于 I XNUMX C 应用。
- 引脚 A6 和 A7(图 25 中微控制器 ATmega26P 的引脚 328 和引脚 4)只能用作微控制器模拟/数字转换器 (ADC) 的模拟输入。它们不得通过函数 pinMode() 进行配置(甚至不能作为输入!),这会导致草图出现错误行为。A6 和 A7 永久连接到电位器 P1 和 P2 的抽头端子(图 8 中的箭头 (10) 和箭头 (1)),请参见第 4.3 节。
- 排针 SV0 上的连接 A3 … A6(图 7 中的箭头 (1))原则上是微控制器的模拟/数字转换器的模拟输入。然而,如果 12 个数字 GPIO D2 … D13 不足以满足特定应用,A0 … A3 也可以用作数字输入/输出。然后通过引脚号 14 (A0) … 17 (A3) 对它们进行寻址。 2 前amp莱斯:pinMode(15,输出); // A1用作数字输出 pinMode(17, INPUT); // A3用作数字输入
- 排针 SV12 上的引脚 D5(图 3 中的箭头(1))和排针 SV13 上的引脚 D0 和 A3 … A6(图 7 中的箭头(1))被路由至排针 JP2(图 21 中的箭头(1)) 1) 并且可以连接到开关 S6 … S1 或并联到它们的按钮 K6 … K4.6,另请参见第 XNUMX 节。在这种情况下,必须使用 pinMode 指令将相应引脚配置为数字输入。
A/D转换精度
微控制器芯片内的数字信号会产生电磁干扰,从而影响模拟测量的准确性。
如果将 GPIO A0 … A3 之一用作数字输出,则在另一个模拟输入上进行模拟/数字转换时,请勿切换,这一点非常重要!在其他模拟输入 A0 … A3 之一进行模/数转换期间,A0 … A7 处的数字输出信号发生变化可能会严重影响该转换的结果。
使用 I4C 接口(A5 和 A4.13,请参阅第 0 节)或 GPIO A3 … AXNUMX 作为数字输入不会影响模拟/数字转换的质量。
4.2 MCCAB 训练板电源
MCCAB 培训板使用标称工作直流电压tagVcc = +5 V 的 e,通常由连接的 PC 通过 Arduino NANO 微控制器模块的 mini-USB 插座提供(图 5、图 2 和图 5 中的箭头 (1))。由于 PC 通常是为了创建和传输锻炼程序而连接的,因此这种类型的电源是理想的选择。
为此,必须通过迷你 USB 电缆将训练板连接到用户 PC 的 USB 端口。 PC提供稳定的直流电压tage 约+5 V,与电源电压隔离tage 并可通过其 USB 接口加载最大 0.5 A 的电流。 +5 V 工作电压的存在tage 由微控制器模块上标记为 ON(或 POW、PWR)的 LED 指示(图 5、图 2)。 +5V 电压tage 通过迷你 USB 插座连接到实际操作卷tage 通过保护二极管D连接Arduino NANO微控制器模块上的Vcc。实际工作电压tage Vcc 因电压小幅下降至 Vcc ≈ +4.7 Vtag保护二极管 D 处的电压降。工作电压的小幅降低tage 不会影响 Arduino® NANO 微控制器模块的功能。 ® 或者,训练板可以由外部直流电压供电tag电子来源。本卷tage,应用于端子 VX1 或端子 VX2,必须在 VExt = +8 … +12 V 范围内。外部电压tage 通过连接器 SV30 或从连接到连接器 SV4 的外部模块馈入 Arduino NANO 微控制器模块的引脚 2 (= VIN)(参见图 5、图 4 以及图 22 中的箭头 (26) 或箭头 (1)) 。由于该板通过其 USB 插座由连接的 PC 供电,因此无法反转工作电压的极性tage.两个外部卷tag可以提供给 VX1 和 VX2 连接的电压通过二极管去耦,如图 4 所示。 
二极管 D2 和 D3 提供两个外部电压的去耦tages 位于 VX1 和 VX2,以防 voltage 应错误地同时应用于两个外部输入,因为由于二极管的原因,仅两个电压中较高的一个tages可以到达Arduino NANO微控制器模块M30的输入VIN(引脚5,见图4和图1)。
外接直流电压tage 在其 VIN 连接器处提供给微控制器模块的电压降低至 +5 V,并通过集成电压稳定tag调节器位于微控制器模块的底部(见图 2)。 +5V工作电压tage 由 vol 产生tag在图 5 中,稳压器连接到二极管 D 的负极。当插入 PC 的 USB 连接时,D 的正极也通过 PC 连接到 +5 V 电位。因此,二极管 D 被阻断并且没有电压。对电路功能的影响。在这种情况下,通过 USB 电缆提供的电源将被关闭。 +3.3V辅助电压tage 在 MCCAB 训练板上由线性 vol 生成tage 稳压器来自 +5 V 工作电压tage 微控制器模块的Vcc,可提供最大200 mA的电流。
通常在项目中,访问操作卷tages 是必需的,例如,对于 voltage 提供外部模块。为此,MCCAB 培训委员会提供了卷tag分配器 SV4(图 4 和图 21 中的箭头 (1)),其上有两个输出用于 voltage +3.3 V 和 vol 的三个输出tag除了用于外部电压的连接引脚 VX5 之外,还提供 +0 V 以及六个接地连接(GND、1 V)tage.
4.3 MCCAB 培训板与 PC 之间的 USB 连接
用户在PC上的Arduino IDE(开发环境)中开发的程序通过USB电缆加载到MCCAB培训板上的ATmega328P微控制器中。为此,MCCAB 培训板上的微控制器模块(图 5 中的箭头 (1))必须通过迷你 USB 电缆连接到用户 PC 的 USB 端口。
由于单片机模块上的微控制器ATmega328P其芯片上没有自己的USB接口,因此该模块底部有一个集成电路,用于将USB信号D+和D-转换为ATmega328P的UART的串行信号RxD和TxD。
此外,还可以通过微控制器的 UART 和后续的 USB 连接向集成到 Arduino IDE 中的串行监视器输出数据或读取数据。
为此,用户可以在 Arduino IDE 中使用“Serial”库。
培训板通常也通过用户 PC 的 USB 接口供电(参见第 4.2 节)。
用户无意使用微控制器的连接到排针 SV5(图 3 中的箭头 (1))的信号 RX 和 TX 与外部设备(例如 WLAN、蓝牙收发器或类似设备)进行串行通信。 ,因为这可能会损坏微控制器模块底部的集成 USB UART 转换器电路(请参阅第 4.1 节),尽管存在保护电阻!如果用户无论如何都这样做,他必须确保PC和Arduino NANO微控制器模块之间没有同时通信!通过 USB 插座提供的信号会导致与外部设备的通信受损,在最坏的情况下,还会损坏硬件! ®
4.4 用于微控制器 GPIO 状态指示的 2 个 LED D12 … DXNUMX
在图 1 的左下部分,您可以看到 11 个 LED LED10 … LED20(图 1 中的箭头 (1)),它们可以指示微控制器的输入/输出 (GPIO) D2 … D12 的状态。
相应的电路图如图4所示。
如果将跳线插入排针 JP6 的相应位置(图 2 中的箭头 (1)),则相应的发光二极管将连接到 GPIO。
当插入 JP2 上的跳线时,如果相应的 GPIO D12 … D5 处于高电平(+6 V),则指定的 LED 点亮,如果 GPIO 处于低电平(GND,0 V),则 LED 熄灭。
如果将 GPIO D2 … D12 之一用作输入,则可能需要通过移除跳线来停用分配给它的 LED,以避免 LED 的工作电流(约 2 … 3毫安)。
GPIO D13 的状态由微控制器模块上其自身的 LED L 直接指示(参见图 1 和图 2)。 LED L 无法关闭。
由于输入/输出 A0 … A7 基本上用作微控制器的模拟/数字转换器或特殊任务(TWI 接口)的模拟输入,因此它们没有数字 LED 状态显示器,以免损害这些功能。
4.5 电位器P1和P2
图1底部的两个电位器P2和P1的旋转轴(图8中的箭头(10)和箭头(1))可用于设置voltag其抽头连接处的 es 范围为 0 … VPot。
两个电位器的接线如图6所示。

图6:电位器P1和P2的接线
两个电位器的抽头连接通过保护电阻 R6 和 R7 连接到 Arduino® NANO 微控制器模块的模拟输入 A23 和 A24。
二极管 D4、D6 或 D5、D7 保护微控制器的相应模拟输入免受过高或负电压的影响tag西。
警告:
由于微控制器的内部芯片架构,ATmega6P 的引脚 A7 和 A328 始终为模拟输入。不允许使用 Arduino IDE 的 pinMode() 函数对其进行配置,并且可能会导致程序的错误行为。
通过微控制器的模拟/数字转换器,设置的音量tage 可以用一种简单的方法来测量。
Example 用于读取连接 A1 处电位计 P6 的值: int z = AnalogRead(A6);
由vol计算出的10位数值Ztage 在 A6 处,根据 Z =
(第 1 节中的方程 5) 1024⋅
所需上限 VPot = +3.3 V resp。设置范围的 VPot = +5 V 通过排针 JP3 设置(图 9 中的箭头(1))。要选择 VPot,请使用跳线将 JP1 的引脚 3 或引脚 3 连接到引脚 2。
哪一卷tage 必须使用 JP3 设置,VPot 取决于参考电压tage 排针 SV6 的 REF 连接器处的模拟/数字转换器的 VREF(图 7 中的箭头 (1)),请参见第 5 节。
参考体积tage SV6 排针 REF 端子处 A/D 转换器的 VREF 和 voltage VPot 与 JP3 指定的必须匹配。
4.6 开关 S1 … S6 和按钮 K1 … K6
MCCAB 训练板为用户提供了用于练习的六个按钮和六个滑动开关(图 20 中的箭头 (19) 和 (1))。图 7 显示了它们的接线。为了让用户可以选择将永久信号或脉冲信号施加到微控制器模块 M1 的输入之一,单滑动开关和一个按钮开关并联连接。
六个开关对中每一对的公共输出均通过保护电阻 (R25 … R30) 连接至排针 JP2(图 21 中的箭头 (1))。滑动开关和按钮开关与公共操作电阻 (R31 … R36) 的并联连接就像逻辑或运算:如果通过两个开关之一(或同时两个开关),则 +5 V 电压tage出现在公共工作电阻上,该逻辑高电平通过保护电阻也出现在JP2的相应引脚4、6、8、10、12或2上。只有当两个开关都打开时,它们的公共连接才打开,并且排针JP2的相应引脚通过保护电阻和工作电阻的串联被拉至低电平(0V,GND)。
图 7:滑动/按钮开关 S1 … S6 / K1 … K6 的接线
排针 JP2 的每个引脚都可以连接到 Arduino 的指定输入 A0 … A3、D12 或 D13
通过跳线连接 NANO 微控制器模块。分配如图 7 所示。
或者,排针 JP2 的引脚 4、6、8、10、12 或 2 上的开关连接可以连接到排针 SV2 或 SV13 上 Arduino® 微控制器模块的任何输入 D0 … D3 或 A5 … A6(图 3 中的箭头 (7) 和箭头 (1))使用杜邦电缆。如果 ATmega328P 微控制器的指定 GPIO 用于特殊功能(A/D 转换器输入、PWM 输出……),则这种灵活的连接方式优于将每个开关固定分配到特定 GPIO。这样,用户可以将其开关连接到相应应用程序中空闲的 GPIO,即未被特殊功能占用的 GPIO。
在他的程序中,用户必须使用指令 pinMode(gpio, INPUT) 将 Arduino® NANO 微控制器模块的每个 GPIO 配置为输入,连接到交换机端口; // 对于“gpio”插入相应的引脚号
Example: pinMode(A1, 输入); // A1 设置为 S2|K2 的数字输入
如果连接到开关的微控制器的 GPIO 被错误配置为输出,当开关启动且 GPIO 为低电平时,保护电阻 R25 … R30 可防止 +5 V 和 GND (0 V) 之间短路在其输出。
为了能够使用按钮开关,与其并联的滑动开关必须打开(位置“0”)!否则,无论按钮开关的位置如何,它们的公共输出都将永久处于高电平。
滑动开关的开关位置在训练板上标记为“0”和“1”,如图1所示。
图 8 显示:如果开关位于位置“1”,则开关输出连接到 +5 V(高电平),如果开关位于位置“0”,则开关输出打开。

4.7 压电蜂鸣器 Buzzer1
图 1 的左上部分显示了 Buzzer1(图 23 中的箭头(1)),它允许用户发出不同频率的音调。其基本电路如图9所示。
Buzzer1 可通过排针 JP9 的“Buzzer”位置(图 6 中的箭头(29))上的跳线连接到 MCCAB 培训板上单片机的 GPIO D1(见图 9、图 4 和箭头(2))如图 1 所示)。如果程序中需要 GPIO D9 用于其他目的,则可以删除跳线。
如果去掉跳线,也可以通过杜邦线将外部信号施加到排针 JP24 的第 6 脚,并由 Buzzer1 输出。 
图9:Buzzer1接线
为了生成音调,用户必须在程序中生成一个信号,该信号随微控制器输出 D9 处所需的音调频率而变化(如图 9 右侧所示)。
这种高电平和低电平的快速序列应用了矩形交流电压tage 至 Buzzer1,它使蜂鸣器内部的陶瓷板周期性变形,从而以适当的音调频率产生声音振动。
产生音调的更简单方法是使用微控制器的 T/C1(定时器/计数器 1):Arduino NANO 微控制器模块上的 AVR 微控制器 ATmega1P 的 T/C1 输出 OC328A 可以连接到微控制器内部的 GPIO D9芯片。通过对 T/C1 进行适当的编程,很容易生成频率为 f = ® 1 ?? 的矩形信号。 (T为矩形信号的周期)由蜂鸣器转换成所需的音调。图 10 显示压电蜂鸣器不是高保真扬声器。可以看出,压电蜂鸣器的频率响应绝不是线性的。图 10 中的图表显示了在 2155 m 距离处测量的 Sonitron 压电传感器 SAST-1 的声压级 (SPL),作为信号频率的函数。由于物理特性和自然共振,某些频率的再现声音更大,而其他频率的再现声音更柔和。 MCCAB 培训板上压电蜂鸣器的对应图显示了类似的曲线。

图 10:压电蜂鸣器的典型频率响应(图片:Sonitron)
尽管存在这一限制,压电蜂鸣器还是微控制器生成的声音的再现质量与其在电路板上的占用空间之间的良好折衷方案,这使得它可以容纳在较小的空间中。如果需要更高质量的声音输出,可以通过移除跳线将压电蜂鸣器与输出 D9 断开,并且可以将 D9 连接到外部设备,以便在排针 SV5 上再现声音,例如通过杜邦电缆(如有必要) ,通过卷tage 分频器以减少 amp避免损坏输入的纬度tage)。
4.8 3×3 LED 矩阵
图9左侧的1个LED排列成3列3行的矩阵(图27中的箭头(1))。其电路如图 11 所示。由于采用矩阵排列,只需微控制器的 9 个 GPIO 即可控制 6 个 LED。
三列线 A、B 和 C 永久连接到微控制器的引脚 D8、D7 和 D6,如图 11 所示。列线中的三个电阻器 R5 … R7 限制通过 LED 的电流。此外,列线连接到连接器SV3(图25中的箭头(1))。
三排连接 1、2 和 3 布线至排针 JP1(图 28 中的箭头 (1))。它们可以通过跳线连接到微控制器的引脚 D3 … D5。或者,接头 JP1 上的引脚 2、3 或 1 可以通过杜邦电缆连接到接头 SV2 和 SV13 上 Arduino NANO 微控制器模块的任何输出 D0 … D3 或 A5 … A6(箭头 (3) 和箭头 (7)图 1 中)如果 Arduino ® NANO 微控制器模块上的微控制器 ATmega3P 的指定 GPIO D5 … D328 之一用于特殊功能。 9 个 LED 根据其在矩阵内的排列被标记为 A1 … C3,例如,LED B1 位于列线 B 和行线 1。
图 11:3 个 LED 呈 3 × XNUMX 矩阵形式
LED通常由用户程序无限循环地控制,其中1、2、3三行之一循环置为低电位,而另外两行置为高电平或处于高阻态状态(高阻态)。如果要点亮当前由低电平激活的行中的一个或多个LED,则将其列端子A、B或C设置为高电平。活动行中不被点亮的LED的列端子处于低电位。对于前amp即,要使LED A3和C3同时点亮,第3行必须为低电平,A和C列必须为高电平,而B列必须为低电平,行线1和2都为高电平或在高阻抗状态(Hi-Z)。
警告: 如果 3 × 3 LED 矩阵的行线通过排针 JP3 上的跳线连接到 GPIO D5 … D1,或者通过杜邦电缆连接到微控制器的其他 GPIO,则这些行线以及列线 D6 … D8绝不能用于程序中的其他任务。矩阵 GPIO 的双重分配会导致训练板故障甚至损坏!
4.9 液晶显示器 (LCD)
图 1 的右上角是液晶显示器 (LCD),用于显示文本或数值(图 18 中的箭头 (1))。 LCD 有两行;每行可以显示16个字符。其电路如图 12 所示。
LC显示器的设计可以根据制造商而变化,例如,蓝色背景上的白色字符或黄色背景上的黑色字符或其他外观是可能的。
由于并非所有程序都需要 LCD,+5 V 工作电压tag如果 LCD 的背光干扰,可以通过拉动排针 JP5 上的跳线来中断 LCD 的工作。
图 12:液晶显示屏的连接
对比度设置
MCCAB 培训板的购买者必须在首次启动时调整 LC 显示屏的对比度!为此,将文本输出到 LCD,并通过使用螺丝刀从训练板底部更改图 13 所示的微调电阻(图 13 中的白色箭头标记)来调整对比度,以便显示屏上的字符均以最佳方式显示。
如果由于温度波动或老化而需要重新调整,用户可以根据需要调整此微调电阻来校正 LCD 对比度。
图 13:用螺丝刀调节 LCD 对比度
将数据传输至液晶显示器
LC 显示器通过微控制器 ATmega2P 的串行 TWI (=I328 C) 接口进行控制。排针 SV4 上的连接器 A6(图 7 中的箭头(1))用作数据线 SDA(串行 DAta),A5 用作时钟线 SCL(串行时钟)。
MCCAB 培训板上的 LC 显示屏通常具有 I2 C 地址 0x27。
如果由于制造原因应使用其他地址,则该地址将通过显示屏上的贴纸指示。在用户的程序中,必须使用该地址而不是地址 0x27。
安装在液晶显示器上的控制器与广泛使用的工业标准HD44780兼容,该标准有大量的Arduino库(例如, https://github.com/marcoschwartz/LiquidCrystal_I2C)在互联网上通过
IC2总线。这些库通常可以从各自的网站免费下载 web地点。
4.10 驱动器输出 SV1 和 SV7 以获得更高的输出电流和电压tages
排针 SV1(图 24 中的箭头 (1))和 SV7(图 17 中的箭头 (1))可用于打开和关闭需要比大约 40mA 更高电流的负载。普通微控制器输出可提供的最大电流为 XNUMX mA。经营量tag外部负载可达+24V,输出电流可达160mA。这使得可以直接使用训练板的微控制器控制较小的电机(例如风扇电机)、继电器或较小的灯泡。
图 14 显示了两个驱动器输出的电路图。
图 14:驱动器输出 SV1 和 SV7 以实现更高的输出电流
图 14 中的虚线区域显示了如何使用 ex 将负载连接到驱动器输出。amp继电器和电机的le:
- 外部工作电压正极tage 连接到接头 SV3 和 SV1 的引脚 7(板上标记为“+”)。 SV3。负载的正极连接也连接到排针 SV1 或 SV7 的引脚 XNUMX。
- 负载的负极连接分别连接到接头 SV2 的引脚 1(板上标记为“S”)。 SV7。
- 外部工作电压负极tage 连接到插头 SV1 的引脚 1(板上标有“ ”)。 SV7。
司机tage SV1 永久连接到微控制器和驱动器的 GPIO D3tage SV7 永久连接到微控制器的 GPIO D10。由于 D3 和 D10 是具有 PWM 功能的微控制器输出,因此可以轻松控制,例如ample,所连接的直流电机的速度或灯泡的亮度。保护二极管 D1 和 D8 确保 voltag关闭感性负载时出现的峰值不会损坏输出tage.
微控制器输出 D3 处的高电平信号会打开晶体管 T2,并且 SV1 负载的负极连接通过开关晶体管 T2 连接到地 (GND)。这样,负载就被接通了,因为整个外部工作电压tage 现在就放弃了。
D3 处的低电平信号会阻塞晶体管 T2,并且连接到 SV1 的负载被关闭。这同样适用于微控制器的输出 D10 和接头 SV7。
4.11 用于连接外部模块的 SV2 插座连接器
通过插座连接器 SV2(图 26 中的箭头 (1)),外部模块和印刷电路板可以对接至 MCCAB 培训板。这些模块可以是传感器板、数字/模拟转换器、WLAN 或无线电模块、图形显示器或用于增加输入/输出线路数量的电路,仅举几个选项。即使是完整的应用模型,例如控制工程或交通灯控制的培训模块,需要许多 GPIO 进行控制,也可以连接到 MCCAB 培训板的 SV2 插座连接器并由其微控制器控制。母连接器条 SV2 由 26 个触点组成,排列成 2 排,每排 13 个触点。 SV2 插座板的奇数触点位于上排,偶数触点位于下排。
图 15:插座连接器 SV2 的引脚分配
SV2 的引脚分配如图 15 所示。MCCAB 培训板上与外部模块相关的所有连接均引出至插座板 SV2。
GPIO D0 和 D1(RxD 和 TxD)以及模拟输入 A6 和 A7 未连接到 SV2,因为 D0 和 D1 保留用于 MCCAB 培训板和 PC 之间的串行连接,并且仅在特定情况下可供用户使用。非常有限的方式(参见第 4.1 节中的注释),并且 A6 和 A7 永久连接到 MCCAB 培训板上电位器 P1 和 P2 的游标端子(参见第 4.3 节),因此不能以其他方式使用。
在他的程序中,用户必须在两个排针 SV5 和 SV6 上配置 Arduino NANO 微控制器模块的每个 GPIO(图 3 中的箭头 (7) 和箭头 (1)),该 GPIO 由 SV2 上的外部模块使用,所需的数据方向为输入或输出(参见第 4.1 节)! ®
警告: MCCAB 培训板上微控制器 ATmega328P 的 GPIO 由连接到 SV2 的模块使用,不得用于程序中的其他任务。这些 GPIO 的双重分配会导致训练板故障甚至损坏!
4.12 SPI 模块连接排针
排针 SV11(图 13 中的箭头 (1))和 SV12(图 12 中的箭头 (1))可用于将作为 SPI 主站的 MCCAB 训练板与具有 SPI 接口(SPI = 串行外设)的外部从站模块连接起来。界面)。串行外设接口允许在训练板和外设模块之间快速同步数据传输。
AVR 微控制器 ATmega328P 的芯片上有一个硬件 SPI,其信号 SS、MOSI、MISO 和 SCLK 可以在微控制器芯片内部连接到排针 SV10 和 SV13 上的 GPIO D5 … D6(箭头(3)和箭头(7) )如图 1 所示)。
在Arduino IDE中,可以使用SPI库来控制SPI模块,通过#include将其集成到用户程序中
图 16:SPI 连接器 SV11 的引脚分配
由于 SPI 模块的工作量tage +3.3 V 以及具有工作电压的 SPI 模块tag+5 V 很常见,MCCAB 培训板为 SV11 和 SV12 提供两个相应的接线连接条来覆盖这两个选项。
如果跳线将接头 JP2 的引脚 3 和 4 短接(参见上面的图 17),则 SPI 接口 SV11 和 SV12 使用微控制器的相同输出引脚 D10 作为 SS(从选择)线,如图 16 和图 17 所示!因此,两个连接器 SV11 或 SV12 只能同时连接到 SPI 模块,因为不同设备同时使用同一条 SS 线会导致 SPI 线传输错误和短路!第 4.12.3 节显示了两个 SPI 从机如何同时连接到 SV11 和 SV12 的可能性。
4.12.1 +11V 工作电压 SPI 模块的接口 SV3.3tage
连接器 SV11(图 13 中的箭头 (1))使用户能够在 MCCAB 培训板和具有 +3.3 V 工作电压的外部 SPI 模块之间建立串行 SPI 连接(SPI = 串行外设接口)tage、因为SV11接口处的SPI输出信号SS、MOSI、SCLK的电平通过vol降低到3.3Vtage 分隔线。 SPI 输入线 MISO 上的 3.3 V 电平被 AVR 微控制器 ATmega328P 识别为高电平信号,因此不必升至 5 V 电平。 SV11的接线如图16所示。
4.12.2 +12V 工作电压 SPI 模块的接口 SV5tage
接口 SV12(图 12 中的箭头 (1))使用户能够在 MCCAB 培训板和具有 +5 V 工作电压的外部 SPI 从机之间建立串行 SPI 连接tage、因为SV12接口的信号SS、MOSI、MISO和SCLK工作在5V信号电平。
SV12 的接线如图 17 所示。 
图 17:SPI 连接器 SV12 的引脚分配
排针 SV12 上的引脚排列对应于 AVR 制造商 Microchip 的 AVR 编程接口的推荐引脚分配,如图 18 所示。这使用户可以通过合适的编程设备对 ATmega328P 的引导加载程序进行重新编程SPI 接口,例如,是否需要更新到新版本或已被错误删除。
图 18:AVR 编程接口的推荐引脚分配
选择 SV5 引脚 12 处的信号 X
根据所需的应用,SV5 引脚 12 处的连接 X(图 17)可以分配不同的信号:
- 跳线连接排针 JP2 的引脚 3 和 4。
如果排针 JP2 的引脚 3 和 4(参见上图 17 和图 11 中的箭头(1))通过跳线短接,则微控制器的 GPIO D10(信号 SS)连接到连接器 SV5 的引脚 12。然后,SV12 用作与 SS(从选择)GPIO D10 的普通 SPI 接口。
在这种情况下,SPI 接口 SV11 和 SV12 使用相同的 SS 线 D10!因此,两个连接器排 SV11 或 SV12 中只能连接一个 SPI 模块,因为不同设备同时共用同一条 SS 线会导致 SPI 线传输错误和短路! - 跳线连接排针 JP1 的引脚 2 和 4。在这种情况下,微控制器的 RESET 线连接到排针 SV5 的引脚 12。在此模式下,SV12 充当微控制器 ATmega328P 的编程接口,因为对于编程过程,ATmega328P 的 RESET 线必须连接到排针 SV5 的引脚 X(引脚 12)。在此模式下,ATmega328P 为 SPI 从机,外部编程器为主机。
4.12.3 SPI 模块同时连接到 SV11 和 SV12
如果需要同时将 3.3V 模块和 5V 模块连接到 MCCAB 培训板,可以通过图 19 所示的接线来实现。排针 JP1 的引脚 3 和引脚 4 悬空, JP2 的引脚 4 通过杜邦电缆连接到引脚接头 SV2 上的数字 GPIO D9 … D5 之一(图 3 中的箭头 (1)),如图 19 所示。然后,微控制器 ATmega328P 的该输出完成以下任务:排针 SV5 的连接器 X(引脚 12)处有一个附加 SS 信号。图 19 显示了使用 ex 的过程ampD9 的文件作为附加连接器 SS2。 
图 19:两个 SPI 模块同时连接到 MCCAB 培训板 在这种情况下,两个 SPI 接口 SV11 和 SV12 可能同时连接到外部 SPI 从机,因为 SV11 和 SV12 现在使用不同的 SS 线: 低电平GPIO D10 激活 SV11 处的 SPI 模块,GPIO D9 处的低电平激活 SV12 处的 SPI 模块(见图 19)。
MCCAB 培训板上的微控制器只能与通过 SV11 或 SV12 连接到总线的一个模块同时交换数据。如图 19 所示,SV11 和 SV12 两个接口的 MISO 线连接在一起。如果两个接口同时通过 SS 连接器处的低电平激活并将数据传输到微控制器,则会导致 SPI 线路上的传输错误和短路!
4.13 TWI (=I8C) 接口的排针 SV9、SV10 和 SV2
通过排针 SV8、SV9 和 SV10(图 15 中的箭头 (16)、(14) 和 (1)),用户可以建立串行 I
训练板上微控制器的 C = Inter-Integrated Circuit(内部集成电路),具有外部 I2 C 连接(I2C 模块)。在 AVR 微控制器 ATmega328P 的数据表中,I2C 接口称为 TWI(两线接口)。三个连接器的接线如图20所示。 
图 20:MCCAB 培训板上的 TWI (=I2C) 接口
C 模块,工作电压为 +3.3 Vtage 连接至 SV8 或 SV9。 A级调整tagSV8 和 SV9 上的 e 将 AVR 微控制器 ATmega5P 的 328 V 信号电平降低至外部模块的 3.3 V 信号电平。 I 在 SV10 上,连接了那些 I 2 C 模块,它们与操作卷一起工作tage +5 V。I 2 C 接口仅由两条双向线SDA(串行DAta)和SCL(串行时钟)组成。为了更好区分,在图 20 中,SDA 和 SCL 线在电平调整前标有后缀 5V。tage,电平调整后带有后缀3V3 stage. AVR单片机ATmega328P的芯片上有一个硬件TWI(两线接口,功能上与I 2 C接口相同),其信号SDA和SCL可以在单片机芯片内部连接到排针SV4上的GPIO A5和A6(图 7 中的箭头 (1))。
在Arduino IDE中,wire库可用于控制I 2 C模块,通过#include将其集成到用户程序中。 2
ATmega328P模拟/数字转换器的使用提示
开启操作音量后默认设置tag微控制器模块Arduino NANO的e,微控制器的模数转换器(ADC)具有模拟量tage 范围 VADC = 0 … +5 V。在这种情况下,+5 V 工作电压tag单片机模块的e Vcc也是参考电压tage ADC 的 VREF,前提是连接器 SV6 的 REF 端子(图 7 中的箭头 (1))未连接。 ATmega328P 的 ADC 将模拟输入电压转换为tage VADC 在其输入 A0 … A7 之一处转换为数字 10 位值 Z。数值 Z 为二进制值。十六进制数范围 ®
Z = 00 0000 00002 … 11 1111 11112 = 000 … 3FF16。
这对应于十进制数字范围
Z = 0 … (2–1) = 0 ….
| 102310 |
| 1024 |
模拟量输入允许范围tage 是 VADC = 0 V … 10 1023 REFV⋅
模/数转换的精度主要取决于参考量的质量tage VREF,因为对于单片机的模数转换器产生的10位数值Z适用:
Z =
.1024(公式1)
VADC 是输入电压tag模拟/数字转换器的输入 A0 … A7 之一处的 e 和 VREF 是参考电压tage 设置为转换器。参考卷tage可以用高阻电压表在SV6的REF端和电路地GND之间测量。模数转换的结果是一个整数值,即两个卷相除得到的任何小数位tages VADC 和 VREF 被切断。 +5V工作电压tagPC通过USB线馈入的e是由PC的开关电源产生的。然而,输出量tag开关电源的电压通常具有不可忽略的交流电压tag电子元件叠加在其上,降低了模/数转换的精度。使用+3.3V辅助电压可以获得更好的结果tage 通过线性体积稳定tagMCCAB 培训委员会上的 e 监管机构作为参考卷tage 为模拟/数字转换器。为此,在程序中使用指令analogReference(EXTERNAL)对ATmega328P的模数转换器进行初始化; // 设置音量tage 引脚 REF 作为参考电压tage 根据更改后的参考卷tag排针 SV6 的 e 和引脚 REF(图 7 中的箭头(1))通过杜邦电缆或跳线连接到排针 SV3.3 上相邻的 +3 V 引脚 3V6。
请注意,模拟量tage VADC 参考电压tage VREF = 3.3 V 仍会转换为 10 … 0 范围内的数字 102310 位值,但模数转换器的测量范围减小至 VADC = 0 … +3.297 V 范围。
作为回报,转换结果的分辨率更高,因为 LSB(最小可解析值)现在仅为 3.2 mV。
输入音量tag引脚接头 SV0 上模拟输入 A7 … A6 处的模拟/数字转换器的 VADC 必须始终小于 SV6 端子 REF 处的值 VREF!
用户必须确保 VADC < VREF!
对于“A/D 转换的精度”,另请参见第 11 页的注释。
MCCAB 培训委员会的图书馆“MCCAB_Lib”
为了支持用户控制 MCCAB 培训板上的许多硬件组件(开关、按钮、LED、3 × 3 LED 矩阵、蜂鸣器),可以使用“MCCAB_Lib”库,该库可以从互联网站点免费下载 www.elektor.com/20440 由培训委员会的购买者。
有关使用 MCCAB 培训板的更多文献
在《Arduino 初学者微控制器实践课程》(ISBN 978-3-89576-5452)一书中,您不仅会找到有关微控制器编程和 Arduino IDE 中使用的编程语言 C 的详细介绍编写程序的同时,还详细介绍了“MCCAB_Lib”库的方法以及各种应用程序的使用方法。amp使用 MCCAB 培训板的文件和练习计划。
文件/资源
![]() |
elektor Arduino NANO 培训板 MCCAB [pdf] 使用说明书 Arduino NANO 训练板 MCCAB,Arduino,NANO 训练板 MCCAB,训练板 MCCAB,板 MCCAB |
