第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的顏色顯示為藍色。它變得越響,例如在背景中播放音樂或拍手將顏色變為綠色。
-
led
+關注
關注
242文章
23321瀏覽量
661887 -
指示器
+關注
關注
0文章
251瀏覽量
38311 -
Arduino
+關注
關注
188文章
6474瀏覽量
187430 -
聲音檢測
+關注
關注
0文章
6瀏覽量
9941
發布評論請先 登錄
相關推薦
評論