0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何制作基于Arduino的钢琴

454398 来源:工程师吴畏 2019-07-29 09:49 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

简介

我们已经看到一些使用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
    +关注

    关注

    190

    文章

    6527

    浏览量

    197518
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ARDUINO串口收发16进制码

    到16进制码为 1B 02 00 0A 8E 00 41 BA 40 00 42 16 FE BF 18,对收到的16进制码进行解析,可以得到正确的温度湿度值。但是用Arduino UNO向设备发送
    发表于 01-18 17:27

    UNO Q:开启Arduino的全新未来

    图源: * Arduino* 作者:Matt Campbell,贸泽电子专稿 发布日期: 2025年10月7日 Arduino UNO Q不仅是灵活UNO平台的下一代产品,更是一种全新的开发模式。双
    的头像 发表于 12-15 11:46 1218次阅读

    Arduino plc和termux esp

    Arduino plc和termux esp
    的头像 发表于 12-06 06:41 2059次阅读

    贸泽电子开售全新Arduino UNO Q单板计算机

    贸泽电子开售全新Arduino UNO Q单板计算机。Arduino UNO Q单板计算机(SBC)将高性能计算与实时控制结合,提供理想的创新平台。
    的头像 发表于 11-08 09:50 1604次阅读

    “The command 'arduino-verify-sketch' cannot be executed.错误解决方案

    “The command 'arduino-verify-sketch' cannot be executed. There are no active handlers available for the command.”
    的头像 发表于 11-08 07:13 915次阅读

    高通宣布收购 Arduino,加速普及前沿边缘计算与 AI 技术

    “  全新 Arduino UNO Q 开发板与 Arduino App Lab 将为数百万开发者带来高通 Dragonwing 处理器的强大动力。  ”   要点速览: 强强联合 :此次收购将高
    的头像 发表于 10-08 11:15 946次阅读
    高通宣布收购 <b class='flag-5'>Arduino</b>,加速普及前沿边缘计算与 AI 技术

    索尼重载设备的高质量远程制作方案和应用(2)

    索尼的远程制作可以被称之为制作级的高质量远程制作,或重载设备的高质量远程制作,远程设备结合常规系统设备,提供和本地制作类似的
    的头像 发表于 08-21 15:56 1446次阅读
    索尼重载设备的高质量远程<b class='flag-5'>制作</b>方案和应用(2)

    如何用Arduino Nano/UNO R3开发板给另一个Arduino IDE不能下载的Arduino Nano/UNO R3开发板重新烧录引导程序bootlaoder

    本文介绍了如何用能够Arduino IDE下载的Arduino Nano/UNO R3开发板给另一个Arduino IDE不能下载的Arduino Nano/UNO R3开发板重新烧录
    的头像 发表于 08-08 20:16 4000次阅读
    如何用<b class='flag-5'>Arduino</b> Nano/UNO R3开发板给另一个<b class='flag-5'>Arduino</b> IDE不能下载的<b class='flag-5'>Arduino</b> Nano/UNO R3开发板重新烧录引导程序bootlaoder

    【Milk-V Duo S 开发板免费体验】Milk-V DuoS之使用Arduino开发小核

    Milk-V DuoS之使用Arduino开发 Arduino 是一个很流行的开源硬件平台,具有简洁性、易用性和开放性等优点。它提供了丰富的库函数和示例代码,使得即使对于没有编程经验的人来说,也能够
    发表于 07-17 21:01

    Arduino与LabVIEW联合编程指南

    Arduino编程并与LabVIEW上位机结合实现设备的远程控制与数据采集。
    发表于 06-19 15:54 3次下载

    各种WIFI天线制作技巧资料

    各种WIFI 天线制作技巧资料
    发表于 06-10 15:11 0次下载

    双菱天线制作资料

    高效天线制作
    发表于 06-10 15:10 0次下载

    免费分享Arduino入门+进阶(全套例程+书籍)

    Arduino是一款开源电子原型平台,由硬件(单片机开发板)和软件(编程环境)组成,旨在让非专业用户也能轻松入门电子制作和编程。它的核心思想是简化硬件开发,通过直观的编程和模块化设计,让用户快速实现
    的头像 发表于 05-22 11:40 1343次阅读
    免费分享<b class='flag-5'>Arduino</b>入门+进阶(全套例程+书籍)

    下一代物联网:芯科科技和Arduino借助边缘AI和ML简化Matter设计和应用

    Silicon Labs(芯科科技)和Arduino宣布建立合作伙伴关系,旨在通过Arduino Nano Matter开发板(基于芯科科技的MGM240系列多协议无线模块)的两阶段合作来简化Matter协议的设计和应用
    的头像 发表于 05-19 11:15 998次阅读
    下一代物联网:芯科科技和<b class='flag-5'>Arduino</b>借助边缘AI和ML简化Matter设计和应用

    《ESP32S3 Arduino开发指南》第二章 Arduino基础知识

    完成一个电子产品的制作。这就给开源硬件的推广和普及设定了一个很高的门槛,电子爱好者需要花很多时间和精力才能开始开发和制作自己的作品。而使用Arduino能很快地完成一个电子产品的制作
    发表于 05-13 09:28