Arduino 音箱:如何打造一个简单的
您是否正在寻找使用 Arduino 构建的独特项目?然后,您可以制作一个 Arduino 扬声器。 Arduino 扬声器是一个音乐项目,可用于播放不同的声音。此外,如果您是 Arduino 项目的新手,那么这对您来说是一个完美的项目。
事实上,Arduino 扬声器项目只需要构建两个组件,使其成为最简单的 Arduino 电路之一。
因此,在这个 Arduino 扬声器教程中,我们将向您介绍 Arduino 扬声器的工作原理以及如何构建和编程。
你准备好了吗?开始吧!
Arduino 扬声器的工作原理是什么?
正如我们之前提到的,您可以使用 Arduino 扬声器创建许多声音应用程序。一个很好的例子包括播放各种歌曲的音乐汽车反向喇叭。并且可以通过上传新程序来改变音箱的声音。
但它究竟是如何工作的呢?
Arduino 生成频率音调并通过扬声器播放。有趣的是,不同的音调变化(音高)与正确的时间(节奏)混合在一起来创作音乐。
为了让声音通过扬声器播放,Arduino 产生一个输出信号并通过其数字引脚 3 传输。然后,连接到该引脚的扬声器将播放生成的声音。
毫无疑问,您可以通过简单的编程播放各种歌曲。此外,Arduino 程序使用 Tone() 函数来生成声音。
该程序可以在一个数字引脚上生成频率方波。另外,您可以为此频率设置持续时间。
但是,如果你不设置时长,程序会一直生成方波,直到你激活 noTone() 函数。
使用 Tone() 函数的基础知识
tone() 函数使用两个值,包括您将在 Arduino 上使用的引脚和您指定的以赫兹为单位的频率。
频率是无符号整数,其值介于 0 到 65,535 之间。但是人耳的频率应该在2000到5000之间。
下面是一个测试tone()函数的简单代码示例:
此外,您可以通过将tone() 中的第二个值更改为100、1000、10000、650000 来做一些实验,并观察它对输出声音的影响。因此,值越高,扬声器产生的音调就越高。
如何制作 Arduino 扬声器
在我们讨论如何构建 Arduino 扬声器之前,让我们先看看这个项目所需的组件:
- Arduino 板
- 压电蜂鸣器或扬声器
- 连接线
步骤
构建一个 Arduino 扬声器很容易。您所要做的就是将压电蜂鸣器或扬声器连接到 Arduino 的引脚 3。一根线将扬声器连接到引脚 3,另一根将其连接到接地引脚。
构建好你的 Arduino 扬声器后,将以下代码上传到你的 Arduino UNO:
然后,是时候创建一个 pitch.h 文件了。球场。 H 文件是一个额外的文件,其中包含音符的所有音高值。例如,C_NOTE FS4 是升 F,NOTE_C4 代表中间 C。
使用音高文件,您可以在tone() 函数中写入音符的名称,而不是写入频率。有趣的是,Brett Hagman 是音高文件的原始作者,这使得在使用tone() 过程时更容易添加声音。
要创建文件,在 Mac 上输入“Ctrl+Shift+N”或“Cmd+Shift+N”并输入以下代码:
测试您的 Arduino 扬声器
将主体上传到 Arduino 扬声器后,您应该会听到代码播放中的歌曲。您还可以通过打开串行监视器查看输出音调。
如何使用面包板制作 Arduino 压电扬声器
电路设计
以下是您在此项目中所需要的:
- Arduino 板
- 压电扬声器
- 无焊面包板
- 100 欧电阻
- 两根跳线
步骤
- 首先,在面包板上设置蜂鸣器,使其引线保持在不同的行中。
- 将正极引线(通常是红线或带 + 号的线)连接到 Arduino 的数字引脚 8。
- 将负极引线连接到欧姆电阻,然后再将其连接到接地引脚。
如何在 Arduino 扬声器上制作节拍
可以在音调之间添加延迟来制作节拍。您可以将持续时间(以毫秒为单位)与 wait() 函数一起使用来创建独特的时刻。
由于tone()函数使用了Arduino内置定时器之一,所以可以使用500毫秒作为tone()函数中的第三个值。
如果后面有 1000 毫秒的延迟,您将创建 500 毫秒的延迟。现在,该程序不会将时间加在一起。相反,它开始持续时间并同时暂停。因此,当提示音运行 500 毫秒时,您将有 500 毫秒的时间延迟离开。换句话说,您将获得 500 毫秒的声音和 500 毫秒的静音。
在 Arduino 扬声器上创建节拍可能是一个复杂的过程。但是一旦你习惯了它,你将能够有效地创造出独特的声音。
使用 Tone() 函数时的限制
让我们看看使用tone() 生成声音时可能遇到的一些缺点。
- tone() 函数不能同时在两个单独的引脚上工作。例如,如果您有两个单独的扬声器并将它们连接到两个不同的引脚。两个扬声器不能同时播放。相反,由于tone() 函数,他们一次只能播放一个。
此外,如果你想在另一个引脚上使用tone()函数,你必须在最后一个引脚上用noTone()函数去激活该函数。
- 此外,您不能在针脚 3 和 11 上使用带有 analogWrite() 函数的tone()。您只会得到一些不希望的结果。这些功能是不兼容的,因为它们在引脚 3 或 11 上具有相同的内置定时器。但是,您可以尝试听听它产生的那种噪音。
- 您可以使用tone() 函数生成的最低色调值为31 HZ。此外,您可以在函数中输入 31 和其他较小的值,但您不会得到良好的输出表示。
遗言
Arduino 扬声器是任何人都可以制作的最简单的 Arduino 项目之一。该过程只涉及一个额外的组件(除非您使用面包板)来完全构建项目。
最重要的是,Arduino 扬声器可以根据您对电路的编程方式产生各种声音。 Arduino 扬声器还使用tone() 函数来创建声音。同时,它也有其局限性。但是,它仍然是在 Arduino 扬声器上生成声音的最佳代码之一。
你有任何问题吗?不要犹豫,我们很乐意为您提供帮助。
工业技术