Micropython学习交流群 学习QQ群:786510434 提供多种固件下载和学习交流。

Micropython-扇贝物联 QQ群:31324057 扇贝物联是一个让你与智能设备沟通更方便的物联网云平台

Micropython学习交流群 学习QQ群:468985481 学习交流ESP8266、ESP32、ESP8285、wifi模块开发交流、物联网。

Micropython老哥俩的IT农场分享QQ群:929132891 为喜欢科创制作的小白们分享一些自制的计算机软硬件免费公益课程,由两位多年从事IT研发的中年大叔发起。

Micropython ESP频道

micropython esp32 扬声器模块播放声音


from machine import DAC, Pin, PWM

import math

import time


#创建音乐旋律列表

melody = [

330, 330, 330, 262, 330, 392, 196, 262, 196, 165, 220, 247, 233, 220, 196, 330, 392, 

440, 349, 392, 330, 262, 294, 247, 262, 196, 165, 220, 247, 233, 220, 196, 330, 392,

440, 349, 392, 330, 262, 294, 247, 392, 370, 330, 311, 330, 208, 220, 262, 220, 262,

294, 392, 370, 330, 311, 330, 523, 523, 523, 392, 370, 330, 311, 330, 208, 220, 262,

220, 262, 294, 311, 294, 262, 262, 262, 262, 262, 294, 330, 262, 220, 196, 262, 262,

262, 262, 294, 330, 262, 262, 262, 262, 294, 330, 262, 220, 196]


#创建音调持续时间列表

noteDurations = [

8,4,4,8,4,2,2,

3,3,3,4,4,8,4,8,8,8,4,8,4,3,8,8,3,

3,3,3,4,4,8,4,8,8,8,4,8,4,3,8,8,2,

8,8,8,4,4,8,8,4,8,8,3,8,8,8,4,4,4,8,2,

8,8,8,4,4,8,8,4,8,8,3,3,3,1,

8,4,4,8,4,8,4,8,2,8,4,4,8,4,1,

8,4,4,8,4,8,4,8,2

]


music=PWM(Pin(25))                     

music.duty(512)


for i in range(len(melody)):              #计算melody列表元素的数量并执行循环

  noteDuration = 800/noteDurations[i]

  music.freq(melody[i]*2)

  time.sleep_ms(int(noteDuration * 1.30)) #为每个音调设定时间


music.deinit()

实验效果

   成功下载程序后,你可以听到超级玛丽的经典音乐。



推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 ESP56.com All Rights Reserved

执行时间: 0.0077700614929199 seconds