超级音乐家

本课使用Speaker块去驱动M5GO发出声音,制作一段音乐,使用按键控制与小伙伴们来一次大合奏游戏。学完本课你将掌握声音的原理,加深程序运行结构的了解,学习次数循环Repeat。

一、制作个人音乐

本小节将学习如何编程驱动M5GO发出声音,并制作一些简单的音乐。

我们每天会听到很多很多的声音,你是否思考过,为什么会有不同的声音?声音是怎么产生的?

物理小实验:我们可以把尺子放在桌边并将一小段伸出桌外,用手去拨动尺子,当尺子伸出桌面的部分较多时,拨动后尺子摆动缓慢且发出的声音低沉,当尺子伸出桌面较少时,拨动后尺子摆动快速且发出声音高亮。

实验分析:通过拨动尺子使其震动,验证了“声音是由震动产生的”这一物理原理,尺子震动的速度也就是我们所说的“频率”,当频率越高,则音调越高,一般人的听力范围为20H到20KH,大小(超声波)或小于(次声波)这个范围的声音,我们无法听到。

1.音调与频率

了解了声音的原理,我们开始使用Speaker块来驱动M5GO发出声音,点击程序块菜单中的Speaker选项,将“Speaker beep freq”块拖动到编程区域,并连接到“Setup”,点击块上的参数框,可以修改声音的“频率”、持续时间“,尝试修改不同的数字并运行程序,听听声音有什么不同吧。

在一些乐谱上,能够看到一些音符,像是”C-D-E-F-G-A-B“,事实上这些音符只是对不同频率声音的称呼。

在Speaker选项中,也提供了发出指定音调的块“Play tone”,将它添加到程序中,点击块上的三角按钮选择不同的音调,还可以设定它的节拍。


我们通过一个程序来测试频率与音调的关系。


使用“Play tone”制作一小段音乐。


当我们想要编写一段长的音乐时,其中会有很多重复的小节,通过“Repeat“块,可使其包括的程序块重复执行指定的次数。


下面的两个程序,执行的效果是一样的,不同的是,使用了”Repeat“的程序,变得更加精简且易懂。

在编程过程中,除了实现功能以外,还要有清晰的结构与可读性,这样才称得上是一个好程序。


二、大合唱

使用按键控制与“Play tone”块,你可以与几个小伙伴一起,每个人分别代表一个或者多个音符,配合的,来一场大合奏。


 


评论:
相关文章
ESP32 WebServer库处理表单请求

本文主要讲解WebServer库如何来处理表单请求。



在esp32上运行WebServer

WebServer是非常常用的一个功能,在设备上使用该功能可以直接通过浏览器访问和操作设备。


Arduino-ESP32与ESP-IDF的版本对应表

Arduino-ESP32与ESP-IDF的版本对应表。


Arduino-ESP32文件系统全解析:SPIFFS、LittleFS、SD卡操作

Arduino-ESP32提供了多种文件系统解决方案,本文将深入解析SPIFFS、LittleFS和SD卡三种主流存储方案,帮助你做出最佳选择。


ESP32-P4-WIFI6开发板

ESP32-P4-WIFI6-DEV-KIT是一款微雪(Waveshare)设计的基于 ESP32-P4 的多媒体开发板,并集成 ESP32-C6,支持 Wi-Fi 6 和 BLE 5 无线连接。它提供丰富的人机交互接口,包括 MIPI-CSI (集成图像信号处理器 ISP)、MIPI-DSI、SPI、I2S、I2C、LED PWM、MCPWM、RMT、ADC、UART 和 TWAI 等。


ESP-Hosted 入门介绍 &使用指南

ESP-Hosted 解决方案提供了将 ESP 板用作 Wi-Fi 和 Bluetooth/BLE 连接的通信处理器的方法。


设备上云太麻烦?ESP-Hosted一站触达!

ESP-Hosted 提供了一种将ESP芯片和模组用作通信协处理器的解决方案,该解决方案为主机微处理器或微控制器提供无线连接,使主机能够与其他设备通信。简单来说为网卡方案。


ESP32 + Arduino使用TFT_eSPI库

Arduino+ESP32上使用TFT_eSPI库快速点亮这个屏幕,驱动芯片ST7789


ESP32 利用 SPI 连通 TFT 彩屏

本文给出了一个ESP32与SPI 接口TFT显示屏接线的详细说明,供大家参考。