top of page

如何搭建一個聲控操作的輸入, 來啟動LED 效果及發出特技聲效

  • xlcakb
  • 2023年3月20日
  • 讀畢需時 3 分鐘


您可以遵循以下步驟開始建立聲控操作的輸入並控制LED效果和聲音效果:

確定您需要的元件:您需要一個Arduino開發板、一個麥克風模塊、一個LED燈、一個蜂鳴器和必要的連接電纜。


連接您的零件:使用適當的連接電纜將Arduino開發板與麥克風模塊、LED燈和蜂鳴器連接。您可以參考Arduino的文檔或其他教程以確定正確的連接方式。


要將麥克風連接到Arduino開發板,您需要將麥克風的引腳連接到Arduino板上的某些引腳上。以下是一些通用步驟:

  1. 查看您的麥克風模塊的引腳和特性。不同的麥克風模塊可能有不同的引腳和工作方式,請參考您所使用的模塊的文檔。

  2. 將麥克風模塊的引腳與Arduino板上的引腳連接。通常,麥克風模塊會有一個地(GND)引腳、一個正常規(+)引腳和一個音訊輸出引腳。您需要將GND引腳連接到Arduino板上的GND引腳,將正常規引腳連接到Arduino板上的5V引腳,將音訊輸出引腳連接到Arduino板上的任意模擬輸入引腳。

  3. 編寫代碼以讀取麥克風模塊的音訊輸出。您需要使用Arduino編程軟件編寫代碼以讀取麥克風模塊的音訊輸出。您可以使用Arduino庫中的"AnalogRead"函數來讀取音訊輸出,並使用其他函數來處理聲音數據。



要將揚聲器(speaker)連接到Arduino開發板,您可以使用一個輸出引腳來控制揚聲器,使其發出聲音。以下是一些通用步驟:

  1. 確認您的揚聲器的特性和引腳。不同的揚聲器可能有不同的特性和引腳,請參考您所使用的揚聲器的文檔。

  2. 將揚聲器的引腳連接到Arduino板上的引腳。揚聲器通常有兩個引腳:正極和負極。您需要將正極引腳連接到Arduino板上的一個數字輸出引腳,例如Pin 9。將負極引腳連接到Arduino板上的GND引腳。

  3. 編寫代碼以控制揚聲器。使用Arduino編程軟件編寫代碼以控制揚聲器。您可以使用Arduino庫中的"tone"函數來產生一個方波輸出,以控制揚聲器發出聲音。請確保您使用的是正確的引腳號碼和頻率。



編寫程式:使用Arduino編程軟件開始編寫代碼,以設置聲控輸入,控制LED燈效果和蜂鳴器聲音效果。您可以使用Arduino庫中提供的聲音識別庫來檢測聲音,然後編寫代碼來控制LED燈和蜂鳴器發出特效聲音。


這個聲控系統需要搭建以下三個主要的部分:

  1. 聲音輸入: 需要使用麥克風模塊將聲音輸入到Arduino板。

  2. LED 控制: 需要使用一些數字輸出引腳來控制LED的狀態。

  3. 聲音輸出: 需要使用揚聲器來發出特定的聲音效果。



下面是一些通用的步驟和示例代碼來實現這個聲控系統:


聲音輸入:

使用Arduino庫中的"AnalogRead"函數讀取麥克風模塊的音訊輸出,並將其轉換為數值。


const int MIC_PIN = A0; // 聲音輸入引腳


void setup() {

// 初始化串口

Serial.begin(9600);

}


void loop() {

// 讀取聲音輸入數值

int micValue = analogRead(MIC_PIN);


// 輸出聲音輸入數值

Serial.println(micValue);


// 等待一段時間以便下一次讀取

delay(50);

}





LED 控制:

使用Arduino庫中的"DigitalWrite"函數來控制LED的狀態。


const int LED_PIN = 9; // LED 控制引腳


void setup() {

// 初始化LED控制引腳

pinMode(LED_PIN, OUTPUT);

}


void loop() {

// 讀取聲音輸入數值

int micValue = analogRead(MIC_PIN);


// 比較聲音輸入數值

if (micValue > 500) {

// 如果聲音輸入數值大於500,開啟LED

digitalWrite(LED_PIN, HIGH);

} else {

// 否則,關閉LED

digitalWrite(LED_PIN, LOW);

}


// 等待一段時間以便下一次讀取

delay(50);

}





聲音輸出:

使用Arduino庫中的"tone"函數產生一個方波輸出,以控制揚聲器發出聲音。


const int SPEAKER_PIN = 11; // 揚聲器控制引腳


void setup() {

// 初始化揚聲器控制引腳

pinMode(SPEAKER_PIN, OUTPUT);

}


void loop() {

// 讀取聲音輸入數值

int micValue = analogRead(MIC_PIN);


// 比較聲音輸入數值

if (micValue > 500) {

// 如果聲音輸入數值大於500





調試和測試:完成代碼後,上傳到Arduino開發板,並測試您的聲控操作系統。您可以試著使用您的聲音發出指令,看看LED燈和蜂鳴器是否按照您的指令正常工作。





 
 
 

Comments


bottom of page