一.硬件
esp32 、MAX4466声音传感器模块、LED 6个。
二.代码实现
#include <Arduino.h>
#define light_num 6//定义灯泡数量;
#define voice_pin 8
int pin_light[]={2,3,4,5,6,7};//定义引脚;
void setup() {
for(int i=0;i<light_num;i++){
pinMode(pin_light[i],OUTPUT);
digitalWrite(pin_light[i],LOW);
}//初始化引脚;
}
void loop() {
int voice_volume;
int voice_grade;
int gap=1024/light_num;//1024为MAX4466的最大输出;
voice_volume=analogRead(voice_pin);//获取第八引脚的输入;
voice_grade=voice_volume/gap;//音量赋级;
for(int i=0;i<voice_grade;i++){
digitalWrite(pin_light[i],HIGH);
//此处可加延时效果;
}//按照音量等级亮灯;
for(int i=0;i<light_num;i++){
digitalWrite(pin_light[i],LOW);
}
delay(150);//每150ms刷新一次;
}