天天看点

ESP32Arduino学习(二).魔法音效

介绍

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

准备材料

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

连接

ESP32Arduino学习(二).魔法音效

程序编写

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!

继续阅读