490|1

271

帖子

7

TA的资源

纯净的硅(初级)

 

【得捷电子Follow me第1期】第十帖 - 蜂鸣器 [复制链接]

 

本以为蜂鸣器是最简单的,但确实最难的,想要唱的出来,还得学学音乐上的事情。

板载的应该是个有源蜂鸣器,最简单的用法就是高电平发声,低电平不发生,代码如下:

from machine import Pin
import time

beep = Pin(16,Pin.OUT)
beep.on() #发声
time.sleep(2)
beep.off() #不发声

如果想产生音乐,就需要用到PWM模块。看大家调用的库里,有那么多音符就把我弄懵了,我以为只有do、re、mi、fa、sol、la、si。但是从库里看到的确实C、C#之类的。所以又补充了一下音符的知识,这次潮流了一把,问了问chatGPT。

image-20230619172537-1.png  

可以看到C音对应的频率是256hz,如果是高一个八度则是2倍的频率。

image-20230619172537-2.png  

然后就是各个音符与do、re、mi的对应关系和对应频率。因此,如果想发出do音,那么pwm的频率应该是261Hz,占空比设置成50%就行。所以发出do、re、mi、fa、sol、la、si的代码如下:

from machine import Pin,PWM
import time

yinfu = [261,293,330,349,392,440,494]

beep = PWM(Pin(16))
for i in range(7):
    beep.freq(yinfu[i])
    beep.duty_u16(0x8000)
    time.sleep(1)

beep.deinit()

如果想演奏音乐,最好是调用别的库,比如

链接已隐藏,如需查看请登录或者注册

最新回复

如果想演奏音乐,最好是调用别的库,比如 https://github.com/james1236/buzzer_music 。 有这个库,就方便了。   详情 回复 发表于 2023-6-20 07:22
 
 
 

回复
举报

5695

帖子

8

TA的资源

版主

 

如果想演奏音乐,最好是调用别的库,比如 

链接已隐藏,如需查看请登录或者注册
 。

有这个库,就方便了。

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

猜你喜欢
随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表