RGB音量指示器的制作

电子说

1.3w人已加入

描述

第1步:工具和材料

led

Arduino Uno

声音检测板

RGB LED

3个100Ω电阻器

面包板

跳线电缆

步骤2:将声音检测板连接到Arduino

led

信封输出让您可以通过简单地测量声音来轻松读取声音的幅度模拟电压。可以使用通孔电阻调节增益,以改变二进制(栅极)输出引脚的阈值。检查下面的连接指南,了解有关设置增益的更多信息。

步骤3:将RGB LED连接到Arduino

led

led

将声音传感器的信封引脚连接到Arduino的模拟引脚0。这将是分析声波振幅时声级的指标。

使用跳线将RGB LED(最长引脚)的接地引脚连接到Arduino的GND引脚。

将剩余的三个引脚连接到三个100Ω电阻,然后连接到Arduino的数字引脚4,6和9.

通过连接3.3V将电源连接到音板从Arduino到声音探测器板的引脚和GND引脚。请注意,Arduino有多个接地引脚,它们彼此相同。

第4步:编码

led

//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的颜色显示为蓝色。它变得越响,例如在背景中播放音乐或拍手将颜色变为绿色。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分