ESP32Arduino学习(二).魔法音效

介绍

使用光线传感器的值的变化.PWM控制蜂鸣器发出有趣的声音

准备材料

  1. QHC02-ESP32主控板
  2. C01光线声音传感器
  3. 连接线

连接

在这里插入图片描述

程序编写

int photopin = 12; // 光敏传感器连接引脚定义
int photValue; // 光敏电阻读数
int buzzerPin = 4; // 蜂鸣器引脚定义
long buzzerFreq; // 蜂鸣器频率
// 调整这些值发出不同的声音变化:
long buzzMAX = 2500; // 蜂鸣器最大频率
long photoMAX = 1023; //光线传感器最大值

void setup() {
  pinMode(buzzerPin, OUTPUT); // 设置蜂鸣器为输出模式
}
void loop() {
  // 读取光线传感器的值
  photValue = analogRead(photopin); //  0-1023
  // 将光线传感器的值转化为蜂鸣器的频率
  buzzerFreq = (photValue * buzzMAX) / photoMAX;
  buzz(buzzerPin, buzzerFreq, 10);
}
void buzz(int targetPin, long frequency, long length) {
  long delayValue = 1000000 / frequency / 2;
  long numCycles = frequency * length / 1000;
  for (long i = 0; i < numCycles; i++) {
    digitalWrite(targetPin, HIGH);
    delayMicroseconds(delayValue);
    digitalWrite(targetPin, LOW);
    delayMicroseconds(delayValue);
  }
}

ESP32Arduino学习(二).魔法音效

Have fun!

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值