本小节将学习如何编程驱动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”块,你可以与几个小伙伴一起,每个人分别代表一个或者多个音符,配合的,来一场大合奏。
本文主要讲解WebServer库如何来处理表单请求。
WebServer是非常常用的一个功能,在设备上使用该功能可以直接通过浏览器访问和操作设备。
Arduino-ESP32与ESP-IDF的版本对应表。
Arduino-ESP32提供了多种文件系统解决方案,本文将深入解析SPIFFS、LittleFS和SD卡三种主流存储方案,帮助你做出最佳选择。
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 板用作 Wi-Fi 和 Bluetooth/BLE 连接的通信处理器的方法。
ESP-Hosted 提供了一种将ESP芯片和模组用作通信协处理器的解决方案,该解决方案为主机微处理器或微控制器提供无线连接,使主机能够与其他设备通信。简单来说为网卡方案。
Arduino+ESP32上使用TFT_eSPI库快速点亮这个屏幕,驱动芯片ST7789
本文给出了一个ESP32与SPI 接口TFT显示屏接线的详细说明,供大家参考。