简介
我们已经看到一些使用Arduino的面向应用的项目,如心率监测,机械臂,家庭自动化等有时候,我们只为了8x8x8 LED Cube,计算机手势控制等项目而开展项目。
基于Arduino的钢琴项目属于有趣的项目类别,你知道,这个项目没有任何真实世界的应用程序(至少不是直接的),但可以用来理解Arduino的某些功能(就像它使用音调的声音产生能力) ()功能)。
尽管如此,声音和音调可以提供很好的音频我们的项目中有反馈意见。
如何制作基于Arduino的钢琴?
而不是询问如何制作基于Arduino的钢琴,正确的问题应该是如何使用Arduino生成不同的音调。我们知道Arduino能够产生PWM信号。
我将使用Arduino的这个功能来产生音调。使用Arduino生成音调的另一种方法是使用函数tone()函数。
使用tone()函数,您可以生成不同频率但具有固定值的方波周期(50%)。在内部,tone()函数依赖于Arduino的定时器(或更准确的ATmega328P微控制器)。
电路图
下图显示了使用Arduino进行钢琴应用的电路图。从电路图中可以看出,它是一个相当简单的电路。
所需组件
Arduino UNO
按钮X 8
小压电蜂鸣器(或小型扬声器)
连接电线
面包板
Arduino Piano电路的设计非常简单。首先,将5V压电蜂鸣器(即其正极端子)连接到Arduino的引脚10。您必须将Piezo蜂鸣器连接到Arduino的一个PWM引脚。 Piezo蜂鸣器的另一端连接到GND。
现在,将7个按钮连接到Arduino的数字I/O引脚3到9。这些引脚用作音调输入引脚。我使用了Arduino的INTERNAL PULL UP功能,因此我没有将任何外部上拉电阻连接到这些引脚。
这些按钮的所有其他端子都是连接到GND。最后,另一个按钮连接到Arduino的引脚2,作为中断引脚。此按钮的另一端也连接到GND。
我使用了板载LED(连接到引脚13的LED)来指示常规音调播放和录制的音调之间播放。
代码
项目代码如何制作基于Arduino的钢琴如下所示。
工作
按照电路图进行连接,并将代码上传到Arduino。一旦打开电路电源,Arduino就可以接受来自按钮的输入。
每个按钮都与代码中的PWM信号相关联。按下按钮时,通过压电式蜂鸣器产生特定的PWM信号。
现在,对于录制和重复模式,使用不同的按钮播放几个音调。按下每个按钮,Arduino开始录制,即记下按钮的顺序,开启时间和关闭时间。
完成音调后,您可以按下中断按钮。一旦Arduino进入中断模式,所有先前按下的音调将通过压电蜂鸣器播放。
在正常音调播放期间,即按下按钮时,LED在引脚13上保持ON。在重复模式期间,它保持关闭状态。
这里要理解的重点是我没有使用Arduino的tone()函数。您可以尝试使用该功能生成不同频率的声音。
结论
A有趣的DIY项目名为Arduino的钢琴在这里实施。这个项目有助于理解Arduino的声音功能。虽然我没有使用tone()函数,但您可以使用该函数实现相同的结果。
-
Arduino
+关注
关注
188文章
6469浏览量
187070
发布评论请先 登录
相关推荐
评论