电子说
第1步:工具和材料
Arduino Uno
声音检测板
RGB LED
3个100Ω电阻器
面包板
跳线电缆
步骤2:将声音检测板连接到Arduino
信封输出让您可以通过简单地测量声音来轻松读取声音的幅度模拟电压。可以使用通孔电阻调节增益,以改变二进制(栅极)输出引脚的阈值。检查下面的连接指南,了解有关设置增益的更多信息。
步骤3:将RGB LED连接到Arduino
将声音传感器的信封引脚连接到Arduino的模拟引脚0。这将是分析声波振幅时声级的指标。
使用跳线将RGB LED(最长引脚)的接地引脚连接到Arduino的GND引脚。
将剩余的三个引脚连接到三个100Ω电阻,然后连接到Arduino的数字引脚4,6和9.
通过连接3.3V将电源连接到音板从Arduino到声音探测器板的引脚和GND引脚。请注意,Arduino有多个接地引脚,它们彼此相同。
第4步:编码
//pin variables const int redPin = 4;
const int greenPin = 6;
const int bluePin = 9;
const int soundPin = 0; //variables for storing raw sound and scaled value
int sound;
int scale; void setup()
{
//start the serial port a@ 9600bps
Serial.begin(9600);
//set RGB pins to OUTPUT
pinMode(redPin, OUTPUT);
pinMode(greenPin, OUTPUT);
pinMode(bluePin, OUTPUT);
} void loop()
{
//read and store the audio from Envelope pin
sound = analogRead(soundPin);
//map sound which in a quiet room a clap is 300
//from 0 to 3 to be used with switch case
scale = map(sound, 0, 300, 0, 3); //print values over the serial port for debugging
Serial.print(sound);
Serial.print(“ ”);
Serial.println(scale); //switch case on scaled value
switch (scale)
{
//if 0 RGB = Blue
case 0:
digitalWrite(redPin, LOW);
digitalWrite(greenPin, LOW);
digitalWrite(bluePin, HIGH);
break;
//if 1 RGB = Green
case 1:
digitalWrite(redPin, LOW);
digitalWrite(greenPin, HIGH);
digitalWrite(bluePin, LOW);
break;
//if 2 RGB = Yellow
case 2:
digitalWrite(redPin, HIGH);
digitalWrite(greenPin, HIGH);
digitalWrite(bluePin, LOW);
break;
//if 3 RGB = Red
case 3:
digitalWrite(redPin, HIGH);
digitalWrite(greenPin, LOW);
digitalWrite(bluePin, LOW);
break;
//default off
default:
digitalWrite(redPin, LOW);
digitalWrite(greenPin, LOW);
digitalWrite(bluePin, LOW);
break;
}
}
第5步:声级演示
我的房间非常拍摄这张照片的时候很安静,所以LED的颜色显示为蓝色。它变得越响,例如在背景中播放音乐或拍手将颜色变为绿色。
全部0条评论
快来发表一下你的评论吧 !