小安派Arduino外设系列-持续更新

[复制链接]
查看1751 | 回复13 | 2023-12-8 21:40:23 | 显示全部楼层 |阅读模式
本帖最后由 Ject 于 2023-12-9 13:51 编辑


同步更新
  1. https://github.com/huhututu0599/bl618_arduino_Test.git
复制代码

1、无源蜂鸣器
直接上代码
  1. #define buzzerPin 31 // 将蜂鸣器连接到Arduino的31号引脚

  2. // 定义音符频率
  3. #define NOTE_D4  294
  4. #define NOTE_E4  330
  5. #define NOTE_G4  392
  6. #define NOTE_A4  440
  7. #define NOTE_B4  494
  8. #define NOTE_D5  587
  9. #define NOTE_E5  659
  10. #define NOTE_G5  784

  11. // 定义音符时长
  12. #define NOTE_Q  500 // 四分音符
  13. #define NOTE_H  1000 // 半音符
  14. #define NOTE_W  2000 // 全音符

  15. void playNote(int noteFrequency, int noteDuration) {
  16.   int period = 1000000 / noteFrequency; // 计算音符频率的周期
  17.   int halfPeriod = period / 2; // 半个周期的时间

  18.   long numCycles = noteDuration * 1000L / period; // 计算循环次数,以便播放指定持续时间的音符

  19.   for (long i = 0; i < numCycles; i++) {
  20.     digitalWrite(buzzerPin, HIGH); // 输出高电平
  21.     delayMicroseconds(halfPeriod); // 延迟半个周期时间
  22.     digitalWrite(buzzerPin, LOW); // 输出低电平
  23.     delayMicroseconds(halfPeriod); // 延迟半个周期时间
  24.   }

  25.   delay(20); // 延迟一小段时间,留出缓冲
  26. }

  27. void setup() {
  28.   pinMode(buzzerPin, OUTPUT);
  29. }

  30. void loop() {

  31.   playNote(NOTE_G4, NOTE_H);
  32.   playNote(NOTE_A4, NOTE_Q);
  33.   playNote(NOTE_B4, NOTE_Q);
  34.   playNote(NOTE_D5, NOTE_H);
  35.   playNote(NOTE_B4, NOTE_Q);
  36.   playNote(NOTE_A4, NOTE_Q);
  37.   playNote(NOTE_G4, NOTE_H);
  38.   playNote(NOTE_E4, NOTE_H);
  39.   playNote(NOTE_D4, NOTE_Q);
  40.   playNote(NOTE_B4, NOTE_Q);

  41.   delay(3000); // 等待一段时间后重复播放
  42. }
复制代码
复制到arduino ide,连接无源蜂鸣器即可使用

本帖被以下淘专辑推荐:

回复

使用道具 举报

iiv | 2023-12-8 21:53:49 | 显示全部楼层
6,66,666,6666666,6飞了,杰哥!
回复 支持 0 反对 2

使用道具 举报

妖猊 | 2023-12-8 22:25:50 | 显示全部楼层
杰哥,七哥这样水你帖子,你能忍?
回复 支持 反对

使用道具 举报

Ject | 2023-12-8 22:36:03 | 显示全部楼层
妖猊 发表于 2023-12-8 22:25
杰哥,七哥这样水你帖子,你能忍?

我给他点个反对
回复 支持 反对

使用道具 举报

干簧管 | 2023-12-9 08:54:51 | 显示全部楼层
杰哥6
回复

使用道具 举报

WT_0213 | 2023-12-9 12:36:54 | 显示全部楼层
标题是不是少了个字母
回复 支持 反对

使用道具 举报

WT_0213 | 2023-12-9 12:45:13 | 显示全部楼层
回复

使用道具 举报

lazy | 2023-12-9 12:57:55 | 显示全部楼层
学习了
回复

使用道具 举报

bzhou830 | 2023-12-9 13:26:58 | 显示全部楼层
杰哥6
选择去发光,而不是被照亮
回复

使用道具 举报

Ject | 2023-12-9 13:51:05 | 显示全部楼层
WT_0213 发表于 2023-12-9 12:36
标题是不是少了个字母

哈哈,是的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则