1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- /*
- *******************************************************************************
- *Copyright (c) 2022 by M5Stack
- * Equipped with M5Core sample source code
- * 配套 M5Core 示例源代码
- * Visit for more information: https://docs.m5stack.com/en/core/gray
- * 获取更多资料请访问: https://docs.m5stack.com/zh_CN/core/gray
- *
- * Describe: Speaker example. 喇叭示例
- * Date: 2021/7/21
- *******************************************************************************
- */
- #include <M5Stack.h>
- // Set the frequency of the speaker
- //喇叭相关频率设置
- #define NOTE_D0 -1
- #define NOTE_D1 294
- #define NOTE_D2 330
- #define NOTE_D3 350
- #define NOTE_D4 393
- #define NOTE_D5 441
- #define NOTE_D6 495
- #define NOTE_D7 556
- #define NOTE_DL1 147
- #define NOTE_DL2 165
- #define NOTE_DL3 175
- #define NOTE_DL4 196
- #define NOTE_DL5 221
- #define NOTE_DL6 248
- #define NOTE_DL7 278
- #define NOTE_DH1 589
- #define NOTE_DH2 661
- #define NOTE_DH3 700
- #define NOTE_DH4 786
- #define NOTE_DH5 882
- #define NOTE_DH6 990
- #define NOTE_DH7 112
- /* After M5Core is started or reset
- the program in the setUp () function will be run, and this part will only be run
- once. 在 M5Core
- 启动或者复位后,即会开始执行setup()函数中的程序,该部分只会执行一次。 */
- void setup() {
- M5.begin(); // Init M5Core. 初始化 M5Core
- M5.Power.begin(); // Init Power module. 初始化电源
- M5.Lcd.setTextSize(2); // Set the text size to 2. 设置文字大小为2
- M5.Lcd.println("M5Stack Speaker test"); // Screen printingformatted string.
- // 输出格式化字符串
- }
- /* After the program in setup() runs, it runs the program in loop()
- The loop() function is an infinite loop in which the program runs repeatedly
- 在setup()函数中的程序执行完后,会接着执行loop()函数中的程序
- loop()函数是一个死循环,其中的程序会不断的重复运行 */
- void loop() {
- M5.update(); // Read the press state of the key. 读取按键 A, B, C 的状态
- if (M5.BtnA.wasPressed()) { // Check if the key is pressed. 如果按键A被按下
- M5.Lcd.println("A wasPressed");
- M5.Speaker.tone(NOTE_DH2, 200); // Set the speaker to ring at 661Hz for
- // 200ms. 设定喇叭以661Hz频率响200ms
- } else if (M5.BtnB.wasPressed()) {
- M5.Lcd.println("B wasPressed");
- M5.Speaker.tone(NOTE_DH7); // Set the horn to continuously sound at
- // 112Hz. 设定喇叭以112Hz频率持续响
- } else if (M5.BtnC.wasPressed()) {
- M5.Lcd.println("C wasPressed");
- M5.Speaker.end(); // Turn off the speaker. 关闭喇叭
- }
- }
|