菜单 English Ukrainian 俄语 主页

面向爱好者和专业人士的免费技术图书馆 免费技术库


无线电电子与电气工程百科全书
免费图书馆 / 无线电电子和电气设备方案

阿杜伊诺。 模拟输入输出操作,工作时有声音。 无线电电子电气工程百科全书

免费技术库

无线电电子与电气工程百科全书 / 业余无线电设计师

文章评论 文章评论

虽然数字输入输出操作可以解决广泛的任务,但 Arduino 板的微控制器中内置的模数转换器 (ADC) 的存在以及使用脉冲宽度调制 (PWM) 输出模拟信号的能力提供了与模拟传感器和各种执行器的配合,这些执行器与控制信号成比例地作用于物体。

严格来说,在输出模式下,所有Arduino端口线只能传输只有两种状态的离散信号。 但微控制器能够非常快速地改变这些状态,生成矩形脉冲。 如果将这些脉冲施加到任何具有惯性特性的设备,那么它的表现就好像施加到它的电压是恒定的,等于脉冲的平均值,并且变化平滑,并且不会在高逻辑电平和低逻辑电平之间跳跃。

在 PWM 模式下,端口生成恒定频率和可变占空比(这是脉冲重复周期与其持续时间的比率)的脉冲信号。 通常,它们不是使用占空比,而是使用占空比的倒数 - 占空比,可以从 0(无脉冲)更改为 100%(脉冲跟随、合并、无暂停)。 因此,尽管输出电压在任何给定时刻要么高要么低,但其平均值与占空比成正比。 如果将常规万用表连接到该输出,它将显示该值(当然,如果脉冲频率足够高)。

在Arduino UNO中,输出D3、D5、D6、D9、D10和D11可以工作在PWM模式。 通常在板上它们标有符号“~”或缩写“PWM”。 应该注意的是,其他修改的 Arduino 板可能或多或少有这样的输出。

在最简单的情况下,PWM 可用于控制 LED 的亮度。 该设备实际上是无惯性的,但人类视觉具有足够的惯性,使得一系列快速 LED 闪烁被感知为具有与占空比相关的亮度的连续发光。

支持 PWM 的数字输出默认配置为使用此模式,因此您无需调用 pinMode() 函数即可使其在此模式下工作。 要设置 PWM 信号的占空比,有一个标准的 AnalogWrite(N, M) 函数,其中 N 是引脚编号,M 是与所需占空比成比例的数字。 它必须介于 0 和 255 之间,其中 0 表示零占空比(恒定低输出),255 表示 100% 占空比(恒定高输出)。 某些 M 值以及相应的占空比 Kz 的输出电压时序图如图 1 所示。 XNUMX.

阿杜诺。 模拟 I/O 操作,音频操作
米。 1. 输出电压时序图

例如,考虑表中给出的表。 1 程序逐渐增加连接到数字输出 D9 的 LED 的亮度,然后逐渐降低。 它基于 Arduino IDE 提供的 Examples3.AnalogFading 标准示例。 脉冲占空比值的枚举是在[1]中已考虑的 for 循环运算符的帮助下实现的。

1表。

阿杜诺。 模拟 I/O 操作,音频操作

为了从外部设备接收模拟信号,Arduino 使用输入 A0-A5,默认情况下将其设置为所需状态,因此不需要额外的初始化。 Arduino UNO 内置的 ADC 生成 10 位二进制代码,并将 0 至 +5 V 范围内的输入电压转换为 0 至 1023 (210-1) 之间的整数。

AnalogRead(N)函数用于读取转换结果,其中N是模拟输入的编号。

Arduino的模拟输入端可以连接各种传感器,其输出电压与测量值成正比(可变电阻、热敏电阻、光敏电阻等)。 但必须记住,模拟输入只能施加0到+5V的电压,如果传感器的输出电压处于不同的区间或为负极性,则必须首先将信号置于指定的区间内。 模拟输入的轮询频率低于 10 kHz [2],这可能不足以分析一些快速变化的信号。

模拟输入的存在使您可以将 Arduino 变成一个简单的数字电压表,测量 0 至 +5 V 的恒定电压并将测量结果传输到计算机。 为此,只需将表 2 中所示的程序下载到 Arduino 中即可。 XNUMX.

表2

阿杜诺。 模拟 I/O 操作,音频操作

请注意,程序中的常数是ADC参考电压Uref(单位为毫伏)和将ADC输出代码转换为电压Ku的系数。 系数的值是通过将指定的参考电压除以1023来计算的。该系数通常是分数,因此Ki常数的类型为float(浮点数)。 常数 Uref 具有相同的类型,以便正确计算系数。 由于公式右侧只有常量,因此在执行程序时计算系数的不是微控制器,而是编译器本身在翻译阶段。

所有这些都允许您通过用万用表测量 Arduino 板的 Uref 引脚处的参考电压的精确值并通过分配常数 Uref 将其写入程序来提高电压表的精度。 提高模数转换精度的其他方法可以在 [3, 4] 中找到。

当相关程序运行时,板上的 TX LED 会闪烁,表示通过串行端口传输信息。 RX LED 熄灭是因为计算机没有传输任何响应。 内置的Arduino IDE终端显示接收到的信息(图2)——测量3332原电池电压的结果。

阿杜诺。 模拟 I/O 操作,音频操作
米。 2.程序窗口

Arduino不仅可以发出光信号,还可以发出声音信号。 为此,需要将压电发声器(例如 ZP-1)连接到其输出之一(图 3)。

阿杜诺。 模拟 I/O 操作,音频操作
米。 3. 连接压电发声器

为了处理声音,提供了特殊的功能音调(N,F,T),其中N是生成矩形脉冲的引脚号; F——声音频率,Hz; T——声音持续时间,ms。 最后一个参数是可选的。 如果没有它,声音将是连续的。 为了将其关闭,提供了 noTone(N) 函数。

当然,压电陶瓷发声器很难称为高质量的播放设备,并且微控制器产生的信号具有矩形形状,但是使用这些功能可以让您演奏简单的旋律。 表中给出了一个例子。 3. 这是一个稍微修改过的示例 02.Digital oneMelody 程序,包含在 Arduino IDE 中。 由于手动设置旋律每个音符的频率很不方便,因此使用#include指令将文件pitches.h附加到程序的标题中。 这个操作相当于将该文件的全文包含到程序中。 在本例中,它包含可以播放的音符名称及其频率的列表。

表3

阿杜诺。 模拟 I/O 操作,音频操作

发声器必须连接到输出 D8。

对于程序来说,旋律是一系列相同类型的常量(频率值),它们可以方便地组合成一个数组 - 相似元素的编号列表。 声明数组时,必须枚举其所有元素,或指定它们的总数。 请注意,数组元素的编号始终从零开始。

在此示例中,使用了两个数组:int melody[] 包含旋律音符的名称,int note Durations[] - 它们的持续时间(以毫秒为单位)。 要访问数组的元素,其名称是用方括号括起来的序列号指定的。 为了能够轻松更改旋律中的音符数量,可以使用 sizeof(V) 函数进行计算,该函数返回其参数(变量或其数组)在微控制器内存中占用的字节数。 在本例中,旋律数组的长度为 16 个字节,其 int 元素的长度为两个字节。 因此,Note 变量的值为 8,这就是 for 循环体将重复播放音符的次数。

如果向 melody[] 数组添加多个音符,Note 值将相应改变。 只需记住用这些音符的持续时间填充 noteDurations[] 数组即可。

由于旋律播放一次,因此所需的所有操作都放在 setup() 函数内。

要重新执行,您需要按下 Arduino 板上的 RESET 按钮来重置微控制器。

文章中讨论的 Arduino 程序可以从 ftp://ftp.radio.ru/pub/2016/09/aninout.zip 下载。

文学

  1. 莱科姆采夫·D·阿杜诺 (Lekomtsev D. Arduino) 数字 I/O 操作。 - 广播,2016 年,第 8 期,第 51 页54-XNUMX。
  2. 使用 Arduino 进行模拟测量。 - 网址:robotosha.ru/arduino/analog-measurements-arduino.html。
  3. Arduino 语言参考。 模拟 I/O - AnalogReference()。 - URL:arduino.cc/en/Reference/AnalogReference。
  4. AnalogReference() 函数。 - URL:arduino.ru/Reference/AnalogReference。

作者:D. Lekomtsev

查看其他文章 部分 业余无线电设计师.

读和写 有帮助 对这篇文章的评论.

<< 返回

科技、新电子最新动态:

世界最高天文台落成 04.05.2024

探索太空及其奥秘是一项吸引世界各地天文学家关注的任务。在高山的新鲜空气中,远离城市的光污染,恒星和行星更加清晰地揭示它们的秘密。随着世界最高天文台——东京大学阿塔卡马天文台的落成,天文学史上翻开了新的一页。阿塔卡马天文台位于海拔5640米,为天文学家研究太空开辟了新的机遇。该地点已成为地面望远镜的最高位置,为研究人员提供了研究宇宙中红外波的独特工具。虽然海拔高,天空更晴朗,大气干扰也更少,但在高山上建设天文台却面临着巨大的困难和挑战。然而,尽管困难重重,新天文台为天文学家开辟了广阔的研究前景。 ... >>

利用气流控制物体 04.05.2024

机器人技术的发展不断为我们在各种物体的自动化和控制领域开辟新的前景。最近,芬兰科学家提出了一种利用气流控制人形机器人的创新方法。这种方法有望彻底改变物体的操纵方式,并为机器人领域开辟新的视野。利用气流控制物体的想法并不新鲜,但直到最近,实施这些概念仍然是一个挑战。芬兰研究人员开发了一种创新方法,允许机器人使用特殊的空气喷射作为“空气手指”来操纵物体。气流控制算法由专家团队开发,基于对气流中物体运动的深入研究。使用特殊电机执行的空气喷射控制系统使您无需借助物理手段即可引导物体 ... >>

纯种狗生病的频率并不比纯种狗高 03.05.2024

照顾宠物的健康是每个狗主人生活的重要方面。然而,人们普遍认为纯种狗比混种狗更容易感染疾病。德克萨斯兽医和生物医学科学学院的研究人员领导的新研究为这个问题带来了新的视角。狗老化项目 (DAP) 对 27 多只伴侣犬进行的一项研究发现,纯种狗和混血狗患各种疾病的可能性通常相同。尽管某些品种可能更容易感染某些疾病,但两组之间的总体诊断率实际上相同。狗衰老项目的首席兽医基思·克里维博士指出,有几种众所周知的疾病在某些狗品种中更为常见,这支持了纯种狗更容易患病的观点。 ... >>

来自档案馆的随机新闻

鱼粪制成的环保塑料 10.04.2021

纽芬兰纪念大学 (MUN) 的团队负责人 Francesca Kerton 表示,生物塑料可用于与传统聚氨酯几乎相同的用途。

以鱼粪为基础的塑料是环保的。 此外,本发明解决了回收这些食物垃圾的问题。 毕竟,通常被送往垃圾填埋场的鱼头、鱼骨、鱼皮和肠子可以变成无害的、可生物降解的材料。

这种新颖性将取代如今无处不在的聚氨酯:在鞋子、衣服、冰箱、建筑材料等中。同时,聚氨酯是从原油和光气中获得的,它的碳足迹很大,而且会慢慢腐烂。

为了生产这种新材料,研究人员使用了从工业加工留下的鲑鱼块中提取的脂肪。

化学家已经开发出一种将鱼油转化为聚氨酯类聚合物的方法。 首先,他们向脂肪中添加氧气以形成环氧化物。 然后将环氧化物与二氧化碳混合。 所得分子与含氮胺结合,产生一种新材料。

新塑料没有鱼腥味。

其他有趣的新闻:

▪ 带有电子墨水显示屏的路标

▪ 大众高尔夫新一代

▪ 太阳能发电厂

▪ 大脑植入物将想法转化为文字

▪ 太空中最冷的地方

科技、新电子资讯

 

免费技术图书馆的有趣材料:

▪ 网站“电力初学者”部分。 文章精选

▪ 罗西南特文章。 流行表达

▪ 文章 日历和一副纸牌有什么相似之处? 详细解答

▪ 文章白根。 传说、栽培、使用方法

▪ 文章关于 LED 的小心。 无线电电子电气工程百科全书

▪ 文章货币幻想。 焦点秘密

留下您对本文的评论:

Имя:


电子邮件(可选):


点评:





本页所有语言

主页 | 图书馆 | 用品 | 网站地图 | 网站评论

www.diagram.com.ua

www.diagram.com.ua
2000-2024