MicroPython-On-ESP8266——蜂鸣器

1. 蜂鸣器

蜂鸣器和喇叭都属于发声器件,区别在于蜂鸣器是有源器件,喇叭无源。有源指的是有振荡源,靠振荡源起振输出频率,再由阻抗匹配器推动压电蜂鸣片发声。

生活中常见的座机铃声、电子闹钟、玩具、空调等都是应用了蜂鸣器发声。

喇叭自不用说,没有振荡源,发声靠驱动器带动线圈运行,从而使外面一层振动膜发声,声音频率可调。

2. 使用方法

蜂鸣器有正负两极的接线柱,直接接到直流正负极即可发声。给不同的电压,可发出不同频率的声响。

前面在学习PWM的时候,咱们知道,开发板可通GPIO管脚,在PWM模式下输出不同的电压,那这样接线就简单了,找出支持PWM模式的GPIO管脚接蜂鸣器正极,负极接到GND端就可以了。

3. 用PWM控制发声

3.1. 频率调整和占空比

音乐国标频率中,A4是440Hz的频率,C4(钢琴的中央C)是261.626Hz,就是说使用PWM的freq=262即可得到“哆”音。

占空比是设置高电平的占周期内的比例,因为歌曲每个小节后面都有一个空拍,那我们就固定空拍占空比为0,其它有音节的拍占空比大一些,为1000好了。

3.2. 曲调

这个小星星是从网上找的简谱,因为里面没有连音什么的,咱们简单处理就成了,让每拍占秒时间,拍与拍之间都要有个小停顿。

3.3. 接线与代码

这里使用nodemcu开发板上的D7(GPIO 13)做PWM接线口,原因是它距离GND端刚好间隔两个脚,在面包板上直接把蜂鸣器两个正负极插下就对应上了,不用跳线(哈哈哈~)

上代码:

from machine import Pin, PWM
import utime# 定义音调频率
tones = {'1': 262, '2': 294, '3': 330, '4': 349, '5': 392, '6': 440, '7': 494, '-': 0}
# 定义小星星旋律
melody = "1155665-4433221-5544332-5544332-1155665-4433221"# 设置D7(GPIO 13)口为IO输出,然后通过PWM控制无缘蜂鸣器发声
beeper = PWM(Pin(13, Pin.OUT), freq=0, duty=1000)for tone in melody:freq = tones[tone]if freq:beeper.init(duty=1000, freq=freq)  # 调整PWM的频率,使其发出指定的音调else:beeper.duty(0)  # 空拍时一样不上电# 停顿一下 (四四拍每秒两个音,每个音节中间稍微停顿一下)utime.sleep_ms(400)beeper.duty(0)  # 设备占空比为0,即不上电utime.sleep_ms(100)beeper.deinit()  # 释放PWM

MicroPython-On-ESP8266——有请蜂鸣器带来歌曲“小星星”相关推荐

  1. arduino 嗡鸣器 音乐_Arduino 控制蜂鸣器播放《小星星》歌曲

    这里使用的是无源蜂鸣器. 直接上程序:Arduino 控制蜂鸣器播放<小星星> int speakerPin = 9; int length = 15; // the number of ...

  2. MicroPython实现ESP8266 控制电子墨水屏(SPI)

    最近15元淘了一块电子墨水屏,合宙家的产品.看评论是可以用微雪的代码驱动,于是找了微雪的代码,顺便翻了下读取BMP的代码,做了个小DEMO玩玩.手头几个ESP32都用了,只好翻了个旧的8266去写代码 ...

  3. c语言蜂鸣器放音乐程序,单片机按键蜂鸣器演奏歌曲功能C程序

    BUZZER EQU P2.4 org    0000h        ;主程序起始地址 ajmp    main        ;跳至主程序 org    000bh        ;timer0中 ...

  4. STM32蜂鸣器播放歌曲《小星星》

    一.芯片选择及配置 利用STM32Cube软件配置芯片并生成Keil文件.(需要提前配置环境,没有此软件可以跳过此步 ) 选用SMT32F103RB芯片 配置完成,点击此处生成Keil文件. 二.ke ...

  5. arduino(13):使用ESP8266加蜂鸣器,做一个定时闹钟,督促闺女上课,上网校时间提前两分钟,唱歌提醒。超级实用。

    目录 前言 1,关于arduino 2,代码 3,总结 前言 相关arduino 全部分类: https://blog.csdn.net/freewebsys/category_8799254.htm ...

  6. micropython中文社区 socket通讯_基于MicroPython结合ESP8266模块实现TCP通信(AT指令版)...

    转载请注明文章来源,更多教程可自助参考docs.tpyboard.com,QQ技术交流群:157816561,公众号:MicroPython玩家汇 实验目的 - 学习ESP8266模块(ESP-01) ...

  7. 基于STM32F103,用蜂鸣器播放歌曲

    本文的内容,分为下面几部分: 1,参考网上例程: 2,移植,运行,查看,尽力理解代码: 3,调整测试参数: 4,添加一首歌曲. 下面详细描述一下过程: 一,参考网上例程 主要参考的是这一篇<使用 ...

  8. 无源蜂鸣器的歌曲演奏

    无源蜂鸣器的相关介绍 1. 无源内部不带震荡源,所以如果用直流信号无法令其鸣叫.必须用2K~5K的方波(建议使用PWM)去驱动它 2. 声音频率可控,可以做出"多来米发索拉西"的效 ...

  9. ESP8266+MicroPython开发:ESP8266使用硬件SPI驱动TFT屏幕(ST7735)

    由于上次模拟SPI驱动TFT屏幕太慢,所以,本次采用硬件SPI来进行驱动,但是,当我直接把对应SPI接口更换时,发现TFT屏幕驱动并没有因此得到好转,依然是非常的满,然后只能从对应花点铺色,显示字符串 ...

最新文章

  1. 0基础小白学好JAVA的5个方法
  2. contrastive loss function (papers)
  3. 潘天佑博士2014微软学生夏令营演讲:如何培养领导力
  4. Nginx学习之六:Nginx配置操作导航
  5. [转]宝文!Apple Push Notification Service (APNS)原理与实现方案
  6. 两边双虚线是什么意思_行星减速机生产厂家解析行星减速机双支撑与单支撑
  7. 文件不能自动求和_Excel求和公式函数的使用方法教程
  8. 微信小程序制作家庭记账本之一
  9. Win11画图工具没了怎么重新安装
  10. 语音播放与录音 (五分钟学会用 非常全面)
  11. standard fifo和fwft fifo的区别
  12. ICPC 昆明 单挑打铁记
  13. vue项目保存代码后浏览器页面自动更新
  14. 计算机检索常用中文数据库,常用文献信息数据库检索指南
  15. 如何彻底禁用 werfalut.exe
  16. 怎么退出自适应巡航_你的自适应巡航“全速”了吗?
  17. STM32F429第九篇之stm32f4xx_hal_rcc_ex
  18. 2019年1月1日起,国家推出新的个人所得税政策,起征点上调值5000元。也就是说税前工资扣除五险一金(五险一金数额假设是税前工资的10%) * 后如果不足5000元,则不交税。
  19. get案例 爬取百度贴吧
  20. 【视觉高级篇】27 # 如何实现简单的3D可视化图表:GitHub贡献图表的3D可视化?

热门文章

  1. 五年级计算机绘画作品,五年级儿童节绘画作品大全
  2. 避坑,在Jetson nano安装编辑openpose
  3. 蜡像 wax figure
  4. 商务部研究院信用所、启信宝联合发布《中国商务信用发展指数报告(2022)》
  5. python安装dlib遇到的错误:AttributeError:module ‘dlib’ has no attribute ‘get_frontal_face_detector’问题解决
  6. 湖北省制造业高质量发展专项资金政策!2022年各大类申报条件以及奖励补贴标准汇总
  7. 分享一篇超全的 Vue 相关的资源,值得收藏!
  8. Pywinauto基础03--控件操作
  9. 手Q体验不满意的地方之(3)——个人设置栏
  10. 【我的Android进阶之旅】你了解adb device unauthorized的原因 和 adb授权机制的中adbkey与adbkey.pub的作用吗?